JAL-3066 Create labels for fields and hack it to work with multiple valued parameters
[jalview.git] / src / jalview / ws / slivkaws / SlivkaMsaServiceInstance.java
index efeb582..a65e93e 100644 (file)
@@ -11,19 +11,13 @@ import jalview.ws.params.ArgumentI;
 import jalview.ws.params.InvalidArgumentException;
 import jalview.ws.params.WsParamSetI;
 
-import java.io.ByteArrayInputStream;
 import java.io.IOError;
 import java.io.IOException;
-import java.io.InputStream;
 import java.rmi.ServerError;
 import java.util.List;
-import java.util.Optional;
 
-import uk.ac.dundee.compbio.slivkaclient.FieldType;
-import uk.ac.dundee.compbio.slivkaclient.FormField;
 import uk.ac.dundee.compbio.slivkaclient.RemoteFile;
 import uk.ac.dundee.compbio.slivkaclient.SlivkaClient;
-import uk.ac.dundee.compbio.slivkaclient.SlivkaForm;
 import uk.ac.dundee.compbio.slivkaclient.SlivkaService;
 
 public class SlivkaMsaServiceInstance extends SlivkaWSInstance implements MultipleSequenceAlignmentI
@@ -36,37 +30,7 @@ public class SlivkaMsaServiceInstance extends SlivkaWSInstance implements Multip
   @Override
   public JobId align(List<SequenceI> toalign, WsParamSetI parameters, List<ArgumentI> list) throws Throwable
   {
-    StringBuilder builder = new StringBuilder();
-    for (SequenceI seq : toalign)
-    {
-      builder.append(">").append(seq.getName()).append("\n");
-      builder.append(seq.getSequence()).append("\n");
-    }
-    InputStream stream = new ByteArrayInputStream(builder.toString().getBytes());
-    RemoteFile file = client.uploadFile(stream, "input.fasta", "application/fasta");
-    SlivkaForm form = service.getForm();
-    Optional<FormField> inputField = form.getFields().stream()
-        .filter(f -> f.getType() == FieldType.FILE).findFirst();
-    if (inputField.isPresent())
-    {
-      form.insert(inputField.get().getName(), file);
-    }
-    if (list != null)
-    {
-      for (ArgumentI arg : list)
-      {
-        FormField field = form.getField(arg.getName());
-        if (field.getType() == FieldType.BOOLEAN)
-        {
-          form.insert(arg.getName(), (arg.getValue() != null && !arg.getValue().isBlank()) ? true : false);
-        }
-        else
-        {
-          form.insert(arg.getName(), field.valueOf(arg.getValue()));
-        }
-      }
-    }
-    return new JobId(service.getName(), service.getName(), form.submit());
+    return super.submit(toalign, parameters, list);
   }
 
   @Override