- } else
- if (service instanceof SequenceAnnotation<?>){
- new SequenceAnnotationWSClient().attachWSMenuEntry(atpoint, this, alignFrame);
+ }
+ else if (service instanceof SequenceAnnotation<?>)
+ {
+ new SequenceAnnotationWSClient().attachWSMenuEntry(atpoint, this,
+ alignFrame);
+ }
+ }
+
+ /**
+ * 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 (service instanceof MsaWS<?>)
+ {
+ if (aaui != 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;