JAL-3070 web service handle with UIinfo.hasParameters() == true => instanceof Service...
[jalview.git] / src / jalview / ws / jws2 / jabaws2 / Jws2Instance.java
index 3bff20b..3c409af 100644 (file)
@@ -23,6 +23,7 @@ package jalview.ws.jws2.jabaws2;
 import jalview.gui.AlignFrame;
 import jalview.gui.Desktop;
 import jalview.util.MessageManager;
+import jalview.ws.api.JalviewServiceEndpointProviderI;
 import jalview.ws.api.ServiceWithParameters;
 import jalview.ws.jws2.JabaParamStore;
 import jalview.ws.jws2.MsaWSClient;
@@ -41,6 +42,7 @@ import compbio.metadata.PresetManager;
 import compbio.metadata.RunnerConfig;
 
 public class Jws2Instance extends ServiceWithParameters
+        implements JalviewServiceEndpointProviderI
 {
 
   public JABAService service;
@@ -184,6 +186,7 @@ public class Jws2Instance extends ServiceWithParameters
 
   private boolean hasParams = false, lookedForParams = false;
 
+  @Override
   public boolean hasParameters()
   {
     if (!lookedForParams)
@@ -239,4 +242,27 @@ public class Jws2Instance extends ServiceWithParameters
       paramStore = new JabaParamStore(this, userParameterStore);
     }
   }
+
+  /**
+   * an object that implements one or more interfaces in jalview.ws.api
+   * 
+   * @return
+   */
+  @Override
+  public Object getEndpoint()
+  {
+    if (aaui!=null) {
+      // TODO complete
+      return null;
+    } else {
+      if (service instanceof MsaWS<?>)
+      {
+      return new JabawsMsaInstance(this);
+    } else {
+        // TODO complete
+        // service is for sequence analysis
+        return null;
+    }
+  }
+}
 }