*/
package jalview.ws.jws2.dm;
-import jalview.util.MessageManager;
+import jalview.ws.api.ServiceWithParameters;
import jalview.ws.jws2.JabaParamStore;
-import jalview.ws.jws2.JabaPreset;
import jalview.ws.jws2.ParameterUtils;
-import jalview.ws.jws2.jabaws2.Jws2Instance;
import jalview.ws.params.ArgumentI;
import jalview.ws.params.WsParamSetI;
-import java.util.ArrayList;
import java.util.List;
-import compbio.metadata.Argument;
import compbio.metadata.Option;
/**
*/
public class AAConSettings extends jalview.ws.params.AutoCalcSetting
{
- Jws2Instance service;
-
- public AAConSettings(boolean autoUpdate, Jws2Instance service,
+ public AAConSettings(boolean autoUpdate, ServiceWithParameters service2,
WsParamSetI preset, List<ArgumentI> jobArgset)
{
- super(preset, jobArgset, autoUpdate);
- this.service = service;
- }
-
- public Jws2Instance getService()
- {
- return service;
- }
-
- public void setService(Jws2Instance service)
- {
- this.service = service;
- if (preset != null)
- {
- // migrate preset to new service
- for (String url : preset.getApplicableUrls())
- {
- if (url.equals(service.getUri()))
- {
- return;
- }
- }
- WsParamSetI pr = service.getParamStore().getPreset(preset.getName());
- if (pr instanceof JabaPreset && preset instanceof JabaPreset)
- {
- // easy - Presets are identical (we assume)
- preset = pr;
- return;
- }
- List<ArgumentI> oldargs = new ArrayList<>(),
- newargs = new ArrayList<>();
- oldargs.addAll(preset.getArguments());
- // need to compare parameters
- for (ArgumentI newparg : pr.getArguments())
- {
- if (!oldargs.remove(newparg))
- {
- newargs.add(newparg);
- }
- }
- if (oldargs.size() == 0 && newargs.size() == 0)
- {
- // exact match.
- preset = pr;
- return;
- }
- // Try even harder to migrate arguments.
- throw new Error(MessageManager
- .getString("error.parameter_migration_not_implemented_yet"));
- }
- }
-
- public List<Argument> getJobArgset()
- {
- return jobArgset == null ? null
- : JabaParamStore.getJabafromJwsArgs(jobArgset);
- }
-
- public void setJobArgset(List<Argument> jobArgset)
- {
- // TODO: test if parameters valid for service
- this.jobArgset = jobArgset == null ? null
- : JabaParamStore.getJwsArgsfromJaba(jobArgset);
+ super(service2, preset, jobArgset, autoUpdate);
}
@Override
}
return pset.toString();
}
-
- @Override
- public String getServiceURI()
- {
- return service.getNameURI();
- }
-
- @Override
- public String[] getServiceURLs()
- {
- return new String[] { service.getUri() };
- }
}