import jalview.gui.AlignFrame;
import jalview.gui.Desktop;
import jalview.util.MessageManager;
-import jalview.ws.api.UIinfo;
+import jalview.ws.api.JalviewServiceEndpointProviderI;
+import jalview.ws.api.ServiceWithParameters;
import jalview.ws.jws2.JabaParamStore;
import jalview.ws.jws2.MsaWSClient;
import jalview.ws.jws2.SequenceAnnotationWSClient;
import jalview.ws.params.ParamDatastoreI;
+import jalview.ws.params.ParamManager;
import java.io.Closeable;
import compbio.metadata.PresetManager;
import compbio.metadata.RunnerConfig;
-public class Jws2Instance extends UIinfo
+public class Jws2Instance extends ServiceWithParameters
+ implements JalviewServiceEndpointProviderI
{
public JABAService service;
super.finalize();
}
+ @Override
public ParamDatastoreI getParamStore()
{
if (paramStore == null)
private boolean hasParams = false, lookedForParams = false;
+ @Override
public boolean hasParameters()
{
if (!lookedForParams)
{
return aaui;
}
+
+ /**
+ * initialise a parameter store for this service
+ *
+ * @param userParameterStore
+ * - the user ParamManager (e.g. Desktop.getUserParameterStore() )
+ */
+ @Override
+ public void initParamStore(ParamManager userParameterStore)
+ {
+ if (paramStore == null)
+ {
+ paramStore = new JabaParamStore(this, userParameterStore);
+ }
+ }
+
+ /**
+ * an object that implements one or more interfaces in jalview.ws.api
+ *
+ * @return
+ */
+ @Override
+ public Object getEndpoint()
+ {
+ if (aaui!=null) {
+ // TODO complete
+ return null;
+ } else {
+ if (service instanceof MsaWS<?>)
+ {
+ return new JabawsMsaInstance(this);
+ } else {
+ // TODO complete
+ // service is for sequence analysis
+ return null;
+ }
+ }
+}
}