JAL-3954 Implement phmmer action and task as alignment actions
[jalview.git] / src / jalview / ws2 / client / ebi / JobDispatcherWSDiscoverer.java
index 11fbf2a..a20575d 100644 (file)
@@ -10,6 +10,7 @@ import jalview.bin.Console;
 import jalview.ws.params.ParamManager;
 import jalview.ws2.actions.NullAction;
 import jalview.ws2.actions.api.ActionI;
+import jalview.ws2.actions.hmmer.PhmmerAction;
 import jalview.ws2.api.WebService;
 import jalview.ws2.client.api.AbstractWebServiceDiscoverer;
 import uk.ac.dundee.compbio.hmmerclient.PhmmerClient;
@@ -73,18 +74,18 @@ public final class JobDispatcherWSDiscoverer extends AbstractWebServiceDiscovere
   @Override
   protected List<WebService<?>> fetchServices(URL url) throws IOException
   {
-    PhmmerClient client;
+    PhmmerClient phmmerClient;
     try {
-      client = new PhmmerClient(url);
+      phmmerClient = new PhmmerClient(url);
     }
     catch (URISyntaxException e) {
       throw new MalformedURLException(e.getMessage());
     }
-    if (!client.testEndpoint())
+    if (!phmmerClient.testEndpoint())
       throw new IOException(
               "unable to reach dispatcher server at " + url);
     // TODO change once a concrete action is implemented
-    var wsBuilder = WebService.<NullAction> newBuilder();
+    var wsBuilder = WebService.<PhmmerAction> newBuilder();
     wsBuilder.url(url);
     wsBuilder.clientName("job dispatcher");
     wsBuilder.category("Database search");
@@ -92,10 +93,11 @@ public final class JobDispatcherWSDiscoverer extends AbstractWebServiceDiscovere
     wsBuilder.description("Hmmer3 phmmer is used to search one or more query sequences against a sequence database.");
     wsBuilder.interactive(false);
     wsBuilder.paramDatastore(ParamStores.newPhmmerDatastore(url, paramManager));
-    wsBuilder.actionClass(NullAction.class);
+    wsBuilder.actionClass(PhmmerAction.class);
     var webService = wsBuilder.build(); 
     
-    var actionBuilder = NullAction.newBuilder();
+    var client = new PhmmerWSClient(phmmerClient);
+    var actionBuilder = PhmmerAction.newBuilder(client);
     actionBuilder.webService(webService);
     actionBuilder.name("");
     webService.addAction(actionBuilder.build());