JAL-3878 Rename web service worker to more generic pollable task.
[jalview.git] / src / jalview / ws2 / WebServiceExecutor.java
diff --git a/src/jalview/ws2/WebServiceExecutor.java b/src/jalview/ws2/WebServiceExecutor.java
deleted file mode 100644 (file)
index 86016d2..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-package jalview.ws2;
-
-import java.io.IOException;
-import java.util.EventObject;
-import java.util.List;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
-
-import jalview.bin.Cache;
-
-public class WebServiceExecutor
-{
-  private ScheduledExecutorService executor = Executors
-          .newSingleThreadScheduledExecutor();
-
-  public void submit(final WebServiceWorkerI worker)
-  {
-    executor.submit(() -> {
-      try
-      {
-        worker.startJobs();
-        wsThreadSupport.submitted(worker);
-      } catch (Exception e)
-      {
-        Cache.log.error("Failed to submit web service jobs.", e);
-        wsThreadSupport.submissionFailed(worker, e);
-        return;
-      }
-      executor.schedule(() -> pollJobs(worker), 1, TimeUnit.SECONDS);
-    });
-  }
-
-  private void pollJobs(WebServiceWorkerI worker)
-  {
-    boolean done;
-    try
-    {
-      done = worker.pollJobs();
-    } catch (Exception e)
-    {
-      Cache.log.error("Failed to poll web service jobs.", e);
-      for (WSJob job : worker.getJobs())
-      {
-        job.setStatus(WSJobStatus.SERVER_ERROR);
-      }
-      wsThreadSupport.pollFailed(worker, e);
-      return;
-    }
-    if (!done)
-    {
-      executor.schedule(() -> pollJobs(worker), 1, TimeUnit.SECONDS);
-    }
-    else
-    {
-      worker.done();
-      wsThreadSupport.done(worker);
-    }
-  }
-
-  private WebServiceThreadSupport wsThreadSupport = new WebServiceThreadSupport();
-
-  public void addThreadListener(WebServiceThreadListenerI listener)
-  {
-    wsThreadSupport.addListener(listener);
-  }
-
-  public void removeThreadListener(WebServiceThreadListenerI listener)
-  {
-    wsThreadSupport.removeListener(listener);
-  }
-
-  public void shutdown()
-  {
-    executor.shutdownNow();
-  }
-
-}
-
-class WebServiceThreadSupport implements WebServiceThreadListenerI
-{
-  List<WebServiceThreadListenerI> listeners = new CopyOnWriteArrayList<>();
-
-  @Override
-  public void submitted(WebServiceWorkerI thread)
-  {
-    for (var listener : listeners)
-      listener.submitted(thread);
-  }
-
-  @Override
-  public void submissionFailed(WebServiceWorkerI thread, Exception e)
-  {
-    for (var listener : listeners)
-      listener.submissionFailed(thread, e);
-  }
-
-  @Override
-  public void pollFailed(WebServiceWorkerI thread, Exception e)
-  {
-    for (var listener : listeners)
-      listener.pollFailed(thread, e);
-  }
-
-  @Override
-  public void cancelled(WebServiceWorkerI thread)
-  {
-    for (var listener : listeners)
-      listener.cancelled(thread);
-  }
-
-  @Override
-  public void done(WebServiceWorkerI thread)
-  {
-    for (var listener : listeners)
-      listener.done(thread);
-  }
-
-  public void addListener(WebServiceThreadListenerI listener)
-  {
-    if (!listeners.contains(listener))
-    {
-      listeners.add(listener);
-    }
-  }
-
-  public void removeListener(WebServiceThreadListenerI listener)
-  {
-    listeners.remove(listener);
-  }
-}