JAL-3690 Fixed slivka wsmenu categories.
[jalview.git] / src / jalview / ws / slivkaws / SlivkaAnnotationServiceInstance.java
index 255aed7..f11eb1c 100644 (file)
@@ -16,31 +16,26 @@ import jalview.ws.params.ArgumentI;
 import jalview.ws.params.WsParamSetI;
 import jalview.ws.uimodel.AlignAnalysisUIText;
 
-import java.io.ByteArrayInputStream;
 import java.io.IOError;
 import java.io.IOException;
-import java.io.InputStream;
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import uk.ac.dundee.compbio.slivkaclient.FormField;
+import compbio.data.msa.Category;
 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 SlivkaAnnotationServiceInstance extends SlivkaWSInstance implements SequenceAnnotationServiceI
 {
   public SlivkaAnnotationServiceInstance(SlivkaClient client,
-          SlivkaService service, boolean conservation)
+          SlivkaService service, String category)
   {
-    super(client, service, !conservation ? "Annotations disorder"
-            : "Alignment Conservation");
-    if (conservation)
+    super(client, service, category);
+    if (category == Category.CATEGORY_CONSERVATION)
     {
-      setAlignAnalysisUI(new AlignAnalysisUIText(getName(),
+      setAlignAnalysisUI(new AlignAnalysisUIText(category,
               SlivkaAnnotationServiceInstance.class,
               "Slivka.AACons", false, true, true, true, true, 2,
               MessageManager.getString("label.aacon_calculations"),
@@ -54,39 +49,7 @@ public class SlivkaAnnotationServiceInstance extends SlivkaWSInstance implements
   @Override
   public JobId submitToService(List<SequenceI> seqs, WsParamSetI preset, List<ArgumentI> paramset) throws Throwable
   {
-    StringBuilder builder = new StringBuilder();
-    for (SequenceI seq : seqs)
-    {
-      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();
-    HashMap<String, String> values = new HashMap<>(paramset != null ? paramset.size() : 0);
-    if (paramset != null)
-    {
-      for (ArgumentI arg : paramset)
-      {
-        values.put(arg.getName(), arg.getValue());
-      }
-    }
-    for (FormField field : form.getFields())
-    {
-      switch (field.getType())
-      {
-      case FILE:
-        form.insert(field.getName(), file);
-        break;
-      case BOOLEAN:
-        String value = values.get(field.getName());
-        form.insert(field.getName(), value != null && !value.isBlank() ? true : false);
-        break;
-      default:
-        form.insert(field.getName(), field.valueOf(values.get(field.getName())));
-      }
-    }
-    return new JobId(service.getName(), service.getName(), form.submit());
+    return super.submit(seqs, preset, paramset);
   }
 
   @Override