JAL-3066 JAL-3070 pull up non-jabaws specific service descriptor components for annot...
[jalview.git] / src / jalview / ws / api / ServiceWithParameters.java
index cf82708..d345869 100644 (file)
@@ -5,6 +5,8 @@ import jalview.ws.params.ParamManager;
 public abstract class ServiceWithParameters extends UIinfo
 {
 
+  protected jalview.ws.uimodel.AlignAnalysisUIText aaui;
+
   public ServiceWithParameters(String serviceType, String action,
           String name, String description, String hosturl)
   {
@@ -13,4 +15,68 @@ public abstract class ServiceWithParameters extends UIinfo
 
   public abstract void initParamStore(ParamManager userParameterStore);
 
+  public jalview.ws.uimodel.AlignAnalysisUIText getAlignAnalysisUI()
+  {
+    return aaui;
+  }
+
+  public void setAlignAnalysisUI(
+          jalview.ws.uimodel.AlignAnalysisUIText aaui)
+  {
+    this.aaui = aaui;
+  }
+
+  public boolean isInteractiveUpdate()
+  {
+    return aaui != null && aaui.isAA();
+  }
+  // config flags for SeqAnnotationServiceCalcWorker
+
+  public boolean isProteinService()
+  {
+    return aaui == null ? true : aaui.isPr();
+  }
+
+  public boolean isNucleotideService()
+  {
+    return aaui == null ? false : aaui.isNa();
+  }
+
+  public boolean isNeedsAlignedSequences()
+  {
+    return aaui == null ? false : aaui.isNeedsAlignedSeqs();
+  }
+
+  public boolean isAlignmentAnalysis()
+  {
+    return aaui == null ? false : aaui.isAA();
+  }
+
+  public boolean isFilterSymbols()
+  {
+    return aaui != null ? aaui.isFilterSymbols() : true;
+  }
+
+  public int getMinimumInputSequences()
+  {
+    return aaui != null ? aaui.getMinimumSequences() : 1;
+  }
+
+  public String getNameURI()
+  {
+    return "java:" + getName();
+  }
+
+  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();
+  }
+
 }