JAL-3070 refactored Client specific code from jalview.ws.jws2.MSA* as implementors...
[jalview.git] / src / jalview / ws / AWsJob.java
index 17d361b..4a9cb74 100644 (file)
@@ -1,22 +1,32 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- * 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
  * PURPOSE.  See the GNU General Public License for more details.
  * 
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.ws;
 
+import jalview.ws.params.ArgumentI;
+import jalview.ws.params.WsParamSetI;
+
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Generic properties for an individual job within a Web Service Client thread.
  * Derived from jalview web services version 1 statuses, and revised for Jws2.
@@ -29,7 +39,8 @@ public abstract class AWsJob
   protected String jobId;
 
   /**
-   * @param jobId the jobId to set
+   * @param jobId
+   *          the jobId to set
    */
   public void setJobId(String jobId)
   {
@@ -47,7 +58,8 @@ public abstract class AWsJob
   int allowedServerExceptions = 3;
 
   /**
-   * @param allowedServerExceptions the allowedServerExceptions to set
+   * @param allowedServerExceptions
+   *          the allowedServerExceptions to set
    */
   public void setAllowedServerExceptions(int allowedServerExceptions)
   {
@@ -61,7 +73,8 @@ public abstract class AWsJob
   protected boolean submitted = false;
 
   /**
-   * @param jobnum the jobnum to set
+   * @param jobnum
+   *          the jobnum to set
    */
   public void setJobnum(int jobnum)
   {
@@ -69,7 +82,8 @@ public abstract class AWsJob
   }
 
   /**
-   * @param submitted the submitted to set
+   * @param submitted
+   *          the submitted to set
    */
   public void setSubmitted(boolean submitted)
   {
@@ -77,7 +91,8 @@ public abstract class AWsJob
   }
 
   /**
-   * @param subjobComplete the subjobComplete to set
+   * @param subjobComplete
+   *          the subjobComplete to set
    */
   public void setSubjobComplete(boolean subjobComplete)
   {
@@ -137,6 +152,12 @@ public abstract class AWsJob
    */
   protected boolean subjobComplete = false;
 
+  protected WsParamSetI preset = null;
+
+  protected List<ArgumentI> arguments = null;
+
+  protected Hashtable<String, Map> SeqNames = new Hashtable();
+
   public AWsJob()
   {
   }
@@ -203,15 +224,63 @@ public abstract class AWsJob
   abstract public String getStatus();
 
   abstract public boolean hasResponse();
+
   abstract public void clearResponse();
+
   abstract public String getState();
+
   /**
    * generates response using the abstract service flags.
-   * @return a standard state response 
+   * 
+   * @return a standard state response
    */
-  protected String _defaultState() {
-    
+  protected String _defaultState()
+  {
+
     String state = "";
     return state;
   }
+
+  public void setPreset(WsParamSetI jobpreset)
+  {
+    preset = jobpreset;
+  }
+
+  public void setArguments(List<ArgumentI> paramset)
+  {
+    arguments = paramset;
+
+  }
+
+  public boolean isPresetJob()
+  {
+    return preset!=null && arguments==null; 
+  }
+
+  public List<ArgumentI> getArguments()
+  {
+    return arguments;
+  }
+
+  public WsParamSetI getPreset()
+  {
+    return preset;
+  }
+
+  long nextChunk = 0;
+
+  /**
+   * update the record of the last position in the log file read for this job
+   * 
+   * @param nextChunk
+   */
+  public void setnextChunk(long nextChunk)
+  {
+    this.nextChunk = nextChunk;
+  }
+
+  public long getNextChunk()
+  {
+    return nextChunk;
+  }
 }