JAL-3690 switching to CompletableFuture to allow chaining
[jalview.git] / src / jalview / ws / jws2 / Jws2Discoverer.java
index 73d3700..7cf6993 100644 (file)
@@ -41,6 +41,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.StringTokenizer;
 import java.util.Vector;
+import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.CopyOnWriteArraySet;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
@@ -538,7 +539,7 @@ public class Jws2Discoverer implements WSDiscovererI, Runnable
    * @return new thread
    */
   @Override
-  public FutureTask<WSDiscovererI> startDiscoverer()
+  public CompletableFuture<WSDiscovererI> startDiscoverer()
   {
     /*    if (restart())
         {
@@ -554,8 +555,11 @@ public class Jws2Discoverer implements WSDiscovererI, Runnable
     {
       setAborted(true);
     }
-    FutureTask<WSDiscovererI> task = new FutureTask<>(this, this);
-    new Thread(task).start();
+    CompletableFuture<WSDiscovererI> task = CompletableFuture
+            .supplyAsync(() -> {
+              run();
+              return Jws2Discoverer.this;
+            });
     return task;
   }