/** * */ package jalview.ws.jws2; import jalview.bin.Cache; import compbio.data.msa.MsaWS; import compbio.ws.client.Jws2Client; import compbio.ws.client.Services; /** * @author JimP * */ public class JabaWsServerQuery implements Runnable { Jws2Discoverer jws2Discoverer=null; String jwsservers=null; boolean quit=false, running=false; /** * @return the running */ public boolean isRunning() { return running; } /** * @param quit the quit to set */ public void setQuit(boolean quit) { this.quit = quit; } public JabaWsServerQuery(Jws2Discoverer jws2Discoverer, String jwsservers) { this.jws2Discoverer = jws2Discoverer; this.jwsservers=jwsservers; } /* (non-Javadoc) * @see java.lang.Runnable#run() */ @Override public void run() { running=true; try { if (Jws2Client.validURL(jwsservers)) { // look for services for (Services srv : Services.values()) { if (quit) { running=false; return; } MsaWS service = null; try { service = Jws2Client.connect(jwsservers, srv); } catch (Exception e) { System.err.println("Jws2 Discoverer: Problem on " + jwsservers + " with service " + srv + ":\n" + e.getMessage()); if (!(e instanceof javax.xml.ws.WebServiceException)) { e.printStackTrace(); } } ; if (service != null) { jws2Discoverer.addService(jwsservers, srv, service); } } } else { Cache.log.info("Ignoring invalid Jws2 service url " + jwsservers); } } catch (Exception e) { e.printStackTrace(); Cache.log.warn("Exception when discovering Jws2 services.", e); } catch (Error e) { Cache.log.error("Exception when discovering Jws2 services.", e); } running=false; } }