JAL-3070 abstract class for services with adjustable parameters
[jalview.git] / src / jalview / ws / jws2 / jabaws2 / Jws2Instance.java
index 85ac238..3bff20b 100644 (file)
@@ -23,11 +23,12 @@ package jalview.ws.jws2.jabaws2;
 import jalview.gui.AlignFrame;
 import jalview.gui.Desktop;
 import jalview.util.MessageManager;
-import jalview.ws.api.UIinfo;
+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;
 
@@ -39,7 +40,7 @@ import compbio.data.msa.SequenceAnnotation;
 import compbio.metadata.PresetManager;
 import compbio.metadata.RunnerConfig;
 
-public class Jws2Instance extends UIinfo
+public class Jws2Instance extends ServiceWithParameters
 {
 
   public JABAService service;
@@ -149,6 +150,7 @@ public class Jws2Instance extends UIinfo
     super.finalize();
   }
 
+  @Override
   public ParamDatastoreI getParamStore()
   {
     if (paramStore == null)
@@ -222,4 +224,19 @@ public class Jws2Instance extends UIinfo
   {
     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);
+    }
+  }
 }