JAL-3878 Create skeleton for alignment service action
[jalview.git] / src / jalview / ws / slivkaws / SlivkaWSDiscoverer.java
index e849f97..8ae9d14 100644 (file)
@@ -4,6 +4,8 @@ import jalview.bin.Cache;
 import jalview.ws.ServiceChangeListener;
 import jalview.ws.WSDiscovererI;
 import jalview.ws.api.ServiceWithParameters;
+import javajs.http.HttpClientFactory;
+
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -113,6 +115,10 @@ public class SlivkaWSDiscoverer implements WSDiscovererI
           {
             switch (path[path.length - 1].toLowerCase())
             {
+            case "rna secondary structure prediction":
+              newInstance = new RNAalifoldServiceInstance(client,
+                      service, "Secondary Structure Prediction");
+              break;
             case "sequence alignment analysis (conservation)":
               newInstance = new SlivkaAnnotationServiceInstance(client,
                       service, Category.CATEGORY_CONSERVATION);
@@ -122,7 +128,7 @@ public class SlivkaWSDiscoverer implements WSDiscovererI
                       service, Category.CATEGORY_DISORDER);
               break;
             case "protein secondary structure prediction":
-              newInstance = new SlivkaAnnotationServiceInstance(client,
+              newInstance = new SlivkaJPredServiceInstance(client,
                       service, "Secondary Structure Prediction");
               break;
             case "multiple sequence alignment":
@@ -215,7 +221,7 @@ public class SlivkaWSDiscoverer implements WSDiscovererI
     {
       List<?> services = new SlivkaClient(url).getServices();
       return services.isEmpty() ? STATUS_NO_SERVICES : STATUS_OK;
-    } catch (IOException e)
+    } catch (IOException | org.json.JSONException e)
     {
       Cache.log.error("Slivka could not retrieve services list", e);
       return STATUS_INVALID;