Client threads for discovered web services.
[jalview.git] / src / jalview / ws / WSClient.java
index 0ffb060..02b513c 100755 (executable)
@@ -19,6 +19,7 @@
 package jalview.ws;
 
 import jalview.gui.*;
+import ext.vamsas.ServiceHandle;
 
 public class WSClient
 {
@@ -33,8 +34,37 @@ public class WSClient
   protected String WsURL;
   protected WebserviceInfo wsInfo;
   int jobsRunning = 0;
-
+  /**
+   * mappings between abstract interface names and menu entries
+   */
+  protected java.util.Hashtable ServiceActions;
+  {
+      ServiceActions = new java.util.Hashtable();
+      ServiceActions.put("MsaWS", "Multiple Sequence Alignment");
+      ServiceActions.put("SecStrPred", "Secondary Structure Prediction");
+  };
   public WSClient()
   {
   }
+
+  protected WebserviceInfo setWebService(ServiceHandle sh)
+  {
+    WebServiceName = sh.getName();
+    if (ServiceActions.containsKey(sh.getAbstractName()))
+    {
+      WebServiceJobTitle = sh.getName(); // TODO: control sh.Name specification properly
+      // add this for short names. +(String) ServiceActions.get(sh.getAbstractName());
+    }
+    else
+    {
+      WebServiceJobTitle = sh.getAbstractName()+" using "+sh.getName();
+
+    }
+    WebServiceReference = sh.getDescription();
+    WsURL = sh.getEndpointURL();
+    WebserviceInfo wsInfo = new WebserviceInfo(WebServiceJobTitle,
+                                               WebServiceReference);
+
+    return wsInfo;
+  }
 }