Further work on statistics display - improvements to stat collector
[jabaws.git] / webservices / compbio / ws / client / Services.java
index a0c1f56..7f06da7 100644 (file)
@@ -26,6 +26,7 @@ import javax.xml.ws.Service;
 import compbio.data.msa.JABAService;\r
 import compbio.data.msa.MsaWS;\r
 import compbio.data.msa.SequenceAnnotation;\r
+import compbio.engine.client.Executable;\r
 \r
 /**\r
  * List of web services currently supported by JABAWS version 2\r
@@ -36,32 +37,21 @@ public enum Services {
 \r
        public static Services getService(String servName) {\r
                servName = servName.trim().toLowerCase();\r
-               if (servName.equalsIgnoreCase(MafftWS.toString())) {\r
-                       return MafftWS;\r
+               for (Services service : Services.values()) {\r
+                       if (service.toString().equalsIgnoreCase(servName)) {\r
+                               return service;\r
+                       }\r
                }\r
-               if (servName.equalsIgnoreCase(ClustalWS.toString())) {\r
-                       return ClustalWS;\r
-               }\r
-               if (servName.equalsIgnoreCase(TcoffeeWS.toString())) {\r
-                       return TcoffeeWS;\r
-               }\r
-               if (servName.equalsIgnoreCase(MuscleWS.toString())) {\r
-                       return MuscleWS;\r
-               }\r
-               if (servName.equalsIgnoreCase(ProbconsWS.toString())) {\r
-                       return ProbconsWS;\r
-               }\r
-               if (servName.equalsIgnoreCase(AAConWS.toString())) {\r
-                       return AAConWS;\r
-               }\r
-               if (servName.equalsIgnoreCase(JronnWS.toString())) {\r
-                       return JronnWS;\r
-               }\r
-               if (servName.equalsIgnoreCase(DisemblWS.toString())) {\r
-                       return DisemblWS;\r
-               }\r
-               if (servName.equalsIgnoreCase(GlobPlotWS.toString())) {\r
-                       return GlobPlotWS;\r
+               return null;\r
+       }\r
+\r
+       public static Services getService(Class<Executable<?>> runnerClassName) {\r
+               assert runnerClassName != null;\r
+               String sname = runnerClassName.getSimpleName().toLowerCase();\r
+               for (Services service : Services.values()) {\r
+                       if (service.toString().toLowerCase().contains(sname)) {\r
+                               return service;\r
+                       }\r
                }\r
                return null;\r
        }\r