JAL-3070 pull up hostURL and postURL to UIinfo and getter for action ext
[jalview.git] / src / jalview / ws / jws2 / jabaws2 / Jws2Instance.java
index 120ce27..85ac238 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -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.UIinfo;
 import jalview.ws.jws2.JabaParamStore;
 import jalview.ws.jws2.MsaWSClient;
 import jalview.ws.jws2.SequenceAnnotationWSClient;
@@ -38,18 +39,11 @@ import compbio.data.msa.SequenceAnnotation;
 import compbio.metadata.PresetManager;
 import compbio.metadata.RunnerConfig;
 
-public class Jws2Instance
+public class Jws2Instance extends UIinfo
 {
-  public String hosturl;
-
-  public String serviceType;
-
-  public String action;
 
   public JABAService service;
 
-  public String description;
-
   public String docUrl;
 
   /**
@@ -69,12 +63,8 @@ public class Jws2Instance
   public Jws2Instance(String hosturl, String serviceType, String action,
           String description, JABAService service)
   {
-    super();
-    this.hosturl = hosturl;
-    this.serviceType = serviceType;
+    super(action, action, serviceType, description, hosturl);
     this.service = service;
-    this.action = action;
-    this.description = description;
     int p = description.indexOf("MORE INFORMATION:");
     if (p > -1)
     {
@@ -115,32 +105,12 @@ public class Jws2Instance
       } catch (Exception ex)
       {
         System.err.println("Exception when retrieving presets for service "
-                + serviceType + " at " + hosturl);
+                + getServiceType() + " at " + getHostURL());
       }
     }
     return presets;
   }
 
-  public String getHost()
-  {
-    return hosturl;
-    /*
-     * try { URL serviceurl = new URL(hosturl); if (serviceurl.getPort()!=80) {
-     * return serviceurl.getHost()+":"+serviceurl.getPort(); } return
-     * serviceurl.getHost(); } catch (Exception e) {
-     * System.err.println("Failed to parse service URL '" + hosturl +
-     * "' as a valid URL!"); } return null;
-     */
-  }
-
-  /**
-   * @return short description of what the service will do
-   */
-  public String getActionText()
-  {
-    return action + " with " + serviceType;
-  }
-
   /**
    * non-thread safe - blocks whilst accessing service to get complete set of
    * available options and parameters
@@ -157,7 +127,10 @@ public class Jws2Instance
     {
       return ((SequenceAnnotation) service).getRunnerOptions();
     }
-    throw new Error(MessageManager.formatMessage("error.implementation_error_runner_config_not_available", new String[]{serviceType,service.getClass().toString()}));
+    throw new Error(MessageManager.formatMessage(
+            "error.implementation_error_runner_config_not_available",
+            new String[]
+            { getServiceType(), service.getClass().toString() }));
   }
 
   @Override
@@ -167,13 +140,11 @@ public class Jws2Instance
     {
       try
       {
-        Closeable svc = (Closeable) service;
-        service = null;
-        svc.close();
-      } catch (Exception e)
+        ((Closeable) service).close();
+      } catch (Throwable t)
       {
+        // ignore
       }
-      ;
     }
     super.finalize();
   }
@@ -199,10 +170,14 @@ public class Jws2Instance
 
   public String getUri()
   {
+    // TODO verify that service parameter sets in projects are consistent with
+    // Jalview 2.10.4
     // this is only valid for Jaba 1.0 - this formula might have to change!
-    return hosturl
-            + (hosturl.lastIndexOf("/") == (hosturl.length() - 1) ? ""
-                    : "/") + serviceType;
+    return getHostURL()
+            + (getHostURL().lastIndexOf("/") == (getHostURL().length() - 1)
+                    ? ""
+                    : "/")
+            + getName();
   }
 
   private boolean hasParams = false, lookedForParams = false;
@@ -236,9 +211,9 @@ public class Jws2Instance
     }
   }
 
-  public String getServiceTypeURI()
+  public String getNameURI()
   {
-    return "java:" + serviceType;
+    return "java:" + getName();
   }
 
   jalview.ws.uimodel.AlignAnalysisUIText aaui;