1 package jalview.ws.jws2.dm;
3 import java.util.ArrayList;
6 import compbio.metadata.Argument;
7 import compbio.metadata.Preset;
9 import jalview.ws.jws2.JabaPreset;
10 import jalview.ws.jws2.jabaws2.Jws2Instance;
11 import jalview.ws.params.ArgumentI;
12 import jalview.ws.params.WsParamSetI;
15 * preferences for running AACons service
17 * @author jprocter TODO: refactor to a generic 'last job and service run'
20 public class AAConsSettings
28 List<Argument> jobArgset;
30 public AAConsSettings(boolean autoUpdate, Jws2Instance service,
31 WsParamSetI preset, List<Argument> jobArgset)
34 this.autoUpdate = autoUpdate;
35 this.service = service;
37 this.jobArgset = jobArgset;
40 public boolean isAutoUpdate()
45 public void setAutoUpdate(boolean autoUpdate)
47 this.autoUpdate = autoUpdate;
50 public Jws2Instance getService()
55 public void setService(Jws2Instance service)
57 this.service = service;
60 // migrate preset to new service
61 for (String url : preset.getApplicableUrls())
63 if (url.equals(service.getUri()))
68 WsParamSetI pr = service.getParamStore().getPreset(preset.getName());
69 if (pr instanceof JabaPreset && preset instanceof JabaPreset)
71 // easy - Presets are identical (we assume)
75 List<ArgumentI> oldargs = new ArrayList<ArgumentI>(), newargs = new ArrayList<ArgumentI>();
76 oldargs.addAll(preset.getArguments());
77 // need to compare parameters
78 for (ArgumentI newparg : pr.getArguments())
80 if (!oldargs.remove(newparg))
85 if (oldargs.size() == 0 && newargs.size() == 0)
91 // Try even harder to migrate arguments.
92 throw new Error("Parameter migration not implemented yet");
96 public WsParamSetI getPreset()
101 public void setPreset(WsParamSetI preset)
103 // TODO: test if service URL is in presets
104 this.preset = preset;
107 public List<Argument> getJobArgset()
112 public void setJobArgset(List<Argument> jobArgset)
114 // TODO: test if parameters valid for service
115 this.jobArgset = jobArgset;