X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws2%2FJws2Discoverer.java;h=d391f8b379a4bfa8cbaf006f8a4e48fb879e91ac;hb=586ade46bdcd05ff028a1cff82c3c527326d28ec;hp=7cf6993dd7c56538ad2b30986fe4e07ffce169f1;hpb=adcef27f5747b4e70e89a56c3735bc3afb8ce9bf;p=jalview.git diff --git a/src/jalview/ws/jws2/Jws2Discoverer.java b/src/jalview/ws/jws2/Jws2Discoverer.java index 7cf6993..d391f8b 100644 --- a/src/jalview/ws/jws2/Jws2Discoverer.java +++ b/src/jalview/ws/jws2/Jws2Discoverer.java @@ -21,6 +21,8 @@ package jalview.ws.jws2; import jalview.bin.Cache; +import jalview.bin.ApplicationSingletonProvider; +import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI; import jalview.gui.AlignFrame; import jalview.util.MessageManager; import jalview.ws.ServiceChangeListener; @@ -58,8 +60,20 @@ import compbio.ws.client.Services; * @author JimP * */ -public class Jws2Discoverer implements WSDiscovererI, Runnable +public class Jws2Discoverer implements WSDiscovererI, Runnable, ApplicationSingletonI { + + /** + * Returns the singleton instance of this class. + * + * @return + */ + public static Jws2Discoverer getInstance() + { + return (Jws2Discoverer) ApplicationSingletonProvider + .getInstance(Jws2Discoverer.class); + } + public static final String COMPBIO_JABAWS = "http://www.compbio.dundee.ac.uk/jabaws"; /* @@ -68,20 +82,14 @@ public class Jws2Discoverer implements WSDiscovererI, Runnable private final static String JWS2HOSTURLS = "JWS2HOSTURLS"; /* - * Singleton instance - */ - private static Jws2Discoverer discoverer; - - /* * Override for testing only */ - private static List testUrls = null; + private List testUrls = null; // preferred url has precedence over others private String preferredUrl; private Set serviceListeners = new CopyOnWriteArraySet<>(); - private Vector invalidServiceUrls = null; private Vector urlsWithoutServices = null; @@ -331,27 +339,28 @@ public class Jws2Discoverer implements WSDiscovererI, Runnable */ public static void main(String[] args) { + Jws2Discoverer instance = getInstance(); if (args.length > 0) { - testUrls = new ArrayList<>(); + instance.testUrls = new ArrayList<>(); for (String url : args) { - testUrls.add(url); + instance.testUrls.add(url); } } - var discoverer = getDiscoverer(); + var discoverer = getInstance(); discoverer.addServiceChangeListener((_discoverer, _services) -> { if (discoverer.services != null) { System.out.println("Changesupport: There are now " + discoverer.services.size() + " services"); int i = 1; - for (ServiceWithParameters instance : discoverer.services) + for (ServiceWithParameters s_instance : discoverer.services) { System.out.println( - "Service " + i++ + " " + instance.getClass() - + "@" + instance.getHostURL() + ": " - + instance.getActionText()); + "Service " + i++ + " " + s_instance.getClass() + + "@" + s_instance.getHostURL() + ": " + + s_instance.getActionText()); } } @@ -370,19 +379,6 @@ public class Jws2Discoverer implements WSDiscovererI, Runnable } } - /** - * Returns the singleton instance of this class. - * - * @return - */ - public static Jws2Discoverer getDiscoverer() - { - if (discoverer == null) - { - discoverer = new Jws2Discoverer(); - } - return discoverer; - } @Override public boolean hasServices()