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.Service;
22 import uk.ac.dundee.compbio.slivkaclient.TextField;
26 public class SlivkaParamSet implements WsParamSetI
28 private Service service;
29 private List<ArgumentI> args = new ArrayList<>();
31 SlivkaParamSet(Service service) throws IOException {
32 this.service = service;
33 Form form = service.getForm();
34 for (FormField field : form.getFields())
37 switch (field.getType()) {
39 BooleanField boolField = (BooleanField) field;
40 arg = new BooleanOption(
41 field.getName(), field.getDescription(), field.isRequired(), boolField.getDefault(),
42 boolField.getDefault(), null
46 TextField textField = (TextField) field;
47 arg = new StringParameter(
48 field.getName(), field.getDescription(), field.isRequired(), textField.getDefault(),
49 textField.getDefault()
53 IntegerField intField = (IntegerField) field;
54 arg = new IntegerParameter(
55 field.getName(), field.getDescription(), field.isRequired(), intField.getDefault(),
56 intField.getMin(), intField.getMax()
60 DecimalField doubleField = (DecimalField) field;
61 arg = new DoubleParameter(
62 field.getName(), field.getDescription(), field.isRequired(), doubleField.getDefault(),
63 doubleField.getMin(), doubleField.getMax()
67 ChoiceField choiceField = (ChoiceField) field;
68 arg = new RadioChoiceParameter(
69 field.getName(), field.getDescription(), new ArrayList<>(choiceField.getChoices()), choiceField.getDefault()
81 public String getName()
87 public String getDescription()
93 public String[] getApplicableUrls()
95 return new String[] { service.getURL().toString() };
99 public String getSourceFile()
105 public void setSourceFile(String newfile)
110 public boolean isModifiable()
116 public List<ArgumentI> getArguments()
122 public void setArguments(List<ArgumentI> args)
124 throw new RuntimeException();