JAL-3070 core service descriptors for JABAWS services abstracted to jalview.ws.api...
[jalview.git] / src / jalview / ws / jws2 / jabaws2 / Jws2Instance.java
index 60edfe6..69f9072 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b2)
- * Copyright (C) 2015 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,12 @@ 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 +64,9 @@ public class Jws2Instance
   public Jws2Instance(String hosturl, String serviceType, String action,
           String description, JABAService service)
   {
-    super();
+    super(action, action, serviceType, description);
     this.hosturl = hosturl;
-    this.serviceType = serviceType;
     this.service = service;
-    this.action = action;
-    this.description = description;
     int p = description.indexOf("MORE INFORMATION:");
     if (p > -1)
     {
@@ -115,7 +107,7 @@ public class Jws2Instance
       } catch (Exception ex)
       {
         System.err.println("Exception when retrieving presets for service "
-                + serviceType + " at " + hosturl);
+                + getServiceType() + " at " + hosturl);
       }
     }
     return presets;
@@ -138,7 +130,7 @@ public class Jws2Instance
    */
   public String getActionText()
   {
-    return action + " with " + serviceType;
+    return getAction() + " with " + getServiceType();
   }
 
   /**
@@ -159,7 +151,8 @@ public class Jws2Instance
     }
     throw new Error(MessageManager.formatMessage(
             "error.implementation_error_runner_config_not_available",
-            new String[] { serviceType, service.getClass().toString() }));
+            new String[]
+            { getServiceType(), service.getClass().toString() }));
   }
 
   @Override
@@ -169,13 +162,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();
   }
@@ -204,7 +195,8 @@ public class Jws2Instance
     // this is only valid for Jaba 1.0 - this formula might have to change!
     return hosturl
             + (hosturl.lastIndexOf("/") == (hosturl.length() - 1) ? ""
-                    : "/") + serviceType;
+                    : "/")
+            + getServiceType();
   }
 
   private boolean hasParams = false, lookedForParams = false;
@@ -238,9 +230,9 @@ public class Jws2Instance
     }
   }
 
-  public String getServiceTypeURI()
+  public String getNameURI()
   {
-    return "java:" + serviceType;
+    return "java:" + getName();
   }
 
   jalview.ws.uimodel.AlignAnalysisUIText aaui;