From c19a31fdb3569eb58b03a5dacf14ae0102bd2caa Mon Sep 17 00:00:00 2001 From: jprocter Date: Thu, 3 Jun 2010 13:59:44 +0000 Subject: [PATCH] fix and warning message in case the JWS2 jar is not available. --- src/jalview/ws/jws2/Jws2Discoverer.java | 102 +++++++++++++++++++------------ 1 file changed, 64 insertions(+), 38 deletions(-) diff --git a/src/jalview/ws/jws2/Jws2Discoverer.java b/src/jalview/ws/jws2/Jws2Discoverer.java index 172b393..5bce82f 100644 --- a/src/jalview/ws/jws2/Jws2Discoverer.java +++ b/src/jalview/ws/jws2/Jws2Discoverer.java @@ -32,7 +32,8 @@ import compbio.ws.client.Jws2Base.Services; */ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI { - private java.beans.PropertyChangeSupport changeSupport = new java.beans.PropertyChangeSupport(this); + private java.beans.PropertyChangeSupport changeSupport = new java.beans.PropertyChangeSupport( + this); /** * change listeners are notified of "services" property changes @@ -58,7 +59,8 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI changeSupport.removePropertyChangeListener(listener); } - boolean running=false; + boolean running = false; + @Override public void run() { @@ -66,9 +68,21 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI { return; } - running=true; -// Cache.initLogger(); -// Cache.log.setLevel(Level.DEBUG); + running = true; + try + { + Class foo = getClass().getClassLoader().loadClass( + "compbio.ws.client.JwsBase"); + } catch (ClassNotFoundException e) + { + System.err + .println("Not enabling Jalview Webservices version 2: client jar is not available." + +"\nPlease check that your webstart JNLP file is up to date!"); + running = false; + return; + } + // Cache.initLogger(); + // Cache.log.setLevel(Level.DEBUG); // TODO: Document and PACK JWS2 String jwsservers = Cache.getDefault("JWS2HOSTURLS", "http://webservices.compbio.dundee.ac.uk:8084/jws2"); @@ -83,11 +97,13 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI try { service = Jws2Base.connect(jwsservers, srv); - } - catch (Exception e) + } catch (Exception e) { - System.err.println("Jws2 Discoverer: Problem with "+jwsservers+" with service "+srv+":\n"+e.getMessage()); - if (!(e instanceof javax.xml.ws.WebServiceException)) { + System.err.println("Jws2 Discoverer: Problem with " + + jwsservers + " with service " + srv + ":\n" + + e.getMessage()); + if (!(e instanceof javax.xml.ws.WebServiceException)) + { e.printStackTrace(); } } @@ -111,7 +127,7 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI { Cache.log.error("Exception when discovering Jws2 services.", e); } - running=false; + running = false; changeSupport.firePropertyChange("services", new Vector(), services); } @@ -124,7 +140,8 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI */ private void addService(String jwsservers, Services srv, MsaWS service2) { - if (services==null) { + if (services == null) + { services = new Vector(); } System.out.println("Discovered service: " + jwsservers + " " @@ -148,19 +165,27 @@ 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) + * 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() { + public PresetManager getPresets() + { if (presets == null) { - try { + try + { presets = service.getPresets(); } catch (Exception ex) { - System.err.println("Exception when retrieving presets for service "+serviceType+" at "+hosturl); + System.err + .println("Exception when retrieving presets for service " + + serviceType + " at " + hosturl); } } return presets; @@ -175,7 +200,7 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI @Override public void attachWSMenuEntry(JMenu wsmenu, final AlignFrame alignFrame) { - if (running || services==null || services.size() == 0) + if (running || services == null || services.size() == 0) { return; } @@ -188,37 +213,36 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI for (final Jws2Instance service : services) { msacl.attachWSMenuEntry(jws2, service, alignFrame); - /*JMenuItem sitem = new JMenuItem(service.serviceType); - sitem.setToolTipText("Hosted at " + service.hosturl); - sitem.addActionListener(new ActionListener() - { - - @Override - public void actionPerformed(ActionEvent e) - { - AlignmentView msa = alignFrame.gatherSequencesForAlignment(); - MsaWSClient client = new MsaWSClient(service, - "JWS2 Alignment of " + alignFrame.getTitle(), msa, false, - true, alignFrame.getViewport().getAlignment().getDataset(), - alignFrame); - } - });*/ + /* + * JMenuItem sitem = new JMenuItem(service.serviceType); + * sitem.setToolTipText("Hosted at " + service.hosturl); + * sitem.addActionListener(new ActionListener() { + * + * @Override public void actionPerformed(ActionEvent e) { AlignmentView + * msa = alignFrame.gatherSequencesForAlignment(); MsaWSClient client = + * new MsaWSClient(service, "JWS2 Alignment of " + alignFrame.getTitle(), + * msa, false, true, alignFrame.getViewport().getAlignment().getDataset(), + * alignFrame); } }); + */ } - if (services.size()>0) + if (services.size() > 0) { wsmenu.add(jws2); } - + } + public static void main(String[] args) { Thread runner = new Thread(getDiscoverer()); - getDiscoverer().addPropertyChangeListener(new PropertyChangeListener() { + getDiscoverer().addPropertyChangeListener(new PropertyChangeListener() + { @Override public void propertyChange(PropertyChangeEvent evt) { - System.out.println("Changesupport: There are now "+getDiscoverer().services.size()+" services"); + System.out.println("Changesupport: There are now " + + getDiscoverer().services.size() + " services"); } }); runner.start(); @@ -233,10 +257,12 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI ; } } + private static Jws2Discoverer discoverer; + public static Jws2Discoverer getDiscoverer() { - if (discoverer==null) + if (discoverer == null) { discoverer = new Jws2Discoverer(); } @@ -246,12 +272,12 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI public boolean hasServices() { // TODO Auto-generated method stub - return !running && services!=null && services.size()>0; + return !running && services != null && services.size() > 0; } public boolean isRunning() { return running; } - + } -- 1.7.10.2