prototype - implementation in progress JAL-591
[jalview.git] / src / jalview / ws / jws2 / Jws2Discoverer.java
index d982981..918abce 100644 (file)
@@ -21,8 +21,10 @@ import jalview.datamodel.AlignmentView;
 import jalview.gui.AlignFrame;
 import jalview.ws.WSMenuEntryProviderI;
 import compbio.data.msa.MsaWS;
+import compbio.metadata.Option;
 import compbio.metadata.Preset;
 import compbio.metadata.PresetManager;
+import compbio.metadata.RunnerConfig;
 import compbio.ws.client.Jws2Base;
 import compbio.ws.client.Jws2Base.Services;
 
@@ -160,11 +162,11 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI
 
   public class Jws2Instance
   {
-    String hosturl;
+    public String hosturl;
 
-    String serviceType;
+    public String serviceType;
 
-    MsaWS service;
+    public MsaWS service;
 
     public Jws2Instance(String hosturl, String serviceType, MsaWS service)
     {
@@ -224,12 +226,21 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI
       return "Align with "
       + serviceType;
     }
+
+    /**
+     * non-thread safe - blocks whilst accessing service to get complete set of available options and parameters
+     * @return
+     */
+    public RunnerConfig getRunnerConfig()
+    {
+      return service.getRunnerOptions();
+    }
   };
 
   /**
    * holds list of services.
    */
-  Vector<Jws2Instance> services;
+  protected Vector<Jws2Instance> services;
 
   /**
    * find or add a submenu with the given title in the given menu
@@ -432,4 +443,9 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI
     return null;
   }
 
+  public Vector<Jws2Instance> getServices()
+  {
+    return (services==null) ? new Vector<Jws2Instance>(): new Vector<Jws2Instance>(services);
+  }
+
 }