refactored gap insert/visible view modification code from JPredThread
[jalview.git] / src / jalview / ws / rest / RestJob.java
index 80f4ac6..7987cab 100644 (file)
@@ -1,6 +1,7 @@
 package jalview.ws.rest;
 
 import java.io.IOException;
+import java.sql.ResultSet;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Hashtable;
@@ -135,7 +136,7 @@ public class RestJob extends AWsJob
   @Override
   public boolean hasResults()
   {
-    return gotresult;
+    return gotresult && (parsedResults ? validJvresults : true);
   }
 
   @Override
@@ -384,16 +385,29 @@ public class RestJob extends AWsJob
    * context used to parse results from service
    */
   JalviewDataset context = null;
-
+  protected boolean parsedResults = false;
+  protected boolean validJvresults=false;
   Object[] jvresultobj = null;
-
   /**
    * process the results obtained from the server into jalview datamodel objects
-   * ready to be merged/added to the users' view.
+   * ready to be merged/added to the users' view. Use hasResults to test if results were added to context. 
    */
   public void parseResultSet() throws Exception, Error
   {
-    jvresultobj = resSet.parseResultSet();
+    if (!parsedResults) {
+      parsedResults=true;
+      jvresultobj = resSet.parseResultSet();
+      validJvresults = true;
+    }
+  }
+
+  /**
+   * 
+   * @return true if job has an input alignment and it was annotated when results were parsed
+   */
+  public boolean isInputContextModified()
+  {
+    return contextAl!=null && validJvresults && context.getAl().get(0).isModified();
   }
 
 }