938 |
15 Jul 05 |
samuel |
1 |
/* |
938 |
15 Jul 05 |
samuel |
$Id$ |
938 |
15 Jul 05 |
samuel |
3 |
|
3675 |
16 Aug 07 |
jari |
Copyright (C) 2005 Samuel Andersson, Johan Enell, Nicklas Nordborg |
4889 |
06 Apr 09 |
nicklas |
Copyright (C) 2006 Jari Häkkinen, Nicklas Nordborg, Martin Svensson, Gregory Vincic |
3675 |
16 Aug 07 |
jari |
Copyright (C) 2007 Nicklas Nordborg |
938 |
15 Jul 05 |
samuel |
7 |
|
2304 |
22 May 06 |
jari |
This file is part of BASE - BioArray Software Environment. |
2304 |
22 May 06 |
jari |
Available at http://base.thep.lu.se/ |
938 |
15 Jul 05 |
samuel |
10 |
|
938 |
15 Jul 05 |
samuel |
BASE is free software; you can redistribute it and/or |
938 |
15 Jul 05 |
samuel |
modify it under the terms of the GNU General Public License |
4479 |
05 Sep 08 |
jari |
as published by the Free Software Foundation; either version 3 |
938 |
15 Jul 05 |
samuel |
of the License, or (at your option) any later version. |
938 |
15 Jul 05 |
samuel |
15 |
|
938 |
15 Jul 05 |
samuel |
BASE is distributed in the hope that it will be useful, |
938 |
15 Jul 05 |
samuel |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
938 |
15 Jul 05 |
samuel |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
938 |
15 Jul 05 |
samuel |
GNU General Public License for more details. |
938 |
15 Jul 05 |
samuel |
20 |
|
938 |
15 Jul 05 |
samuel |
You should have received a copy of the GNU General Public License |
4517 |
11 Sep 08 |
jari |
along with BASE. If not, see <http://www.gnu.org/licenses/>. |
938 |
15 Jul 05 |
samuel |
23 |
*/ |
938 |
15 Jul 05 |
samuel |
24 |
package net.sf.basedb.core; |
938 |
15 Jul 05 |
samuel |
25 |
|
4379 |
05 Aug 08 |
nicklas |
26 |
import net.sf.basedb.core.data.JobData; |
2601 |
29 Aug 06 |
martin |
27 |
import net.sf.basedb.core.plugin.GuiContext; |
1212 |
02 Sep 05 |
nicklas |
28 |
import net.sf.basedb.core.plugin.Plugin; |
1212 |
02 Sep 05 |
nicklas |
29 |
import net.sf.basedb.core.plugin.Request; |
938 |
15 Jul 05 |
samuel |
30 |
|
938 |
15 Jul 05 |
samuel |
31 |
import java.util.List; |
1212 |
02 Sep 05 |
nicklas |
32 |
import java.util.Map; |
1212 |
02 Sep 05 |
nicklas |
33 |
import java.util.HashMap; |
7321 |
05 Apr 17 |
nicklas |
34 |
import java.io.Serializable; |
1212 |
02 Sep 05 |
nicklas |
35 |
import java.util.Collections; |
938 |
15 Jul 05 |
samuel |
36 |
|
938 |
15 Jul 05 |
samuel |
37 |
/** |
1311 |
09 Sep 05 |
nicklas |
Configures or executes a plugin. You will get an instance of |
1376 |
22 Sep 05 |
nicklas |
a subclass to this class when: |
1238 |
05 Sep 05 |
nicklas |
40 |
|
1238 |
05 Sep 05 |
nicklas |
<ol> |
1238 |
05 Sep 05 |
nicklas |
<li>You want to configure a plugin: {@link PluginConfiguration#configure()} |
1924 |
07 Feb 06 |
gregory |
<li>You want to configure a job: {@link Job#configure(GuiContext)} |
1635 |
18 Nov 05 |
nicklas |
<li>You want to execute a job: {@link Job#execute(ProgressReporter, String)} |
1238 |
05 Sep 05 |
nicklas |
</ol> |
1311 |
09 Sep 05 |
nicklas |
46 |
|
1376 |
22 Sep 05 |
nicklas |
@see PluginConfigurationRequest |
1376 |
22 Sep 05 |
nicklas |
@see PluginExecutionRequest |
1238 |
05 Sep 05 |
nicklas |
@author Nicklas |
938 |
15 Jul 05 |
samuel |
@version 2.0 |
1238 |
05 Sep 05 |
nicklas |
@base.modified $Date$ |
938 |
15 Jul 05 |
samuel |
52 |
*/ |
1376 |
22 Sep 05 |
nicklas |
53 |
abstract class PluginRequest<P extends Plugin> |
938 |
15 Jul 05 |
samuel |
54 |
{ |
938 |
15 Jul 05 |
samuel |
55 |
|
1212 |
02 Sep 05 |
nicklas |
56 |
private final SessionControl sc; |
1211 |
02 Sep 05 |
enell |
57 |
|
1376 |
22 Sep 05 |
nicklas |
58 |
private String command; |
1376 |
22 Sep 05 |
nicklas |
59 |
|
7329 |
07 Apr 17 |
nicklas |
60 |
private final Serializable state; |
7321 |
05 Apr 17 |
nicklas |
61 |
|
1212 |
02 Sep 05 |
nicklas |
62 |
private final Map<String, List<?>> requestParameters; |
1212 |
02 Sep 05 |
nicklas |
63 |
|
1730 |
20 Dec 05 |
nicklas |
64 |
private final P plugin; |
1212 |
02 Sep 05 |
nicklas |
65 |
|
1730 |
20 Dec 05 |
nicklas |
66 |
private final ParameterValuesImpl configurationParameters; |
1212 |
02 Sep 05 |
nicklas |
67 |
|
1766 |
13 Jan 06 |
nicklas |
68 |
private final PluginConfiguration pluginConfiguration; |
1212 |
02 Sep 05 |
nicklas |
69 |
|
2652 |
19 Sep 06 |
martin |
70 |
private final PluginDefinition pluginDefinition; |
2652 |
19 Sep 06 |
martin |
71 |
|
1730 |
20 Dec 05 |
nicklas |
72 |
private final ParameterValuesImpl jobParameters; |
1730 |
20 Dec 05 |
nicklas |
73 |
|
2348 |
01 Jun 06 |
nicklas |
74 |
private final Map<String, PluginParameter<?>> parameterInfo; |
2348 |
01 Jun 06 |
nicklas |
75 |
|
1759 |
12 Jan 06 |
nicklas |
76 |
private final Job job; |
1730 |
20 Dec 05 |
nicklas |
77 |
|
1730 |
20 Dec 05 |
nicklas |
78 |
PluginRequest(SessionControl sc, P plugin, String command, |
1766 |
13 Jan 06 |
nicklas |
79 |
PluginConfiguration pluginConfiguration, ParameterValuesImpl configurationParameters, |
2652 |
19 Sep 06 |
martin |
80 |
Job job, ParameterValuesImpl jobParameters, PluginDefinition pluginDefinition) |
1212 |
02 Sep 05 |
nicklas |
81 |
{ |
1212 |
02 Sep 05 |
nicklas |
82 |
this.sc = sc; |
1730 |
20 Dec 05 |
nicklas |
83 |
this.plugin = plugin; |
1212 |
02 Sep 05 |
nicklas |
84 |
this.command = command; |
7360 |
10 May 17 |
nicklas |
85 |
this.state = job == null ? null : job.loadState(plugin.getClass().getClassLoader()); |
1766 |
13 Jan 06 |
nicklas |
86 |
this.pluginConfiguration = pluginConfiguration; |
2652 |
19 Sep 06 |
martin |
87 |
this.pluginDefinition = pluginDefinition; |
1730 |
20 Dec 05 |
nicklas |
88 |
this.configurationParameters = configurationParameters; |
1759 |
12 Jan 06 |
nicklas |
89 |
this.job = job; |
1730 |
20 Dec 05 |
nicklas |
90 |
this.jobParameters = jobParameters; |
1212 |
02 Sep 05 |
nicklas |
91 |
this.requestParameters = new HashMap<String, List<?>>(); |
2348 |
01 Jun 06 |
nicklas |
92 |
this.parameterInfo = new HashMap<String, PluginParameter<?>>(); |
5038 |
07 Aug 09 |
nicklas |
93 |
plugin.init(sc.getPluginSessionControl(pluginDefinition, job), configurationParameters, jobParameters); |
1212 |
02 Sep 05 |
nicklas |
94 |
} |
1212 |
02 Sep 05 |
nicklas |
95 |
|
2854 |
02 Nov 06 |
nicklas |
96 |
PluginRequest(PluginRequest<? extends P> copyFrom, String command) |
2854 |
02 Nov 06 |
nicklas |
97 |
{ |
2854 |
02 Nov 06 |
nicklas |
98 |
this.sc = copyFrom.sc; |
2854 |
02 Nov 06 |
nicklas |
99 |
this.plugin = copyFrom.plugin; |
2854 |
02 Nov 06 |
nicklas |
100 |
this.command = command; |
7321 |
05 Apr 17 |
nicklas |
101 |
this.state = copyFrom.state; |
2854 |
02 Nov 06 |
nicklas |
102 |
this.pluginConfiguration = copyFrom.pluginConfiguration; |
2854 |
02 Nov 06 |
nicklas |
103 |
this.pluginDefinition = copyFrom.pluginDefinition; |
2854 |
02 Nov 06 |
nicklas |
104 |
this.configurationParameters = copyFrom.configurationParameters; |
2854 |
02 Nov 06 |
nicklas |
105 |
this.job = copyFrom.job; |
2854 |
02 Nov 06 |
nicklas |
106 |
this.jobParameters = copyFrom.jobParameters; |
2854 |
02 Nov 06 |
nicklas |
107 |
this.requestParameters = new HashMap<String, List<?>>(); |
2854 |
02 Nov 06 |
nicklas |
108 |
this.parameterInfo = new HashMap<String, PluginParameter<?>>(); |
2854 |
02 Nov 06 |
nicklas |
109 |
} |
2854 |
02 Nov 06 |
nicklas |
110 |
|
1238 |
05 Sep 05 |
nicklas |
111 |
/** |
4801 |
05 Mar 09 |
nicklas |
@return The SessionControl used in this request |
4801 |
05 Mar 09 |
nicklas |
@since 2.11 |
4801 |
05 Mar 09 |
nicklas |
114 |
*/ |
4801 |
05 Mar 09 |
nicklas |
115 |
public SessionControl getSessionControl() |
4801 |
05 Mar 09 |
nicklas |
116 |
{ |
4801 |
05 Mar 09 |
nicklas |
117 |
return sc; |
4801 |
05 Mar 09 |
nicklas |
118 |
} |
4801 |
05 Mar 09 |
nicklas |
119 |
|
4801 |
05 Mar 09 |
nicklas |
120 |
/** |
1311 |
09 Sep 05 |
nicklas |
Get the command this request will issue to the plugin when |
1311 |
09 Sep 05 |
nicklas |
{@link #invoke()} is called. |
1311 |
09 Sep 05 |
nicklas |
123 |
*/ |
1311 |
09 Sep 05 |
nicklas |
124 |
public String getCommand() |
1311 |
09 Sep 05 |
nicklas |
125 |
{ |
1311 |
09 Sep 05 |
nicklas |
126 |
return command; |
1311 |
09 Sep 05 |
nicklas |
127 |
} |
1376 |
22 Sep 05 |
nicklas |
128 |
|
1311 |
09 Sep 05 |
nicklas |
129 |
/** |
1376 |
22 Sep 05 |
nicklas |
Set the value of a request parameter to a single value. Normally a plugin |
1376 |
22 Sep 05 |
nicklas |
validates the value using the information available in the |
1376 |
22 Sep 05 |
nicklas |
{@link RequestInformation} object. |
1376 |
22 Sep 05 |
nicklas |
133 |
|
1376 |
22 Sep 05 |
nicklas |
@param name The name of the parameter |
1376 |
22 Sep 05 |
nicklas |
@param value The value of the parameter |
1635 |
18 Nov 05 |
nicklas |
@see PluginConfigurationRequest#getRequestInformation() |
1238 |
05 Sep 05 |
nicklas |
137 |
*/ |
1376 |
22 Sep 05 |
nicklas |
138 |
public void setParameterValue(String name, Object value) |
1219 |
05 Sep 05 |
nicklas |
139 |
{ |
1376 |
22 Sep 05 |
nicklas |
140 |
requestParameters.put(name, Collections.singletonList(value)); |
1219 |
05 Sep 05 |
nicklas |
141 |
} |
1212 |
02 Sep 05 |
nicklas |
142 |
|
1238 |
05 Sep 05 |
nicklas |
143 |
/** |
1376 |
22 Sep 05 |
nicklas |
Set the value of a request parameter to a list of values. Normally a plugin |
1376 |
22 Sep 05 |
nicklas |
validates the value using the information available in the |
1376 |
22 Sep 05 |
nicklas |
{@link RequestInformation} object. |
1376 |
22 Sep 05 |
nicklas |
147 |
|
1376 |
22 Sep 05 |
nicklas |
@param name The name of the parameter |
1376 |
22 Sep 05 |
nicklas |
@param values The values of the parameter |
1635 |
18 Nov 05 |
nicklas |
@see PluginConfigurationRequest#getRequestInformation() |
1376 |
22 Sep 05 |
nicklas |
151 |
*/ |
1376 |
22 Sep 05 |
nicklas |
152 |
public void setParameterValues(String name, List<?> values) |
1376 |
22 Sep 05 |
nicklas |
153 |
{ |
1376 |
22 Sep 05 |
nicklas |
154 |
requestParameters.put(name, values); |
1376 |
22 Sep 05 |
nicklas |
155 |
} |
1730 |
20 Dec 05 |
nicklas |
156 |
|
2745 |
18 Oct 06 |
nicklas |
157 |
public Object getCurrentParameterValue(String name) |
2745 |
18 Oct 06 |
nicklas |
158 |
{ |
2745 |
18 Oct 06 |
nicklas |
159 |
List<?> values = getCurrentParameterValues(name); |
2745 |
18 Oct 06 |
nicklas |
160 |
return values == null || values.size() == 0 ? null : values.get(0); |
2745 |
18 Oct 06 |
nicklas |
161 |
} |
2745 |
18 Oct 06 |
nicklas |
162 |
|
3586 |
20 Jul 07 |
nicklas |
163 |
/** |
3586 |
20 Jul 07 |
nicklas |
Get the values that are currently stored in the job or plugin configuration |
3586 |
20 Jul 07 |
nicklas |
related to this request. This method will first check the job and then the |
3586 |
20 Jul 07 |
nicklas |
plugin configuration. |
3586 |
20 Jul 07 |
nicklas |
@param name The name of the parameter |
3586 |
20 Jul 07 |
nicklas |
@return The parameter values, or null if no parameter with the given name |
3586 |
20 Jul 07 |
nicklas |
exists |
3586 |
20 Jul 07 |
nicklas |
170 |
*/ |
1730 |
20 Dec 05 |
nicklas |
171 |
public List<?> getCurrentParameterValues(String name) |
1730 |
20 Dec 05 |
nicklas |
172 |
{ |
1730 |
20 Dec 05 |
nicklas |
173 |
List<?> values = null; |
1730 |
20 Dec 05 |
nicklas |
174 |
if (jobParameters != null) |
1730 |
20 Dec 05 |
nicklas |
175 |
{ |
1730 |
20 Dec 05 |
nicklas |
176 |
values = jobParameters.getValues(name); |
1730 |
20 Dec 05 |
nicklas |
177 |
} |
3586 |
20 Jul 07 |
nicklas |
178 |
if (values == null && configurationParameters != null) |
1730 |
20 Dec 05 |
nicklas |
179 |
{ |
1730 |
20 Dec 05 |
nicklas |
180 |
values = configurationParameters.getValues(name); |
1730 |
20 Dec 05 |
nicklas |
181 |
} |
1730 |
20 Dec 05 |
nicklas |
182 |
return values; |
1730 |
20 Dec 05 |
nicklas |
183 |
} |
1376 |
22 Sep 05 |
nicklas |
184 |
|
1730 |
20 Dec 05 |
nicklas |
185 |
|
3586 |
20 Jul 07 |
nicklas |
186 |
/** |
3586 |
20 Jul 07 |
nicklas |
Get the values that are currently stored in the plugin configuration |
3586 |
20 Jul 07 |
nicklas |
related to this request. |
3586 |
20 Jul 07 |
nicklas |
@param name The name of the parameter |
3586 |
20 Jul 07 |
nicklas |
@return The parameter values, or null if no parameter with the given name |
3586 |
20 Jul 07 |
nicklas |
exists or if this request isn't associated with a plugin configuration |
3586 |
20 Jul 07 |
nicklas |
192 |
*/ |
1730 |
20 Dec 05 |
nicklas |
193 |
public List<?> getCurrentConfigurationParameterValues(String name) |
1730 |
20 Dec 05 |
nicklas |
194 |
{ |
1730 |
20 Dec 05 |
nicklas |
195 |
List<?> values = null; |
1730 |
20 Dec 05 |
nicklas |
196 |
if (configurationParameters != null) |
1730 |
20 Dec 05 |
nicklas |
197 |
{ |
1730 |
20 Dec 05 |
nicklas |
198 |
values = configurationParameters.getValues(name); |
1730 |
20 Dec 05 |
nicklas |
199 |
} |
1730 |
20 Dec 05 |
nicklas |
200 |
return values; |
1730 |
20 Dec 05 |
nicklas |
201 |
} |
1730 |
20 Dec 05 |
nicklas |
202 |
|
3586 |
20 Jul 07 |
nicklas |
203 |
/** |
3586 |
20 Jul 07 |
nicklas |
Get the values that are currently stored in the job related to this |
3586 |
20 Jul 07 |
nicklas |
request. |
3586 |
20 Jul 07 |
nicklas |
@param name The name of the parameter |
3586 |
20 Jul 07 |
nicklas |
@return The parameter values, or null if no parameter with the given name |
3586 |
20 Jul 07 |
nicklas |
exists or if this request isn't associated with a job |
3586 |
20 Jul 07 |
nicklas |
209 |
*/ |
1730 |
20 Dec 05 |
nicklas |
210 |
public List<?> getCurrentJobParameterValues(String name) |
1730 |
20 Dec 05 |
nicklas |
211 |
{ |
1730 |
20 Dec 05 |
nicklas |
212 |
List<?> values = null; |
1730 |
20 Dec 05 |
nicklas |
213 |
if (jobParameters != null) |
1730 |
20 Dec 05 |
nicklas |
214 |
{ |
1730 |
20 Dec 05 |
nicklas |
215 |
values = jobParameters.getValues(name); |
1730 |
20 Dec 05 |
nicklas |
216 |
} |
1730 |
20 Dec 05 |
nicklas |
217 |
return values; |
1730 |
20 Dec 05 |
nicklas |
218 |
} |
1730 |
20 Dec 05 |
nicklas |
219 |
|
1376 |
22 Sep 05 |
nicklas |
220 |
/** |
2700 |
04 Oct 06 |
nicklas |
Invoke the plugin and let it do it's work. Note that |
2700 |
04 Oct 06 |
nicklas |
this method doesn't throw any exceptions. If an exception |
2700 |
04 Oct 06 |
nicklas |
occurs during the execution of a plugin, the response |
2700 |
04 Oct 06 |
nicklas |
status will be set to {@link net.sf.basedb.core.plugin.Response.Status#ERROR} and |
2700 |
04 Oct 06 |
nicklas |
the error messages will be available in the |
2700 |
04 Oct 06 |
nicklas |
{@link PluginResponse#getMessage()} and |
2700 |
04 Oct 06 |
nicklas |
{@link PluginResponse#getErrorList()} methods. |
2700 |
04 Oct 06 |
nicklas |
228 |
|
2700 |
04 Oct 06 |
nicklas |
@return A <code>PluginResponse</code> object |
2646 |
18 Sep 06 |
martin |
230 |
*/ |
2722 |
11 Oct 06 |
nicklas |
231 |
public abstract PluginResponse invoke(); |
2646 |
18 Sep 06 |
martin |
232 |
|
2646 |
18 Sep 06 |
martin |
233 |
/** |
1238 |
05 Sep 05 |
nicklas |
Aborts the execution of the plugin. |
1238 |
05 Sep 05 |
nicklas |
235 |
*/ |
1238 |
05 Sep 05 |
nicklas |
236 |
public void done() |
1238 |
05 Sep 05 |
nicklas |
237 |
{ |
1730 |
20 Dec 05 |
nicklas |
238 |
plugin.done(); |
1238 |
05 Sep 05 |
nicklas |
239 |
} |
1238 |
05 Sep 05 |
nicklas |
240 |
|
2348 |
01 Jun 06 |
nicklas |
241 |
/** |
2348 |
01 Jun 06 |
nicklas |
Keep track of all parameters so that we can save label and |
2348 |
01 Jun 06 |
nicklas |
description in the {@link ParameterValuesImpl#saveParameters(Job, Map)} |
2348 |
01 Jun 06 |
nicklas |
method. |
2348 |
01 Jun 06 |
nicklas |
245 |
*/ |
2348 |
01 Jun 06 |
nicklas |
246 |
void registerParameters(List<PluginParameter<?>> parameters) |
2348 |
01 Jun 06 |
nicklas |
247 |
{ |
2348 |
01 Jun 06 |
nicklas |
248 |
if (parameters != null) |
2348 |
01 Jun 06 |
nicklas |
249 |
{ |
2348 |
01 Jun 06 |
nicklas |
250 |
for (PluginParameter<?> pp : parameters) |
2348 |
01 Jun 06 |
nicklas |
251 |
{ |
2348 |
01 Jun 06 |
nicklas |
252 |
parameterInfo.put(pp.getName(), pp); |
2348 |
01 Jun 06 |
nicklas |
253 |
} |
2348 |
01 Jun 06 |
nicklas |
254 |
} |
2348 |
01 Jun 06 |
nicklas |
255 |
} |
2348 |
01 Jun 06 |
nicklas |
256 |
|
2348 |
01 Jun 06 |
nicklas |
257 |
/** |
2348 |
01 Jun 06 |
nicklas |
Save all parameters that have got values in this request/response session. |
2348 |
01 Jun 06 |
nicklas |
259 |
*/ |
4379 |
05 Aug 08 |
nicklas |
260 |
void saveParameters(DbControl dc, GuiContext context) |
1730 |
20 Dec 05 |
nicklas |
261 |
{ |
1759 |
12 Jan 06 |
nicklas |
262 |
if (jobParameters != null && !jobParameters.isWriteProtected() && job != null) |
1730 |
20 Dec 05 |
nicklas |
263 |
{ |
1759 |
12 Jan 06 |
nicklas |
264 |
Job theJob = job.isInDatabase() ? Job.getById(dc, job.getId()) : job; |
4379 |
05 Aug 08 |
nicklas |
265 |
JobData jobData = theJob.getData(); |
4379 |
05 Aug 08 |
nicklas |
266 |
if (pluginConfiguration != null) |
4379 |
05 Aug 08 |
nicklas |
267 |
{ |
4379 |
05 Aug 08 |
nicklas |
268 |
jobData.setParameterVersion(pluginConfiguration.getParameterVersion()); |
4379 |
05 Aug 08 |
nicklas |
269 |
} |
4379 |
05 Aug 08 |
nicklas |
270 |
if (context != null) |
4379 |
05 Aug 08 |
nicklas |
271 |
{ |
4379 |
05 Aug 08 |
nicklas |
272 |
jobData.setContextItem(context.getItem().getValue()); |
4379 |
05 Aug 08 |
nicklas |
273 |
jobData.setContextType(context.getType().getValue()); |
4379 |
05 Aug 08 |
nicklas |
274 |
jobData.setSubContext(context.getSubContext()); |
4379 |
05 Aug 08 |
nicklas |
275 |
|
4379 |
05 Aug 08 |
nicklas |
276 |
} |
4379 |
05 Aug 08 |
nicklas |
277 |
else |
4379 |
05 Aug 08 |
nicklas |
278 |
{ |
4379 |
05 Aug 08 |
nicklas |
279 |
jobData.setContextItem(null); |
4379 |
05 Aug 08 |
nicklas |
280 |
jobData.setContextType(null); |
4379 |
05 Aug 08 |
nicklas |
281 |
jobData.setSubContext(null); |
4379 |
05 Aug 08 |
nicklas |
282 |
} |
2348 |
01 Jun 06 |
nicklas |
283 |
jobParameters.saveParameters(theJob, parameterInfo); |
1730 |
20 Dec 05 |
nicklas |
284 |
} |
1766 |
13 Jan 06 |
nicklas |
285 |
if (configurationParameters != null && !configurationParameters.isWriteProtected() && pluginConfiguration != null) |
1730 |
20 Dec 05 |
nicklas |
286 |
{ |
1766 |
13 Jan 06 |
nicklas |
287 |
PluginConfiguration theConfig = pluginConfiguration.isInDatabase() ? PluginConfiguration.getById(dc, pluginConfiguration.getId()) : pluginConfiguration; |
2348 |
01 Jun 06 |
nicklas |
288 |
configurationParameters.saveParameters(theConfig, parameterInfo); |
1730 |
20 Dec 05 |
nicklas |
289 |
} |
1730 |
20 Dec 05 |
nicklas |
290 |
} |
1730 |
20 Dec 05 |
nicklas |
291 |
|
1238 |
05 Sep 05 |
nicklas |
292 |
/** |
1376 |
22 Sep 05 |
nicklas |
Sets the next command in a configuration sequence. |
1238 |
05 Sep 05 |
nicklas |
294 |
*/ |
1376 |
22 Sep 05 |
nicklas |
295 |
void setNextCommand(String command) |
1212 |
02 Sep 05 |
nicklas |
296 |
{ |
1376 |
22 Sep 05 |
nicklas |
297 |
this.command = command; |
1376 |
22 Sep 05 |
nicklas |
298 |
requestParameters.clear(); |
1212 |
02 Sep 05 |
nicklas |
299 |
} |
1212 |
02 Sep 05 |
nicklas |
300 |
|
1238 |
05 Sep 05 |
nicklas |
301 |
/** |
1376 |
22 Sep 05 |
nicklas |
Get the plugin object. |
4105 |
28 Jan 08 |
nicklas |
@since 2.6 (was not public before) |
1238 |
05 Sep 05 |
nicklas |
304 |
*/ |
4105 |
28 Jan 08 |
nicklas |
305 |
public P getPlugin() |
1212 |
02 Sep 05 |
nicklas |
306 |
{ |
1376 |
22 Sep 05 |
nicklas |
307 |
return plugin; |
1212 |
02 Sep 05 |
nicklas |
308 |
} |
1212 |
02 Sep 05 |
nicklas |
309 |
|
2854 |
02 Nov 06 |
nicklas |
310 |
/** |
2854 |
02 Nov 06 |
nicklas |
Get the job for the request or null if we are not configuring/executing a job. |
2854 |
02 Nov 06 |
nicklas |
@since 2.2 |
2854 |
02 Nov 06 |
nicklas |
313 |
*/ |
2854 |
02 Nov 06 |
nicklas |
314 |
Job getJob() |
2854 |
02 Nov 06 |
nicklas |
315 |
{ |
2854 |
02 Nov 06 |
nicklas |
316 |
return job; |
2854 |
02 Nov 06 |
nicklas |
317 |
} |
938 |
15 Jul 05 |
samuel |
318 |
|
1238 |
05 Sep 05 |
nicklas |
319 |
/** |
1238 |
05 Sep 05 |
nicklas |
An implementation of the {@link Request} interface |
1238 |
05 Sep 05 |
nicklas |
that is passed to the plugin. |
1238 |
05 Sep 05 |
nicklas |
322 |
*/ |
1376 |
22 Sep 05 |
nicklas |
323 |
class RequestImpl |
1212 |
02 Sep 05 |
nicklas |
324 |
implements Request |
1212 |
02 Sep 05 |
nicklas |
325 |
{ |
2854 |
02 Nov 06 |
nicklas |
326 |
private final boolean allowImmediateExecution; |
2854 |
02 Nov 06 |
nicklas |
327 |
RequestImpl(boolean allowImmediateExecution) |
2854 |
02 Nov 06 |
nicklas |
328 |
{ |
2854 |
02 Nov 06 |
nicklas |
329 |
this.allowImmediateExecution = allowImmediateExecution; |
2854 |
02 Nov 06 |
nicklas |
330 |
} |
2854 |
02 Nov 06 |
nicklas |
331 |
|
1238 |
05 Sep 05 |
nicklas |
332 |
/* |
1238 |
05 Sep 05 |
nicklas |
From the Request interface (plugin package) |
1238 |
05 Sep 05 |
nicklas |
334 |
--------------------------------------------------- |
1238 |
05 Sep 05 |
nicklas |
335 |
*/ |
6127 |
14 Sep 12 |
nicklas |
336 |
@Override |
1212 |
02 Sep 05 |
nicklas |
337 |
public String getCommand() |
1212 |
02 Sep 05 |
nicklas |
338 |
{ |
1212 |
02 Sep 05 |
nicklas |
339 |
return command; |
1212 |
02 Sep 05 |
nicklas |
340 |
} |
1212 |
02 Sep 05 |
nicklas |
341 |
|
6127 |
14 Sep 12 |
nicklas |
342 |
@Override |
7321 |
05 Apr 17 |
nicklas |
343 |
public Serializable getState() |
7321 |
05 Apr 17 |
nicklas |
344 |
{ |
7321 |
05 Apr 17 |
nicklas |
345 |
return state; |
7321 |
05 Apr 17 |
nicklas |
346 |
} |
7321 |
05 Apr 17 |
nicklas |
347 |
|
7605 |
26 Feb 19 |
nicklas |
348 |
@SuppressWarnings("unchecked") |
7321 |
05 Apr 17 |
nicklas |
349 |
@Override |
7605 |
26 Feb 19 |
nicklas |
350 |
public <T> T getParameterValue(String name) |
1212 |
02 Sep 05 |
nicklas |
351 |
{ |
7605 |
26 Feb 19 |
nicklas |
352 |
T value = null; |
7605 |
26 Feb 19 |
nicklas |
353 |
List<T> values = (List<T>)requestParameters.get(name); |
1212 |
02 Sep 05 |
nicklas |
354 |
if (values != null && values.size() != 0) |
1212 |
02 Sep 05 |
nicklas |
355 |
{ |
1212 |
02 Sep 05 |
nicklas |
356 |
value = values.get(0); |
1212 |
02 Sep 05 |
nicklas |
357 |
} |
1212 |
02 Sep 05 |
nicklas |
358 |
return value; |
1212 |
02 Sep 05 |
nicklas |
359 |
} |
1212 |
02 Sep 05 |
nicklas |
360 |
|
7605 |
26 Feb 19 |
nicklas |
361 |
@SuppressWarnings("unchecked") |
6127 |
14 Sep 12 |
nicklas |
362 |
@Override |
7605 |
26 Feb 19 |
nicklas |
363 |
public <T> List<T> getParameterValues(String name) |
1212 |
02 Sep 05 |
nicklas |
364 |
{ |
7605 |
26 Feb 19 |
nicklas |
365 |
return (List<T>)requestParameters.get(name); |
1212 |
02 Sep 05 |
nicklas |
366 |
} |
2854 |
02 Nov 06 |
nicklas |
367 |
|
6127 |
14 Sep 12 |
nicklas |
368 |
@Override |
2854 |
02 Nov 06 |
nicklas |
369 |
public boolean isAllowedImmediateExecution() |
2854 |
02 Nov 06 |
nicklas |
370 |
{ |
2854 |
02 Nov 06 |
nicklas |
371 |
return allowImmediateExecution; |
2854 |
02 Nov 06 |
nicklas |
372 |
} |
1238 |
05 Sep 05 |
nicklas |
373 |
// ------------------------------------------- |
1212 |
02 Sep 05 |
nicklas |
374 |
} |
938 |
15 Jul 05 |
samuel |
375 |
} |