parallelised service endpoint discovery and ensured that old threads are destroyed...
[jalview.git] / src / jalview / gui / Desktop.java
index ec9974c..6228afb 100755 (executable)
@@ -25,7 +25,6 @@ import java.awt.*;
 import java.awt.datatransfer.*;
 import java.awt.dnd.*;
 import java.awt.event.*;
-import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
@@ -53,77 +52,11 @@ public class Desktop extends jalview.jbgui.GDesktop implements
         DropTargetListener, ClipboardOwner, IProgressIndicator
 {
 
-  private class JalviewChangeSupport implements PropertyChangeListener
-  {
-    public void propertyChange(PropertyChangeEvent evt)
-    {
-      // Handle change events - most are simply routed to other sources
-      changeSupport.firePropertyChange(evt);
-    }
-
-    /**
-     * change listeners are notified of changes to resources so they can update
-     * their state. E.g. - the 'services' property notifies when the available
-     * set of web service endpoints have changed.
-     */
-    private java.beans.PropertyChangeSupport changeSupport = new java.beans.PropertyChangeSupport(
-            this);
-
-    /**
-     * @param propertyName
-     * @param listener
-     * @see java.beans.PropertyChangeSupport#addPropertyChangeListener(java.lang.String,
-     *      java.beans.PropertyChangeListener)
-     */
-    public void addJalviewPropertyChangeListener(String propertyName,
-            PropertyChangeListener listener)
-    {
-      changeSupport.addPropertyChangeListener(propertyName, listener);
-    }
-
-    /**
-     * @param listener
-     * @see java.beans.PropertyChangeSupport#addPropertyChangeListener(java.beans.PropertyChangeListener)
-     */
-    public void addJalviewPropertyChangeListener(
-            PropertyChangeListener listener)
-    {
-      changeSupport.addPropertyChangeListener(listener);
-    }
-
-    /*
-     * @param propertyName
-     * 
-     * @param oldValue
-     * 
-     * @param newValue
-     * 
-     * @see
-     * java.beans.PropertyChangeSupport#firePropertyChange(java.lang.String,
-     * java.lang.Object, java.lang.Object) public void firePropertyChange(String
-     * propertyName, Object oldValue, Object newValue) {
-     * changeSupport.firePropertyChange(propertyName, oldValue, newValue); }
-     */
-
-    /**
-     * @param propertyName
-     * @param listener
-     * @see java.beans.PropertyChangeSupport#removePropertyChangeListener(java.lang.String,
-     *      java.beans.PropertyChangeListener)
-     */
-    public void removeJalviewPropertyChangeListener(String propertyName,
-            PropertyChangeListener listener)
-    {
-      changeSupport.removePropertyChangeListener(propertyName, listener);
-    }
-
-  }
-
   private JalviewChangeSupport changeSupport = new JalviewChangeSupport();
 
   /**
    * @param listener
-   * @see jalview.gui.Desktop.JalviewChangeSupport#addJalviewPropertyChangeListener(java.beans.PropertyChangeListener)
+   * @see jalview.gui.JalviewChangeSupport#addJalviewPropertyChangeListener(java.beans.PropertyChangeListener)
    */
   public void addJalviewPropertyChangeListener(
           PropertyChangeListener listener)
@@ -134,7 +67,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
   /**
    * @param propertyName
    * @param listener
-   * @see jalview.gui.Desktop.JalviewChangeSupport#addJalviewPropertyChangeListener(java.lang.String,
+   * @see jalview.gui.JalviewChangeSupport#addJalviewPropertyChangeListener(java.lang.String,
    *      java.beans.PropertyChangeListener)
    */
   public void addJalviewPropertyChangeListener(String propertyName,
@@ -146,7 +79,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
   /**
    * @param propertyName
    * @param listener
-   * @see jalview.gui.Desktop.JalviewChangeSupport#removeJalviewPropertyChangeListener(java.lang.String,
+   * @see jalview.gui.JalviewChangeSupport#removeJalviewPropertyChangeListener(java.lang.String,
    *      java.beans.PropertyChangeListener)
    */
   public void removeJalviewPropertyChangeListener(String propertyName,
@@ -2199,10 +2132,11 @@ public class Desktop extends jalview.jbgui.GDesktop implements
     }
     if (Cache.getDefault("SHOW_JWS2_SERVICES", true))
     {
-      jalview.ws.jws2.Jws2Discoverer.getDiscoverer()
-              .addPropertyChangeListener(changeSupport);
-      (t2 = new Thread(jalview.ws.jws2.Jws2Discoverer.getDiscoverer()))
-              .start();
+      if (jalview.ws.jws2.Jws2Discoverer.getDiscoverer().isRunning()) {
+        jalview.ws.jws2.Jws2Discoverer.getDiscoverer().setAborted(true);
+      }
+      t2=jalview.ws.jws2.Jws2Discoverer.getDiscoverer().startDiscoverer(changeSupport);
+      
     }
     if (blocking)
     {