X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws2%2Fjabaws2%2FJws2Instance.java;h=9f2d4aecb41211791a4a6645a50d47b2f0778838;hb=dbf124d82413368d7aba34f8e3d8e7ad25167dea;hp=01c13a8f34962014a0ee1fbc0ff95a28da33a969;hpb=02c1474aa3b80a034a475edd9dc77fe8928ad1f1;p=jalview.git diff --git a/src/jalview/ws/jws2/jabaws2/Jws2Instance.java b/src/jalview/ws/jws2/jabaws2/Jws2Instance.java index 01c13a8..9f2d4ae 100644 --- a/src/jalview/ws/jws2/jabaws2/Jws2Instance.java +++ b/src/jalview/ws/jws2/jabaws2/Jws2Instance.java @@ -23,6 +23,7 @@ package jalview.ws.jws2.jabaws2; import jalview.gui.AlignFrame; import jalview.gui.Desktop; import jalview.util.MessageManager; +import jalview.ws.api.JalviewServiceEndpointProviderI; import jalview.ws.api.ServiceWithParameters; import jalview.ws.jws2.JabaParamStore; import jalview.ws.jws2.MsaWSClient; @@ -31,6 +32,7 @@ import jalview.ws.params.ParamDatastoreI; import jalview.ws.params.ParamManager; import java.io.Closeable; +import java.net.URL; import javax.swing.JMenu; @@ -41,12 +43,11 @@ import compbio.metadata.PresetManager; import compbio.metadata.RunnerConfig; public class Jws2Instance extends ServiceWithParameters + implements JalviewServiceEndpointProviderI, AutoCloseable { public JABAService service; - public String docUrl; - /** * * @param hosturl @@ -69,11 +70,26 @@ public class Jws2Instance extends ServiceWithParameters int p = description.indexOf("MORE INFORMATION:"); if (p > -1) { - docUrl = description.substring(description.indexOf("http", p)).trim(); + String docUrl = description.substring(description.indexOf("http", p)) + .trim(); if (docUrl.indexOf('\n') > -1) { docUrl = docUrl.substring(0, docUrl.indexOf("\n")).trim(); } + if (docUrl.length() > 0) + { + try + { + URL url = new URL(docUrl); + if (url != null) + { + setDocumentationUrl(docUrl); + } + } catch (Exception x) + { + + } + } } } @@ -135,7 +151,7 @@ public class Jws2Instance extends ServiceWithParameters } @Override - protected void finalize() throws Throwable + public void close() { if (service != null) { @@ -147,7 +163,7 @@ public class Jws2Instance extends ServiceWithParameters // ignore } } - super.finalize(); + // super.finalize(); } @Override @@ -170,20 +186,9 @@ public class Jws2Instance extends ServiceWithParameters return paramStore; } - public String getUri() - { - // TODO verify that service parameter sets in projects are consistent with - // Jalview 2.10.4 - // this is only valid for Jaba 1.0 - this formula might have to change! - return getHostURL() - + (getHostURL().lastIndexOf("/") == (getHostURL().length() - 1) - ? "" - : "/") - + getName(); - } - private boolean hasParams = false, lookedForParams = false; + @Override public boolean hasParameters() { if (!lookedForParams) @@ -213,18 +218,6 @@ public class Jws2Instance extends ServiceWithParameters } } - public String getNameURI() - { - return "java:" + getName(); - } - - jalview.ws.uimodel.AlignAnalysisUIText aaui; - - public jalview.ws.uimodel.AlignAnalysisUIText getAlignAnalysisUI() - { - return aaui; - } - /** * initialise a parameter store for this service * @@ -245,20 +238,42 @@ public class Jws2Instance extends ServiceWithParameters * * @return */ + @Override public Object getEndpoint() { - if (aaui!=null) { - // TODO complete - return null; - } else { - if (service instanceof MsaWS) + if (service instanceof MsaWS) + { + if (aaui != null) { - return new JabawsMsaInstance(this); - } else { - // TODO complete - // service is for sequence analysis - return null; + throw new Error( + "JABAWS MsaWS based instant calculation not implemented."); + + } + else + { + return new JabawsMsaInstance(this); + } + } + else + { + if (service instanceof compbio.data.msa.SequenceAnnotation) + { + if (aaui != null) + { + try + { + // probably a factory would be nicer but.. + return aaui.getClient().getConstructor(getClass()) + .newInstance(this); + } catch (Throwable t) + { + throw new Error("Implementation Error in web service framework", + t); + } + } + return new AADisorderClient(this); + } + return null; } } } -}