1 package jalview.ws.slivkaws;
3 import jalview.ws.params.ArgumentI;
4 import jalview.ws.params.WsParamSetI;
5 import jalview.ws.params.simple.BooleanOption;
6 import jalview.ws.params.simple.DoubleParameter;
7 import jalview.ws.params.simple.IntegerParameter;
8 import jalview.ws.params.simple.RadioChoiceParameter;
9 import jalview.ws.params.simple.StringParameter;
11 import java.io.IOException;
12 import java.util.ArrayList;
13 import java.util.List;
15 import uk.ac.dundee.compbio.slivkaclient.BooleanField;
16 import uk.ac.dundee.compbio.slivkaclient.ChoiceField;
17 import uk.ac.dundee.compbio.slivkaclient.DecimalField;
18 import uk.ac.dundee.compbio.slivkaclient.Form;
19 import uk.ac.dundee.compbio.slivkaclient.FormField;
20 import uk.ac.dundee.compbio.slivkaclient.IntegerField;
21 import uk.ac.dundee.compbio.slivkaclient.SlivkaForm;
22 import uk.ac.dundee.compbio.slivkaclient.SlivkaService;
23 import uk.ac.dundee.compbio.slivkaclient.TextField;
27 public class SlivkaParamSet implements WsParamSetI
29 private SlivkaService service;
30 private List<ArgumentI> args = new ArrayList<>();
32 SlivkaParamSet(SlivkaService service) throws IOException {
33 this.service = service;
34 SlivkaForm form = service.getForm();
35 for (FormField field : form.getFields())
38 switch (field.getType()) {
40 BooleanField boolField = (BooleanField) field;
41 arg = new BooleanOption(
42 field.getName(), field.getDescription(), field.isRequired(), boolField.getDefault(),
43 boolField.getDefault(), null
47 TextField textField = (TextField) field;
48 arg = new StringParameter(
49 field.getName(), field.getDescription(), field.isRequired(), textField.getDefault(),
50 textField.getDefault()
54 IntegerField intField = (IntegerField) field;
55 arg = new IntegerParameter(
56 field.getName(), field.getDescription(), field.isRequired(), intField.getDefault(),
57 intField.getMin(), intField.getMax()
61 DecimalField doubleField = (DecimalField) field;
62 arg = new DoubleParameter(
63 field.getName(), field.getDescription(), field.isRequired(), doubleField.getDefault(),
64 doubleField.getMin(), doubleField.getMax()
68 ChoiceField choiceField = (ChoiceField) field;
69 arg = new RadioChoiceParameter(
70 field.getName(), field.getDescription(), new ArrayList<>(choiceField.getChoices()), choiceField.getDefault()
82 public String getName()
88 public String getDescription()
94 public String[] getApplicableUrls()
96 return new String[] { service.getURL().toString() };
100 public String getSourceFile()
106 public void setSourceFile(String newfile)
111 public boolean isModifiable()
117 public List<ArgumentI> getArguments()
123 public void setArguments(List<ArgumentI> args)
125 throw new RuntimeException();