From: jprocter Date: Fri, 21 May 2010 10:08:08 +0000 (+0000) Subject: more robust discovery and preset support X-Git-Tag: Release_2_6~216 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=77ecb160b47e44406ebdb597c89470612544fee4;p=jalview.git more robust discovery and preset support --- diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 18465e1..0d8149c 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -531,7 +531,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public void run() { - System.err.println("Change support: build services again."); + System.err.println("Change support JWS1: build services again."); BuildWebServiceMenu(); } @@ -545,17 +545,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { public void propertyChange(PropertyChangeEvent evt) { - SwingUtilities.invokeLater(new Runnable() - { - - @Override - public void run() - { - System.err.println("Change support: build services again."); + System.err.println("Change support JWS2: build services again."); BuildWebServiceMenu(); - } - - }); } }); addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() diff --git a/src/jalview/ws/jws2/Jws2Discoverer.java b/src/jalview/ws/jws2/Jws2Discoverer.java index 164725b..172b393 100644 --- a/src/jalview/ws/jws2/Jws2Discoverer.java +++ b/src/jalview/ws/jws2/Jws2Discoverer.java @@ -2,6 +2,8 @@ package jalview.ws.jws2; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import java.net.ConnectException; import java.util.HashSet; import java.util.Vector; @@ -16,6 +18,8 @@ import jalview.datamodel.AlignmentView; import jalview.gui.AlignFrame; import jalview.ws.WSMenuEntryProviderI; import compbio.data.msa.MsaWS; +import compbio.metadata.Preset; +import compbio.metadata.PresetManager; import compbio.ws.client.Jws2Base; import compbio.ws.client.Jws2Base.Services; @@ -144,7 +148,23 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI this.serviceType = serviceType; this.service = service; } - + PresetManager presets = null; + /** + * non thread safe - gets the presets for this service (blocks whilst it calls the service to get the preset set) + * @return service presets or null if exceptions were raised. + */ + public PresetManager getPresets() { + if (presets == null) + { + try { + presets = service.getPresets(); + } catch (Exception ex) + { + System.err.println("Exception when retrieving presets for service "+serviceType+" at "+hosturl); + } + } + return presets; + } }; /** @@ -193,6 +213,14 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI public static void main(String[] args) { Thread runner = new Thread(getDiscoverer()); + getDiscoverer().addPropertyChangeListener(new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) + { + System.out.println("Changesupport: There are now "+getDiscoverer().services.size()+" services"); + } + }); runner.start(); while (runner.isAlive()) {