X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws2%2FJws2Discoverer.java;h=0782d57dba94f575044570955770a7de87bcf303;hb=2f4f1d8fb6878271b64f327bc58c895f458137af;hp=f00cecf96e156b587d7b9b310c6778e85336d2bf;hpb=4cf0508ac56ebb01fbd51b547ea9f4a682ca97fb;p=jalview.git diff --git a/src/jalview/ws/jws2/Jws2Discoverer.java b/src/jalview/ws/jws2/Jws2Discoverer.java index f00cecf..0782d57 100644 --- a/src/jalview/ws/jws2/Jws2Discoverer.java +++ b/src/jalview/ws/jws2/Jws2Discoverer.java @@ -39,6 +39,7 @@ import java.util.HashSet; import java.util.Hashtable; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.StringTokenizer; import java.util.Vector; @@ -106,6 +107,7 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI public void run() { + if (running && oldthread != null && oldthread.isAlive()) { if (!aborted) @@ -127,6 +129,15 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI Cache.log.debug("Old discovery thread has finished."); } running = true; + + // first set up exclusion list if needed + final Set ignoredServices = new HashSet(); + for (String ignored:jalview.bin.Cache.getDefault("IGNORED_JABAWS_SERVICETYPES", Services.JpredWS.toString()).split("\\|")) + { + ignoredServices.add(ignored); + } + + changeSupport.firePropertyChange("services", services, new Vector()); oldthread = Thread.currentThread(); try @@ -170,7 +181,10 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI // for all possible services for (Services sv : squery.JABAWS2SERVERS) { - svctypes.add(sv.toString()); + if (!ignoredServices.contains(sv.toString())) + { + svctypes.add(sv.toString()); + } } } @@ -190,7 +204,9 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI ; for (JabaWsServerQuery squery : qrys) { - finished = finished && !squery.isRunning(); + if (squery.isRunning()){ + finished=false; + } } if (aborted) { @@ -223,7 +239,10 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI services = new Vector(); for (Jws2Instance svc : svcs) { - services.add(svc); + if (!ignoredServices.contains(svc.serviceType)) + { + services.add(svc); + } } } }