X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws1%2FDiscoverer.java;fp=src%2Fjalview%2Fws%2Fjws1%2FDiscoverer.java;h=74263b16123f2b58c60f68deb8f9513607ea2160;hb=a83adb45bdf9554e270921b4baad94defd314b36;hp=bee9fadbc634f5631001d72c754d34983799d96e;hpb=d4ec118f86b5c9dee801e743c46aaacc7bb521d1;p=jalview.git diff --git a/src/jalview/ws/jws1/Discoverer.java b/src/jalview/ws/jws1/Discoverer.java index bee9fad..74263b1 100644 --- a/src/jalview/ws/jws1/Discoverer.java +++ b/src/jalview/ws/jws1/Discoverer.java @@ -20,6 +20,8 @@ */ package jalview.ws.jws1; +import jalview.bin.ApplicationSingletonProvider; +import jalview.bin.ApplicationSingletonProvider.ApplicationSingletonI; import jalview.gui.JvOptionPane; import jalview.util.MessageManager; @@ -34,9 +36,36 @@ import ext.vamsas.RegistryServiceSoapBindingStub; import ext.vamsas.ServiceHandle; import ext.vamsas.ServiceHandles; -public class Discoverer implements Runnable +public class Discoverer implements Runnable, ApplicationSingletonI { - ext.vamsas.IRegistry registry; // the root registry service. + + public static Discoverer getInstance() + { + return (Discoverer) ApplicationSingletonProvider.getInstance(Discoverer.class); + } + + private Discoverer() + { + // use getInstance() + } + + private java.net.URL RootServiceURL = null; + + private Vector ServiceURLList = null; + + private boolean reallyDiscoverServices = true; + + private Hashtable> services = null; + + public Hashtable> getServices() + { + return services; + } + + private Vector serviceList = null; + + // private ext.vamsas.IRegistry registry; // the root registry service. + private java.beans.PropertyChangeSupport changeSupport = new java.beans.PropertyChangeSupport( this); @@ -110,19 +139,6 @@ public class Discoverer implements Runnable return server; } - static private java.net.URL RootServiceURL = null; - - static public Vector ServiceURLList = null; - - static private boolean reallyDiscoverServices = true; - - public static java.util.Hashtable> services = null; - // stored by - // abstractServiceType - // string - - public static java.util.Vector serviceList = null; - static private Vector getDiscoveryURLS() { Vector urls = new Vector<>(); @@ -178,18 +194,19 @@ public class Discoverer implements Runnable { jalview.bin.Cache.log .debug("(Re)-Initialising the discovery URL list."); + Discoverer d = getInstance(); try { - reallyDiscoverServices = jalview.bin.Cache + d.reallyDiscoverServices = jalview.bin.Cache .getDefault("DISCOVERY_START", false); - if (reallyDiscoverServices) + if (d.reallyDiscoverServices) { - ServiceURLList = getDiscoveryURLS(); + d.ServiceURLList = getDiscoveryURLS(); } else { jalview.bin.Cache.log.debug("Setting default services"); - services = new Hashtable<>(); + d.services = new Hashtable<>(); // Muscle, Clustal and JPred. ServiceHandle[] defServices = { new ServiceHandle("MsaWS", "Edgar, Robert C. (2004), MUSCLE: multiple sequence alignment " @@ -217,16 +234,16 @@ public class Discoverer implements Runnable + "\ndoi://10.1093/nar/gkv332", "http://www.compbio.dundee.ac.uk/JalviewWS/services/jpred", "JPred Secondary Structure Prediction") }; - services = new Hashtable<>(); - serviceList = new Vector<>(); - buildServiceLists(defServices, serviceList, services); + d.services = new Hashtable<>(); + d.serviceList = new Vector<>(); + buildServiceLists(defServices, d.serviceList, d.services); } } catch (Exception e) { System.err.println( "jalview.rootRegistry is not a proper url!\nWas set to " - + RootServiceURL + "\n" + e); + + d.RootServiceURL + "\n" + e); } } @@ -246,9 +263,9 @@ public class Discoverer implements Runnable // JBPNote - should do this a better way! if (f.getFaultReason().indexOf("(407)") > -1) { - if (jalview.gui.Desktop.desktop != null) + if (jalview.gui.Desktop.getDesktopPane() != null) { - JvOptionPane.showMessageDialog(jalview.gui.Desktop.desktop, + JvOptionPane.showMessageDialog(jalview.gui.Desktop.getDesktopPane(), MessageManager.getString("label.set_proxy_settings"), MessageManager .getString("label.proxy_authorization_failed"), @@ -307,17 +324,18 @@ public class Discoverer implements Runnable cat.add(sh[i]); if (sh[i].getAbstractName().equals("Registry")) { - for (int s = 0, sUrls = ServiceURLList.size(); s < sUrls; s++) + Vector list = getInstance().ServiceURLList; + for (int s = 0, sUrls = list.size(); s < sUrls; s++) { java.net.URL disc_serv = null; try { disc_serv = new java.net.URL(sh[i].getEndpointURL()); - if (!ServiceURLList.contains(disc_serv)) + if (!list.contains(disc_serv)) { jalview.bin.Cache.log.debug( "Adding new discovery service at " + disc_serv); - ServiceURLList.add(disc_serv); + list.add(disc_serv); seenNewDiscovery = true; } } catch (Exception e)