import jalview.ws.params.ParamManager;
import java.io.Closeable;
+import java.net.URL;
import javax.swing.JMenu;
public JABAService service;
- public String docUrl;
-
/**
*
* @param hosturl
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)
+ {
+
+ }
+ }
}
}
@Override
public Object getEndpoint()
{
- if (aaui!=null) {
- // TODO complete
- return null;
- } else {
- if (service instanceof MsaWS<?>)
+ if (service instanceof MsaWS<?>)
+ {
+ if (aaui != null)
+ {
+ throw new Error(
+ "JABAWS MsaWS based instant calculation not implemented.");
+
+ }
+ else
{
- return new JabawsMsaInstance(this);
- } else {
- // TODO complete
- // service is for sequence analysis
- return null;
+ 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;
}
}
-}
+
+ public boolean isInteractiveUpdate()
+ {
+ return aaui != null && aaui.isAA();
+ }
}