JAL-1171 refactor code to allow gui update for global status before and after results...
authorjprocter <jprocter@compbio.dundee.ac.uk>
Fri, 21 Sep 2012 16:18:34 +0000 (17:18 +0100)
committerjprocter <jprocter@compbio.dundee.ac.uk>
Fri, 21 Sep 2012 16:19:10 +0000 (17:19 +0100)
src/jalview/ws/AWSThread.java
src/jalview/ws/jws2/MsaWSThread.java

index 7300462..eea756e 100644 (file)
@@ -163,30 +163,7 @@ public abstract class AWSThread extends Thread
         jstate.updateJobPanelState(wsInfo, OutputHeader, jobs[j]);
       }
       // Decide on overall state based on collected jobs[] states
-      if (jstate.running > 0)
-      {
-        wsInfo.setStatus(WebserviceInfo.STATE_RUNNING);
-      }
-      else if (jstate.queuing > 0)
-      {
-        wsInfo.setStatus(WebserviceInfo.STATE_QUEUING);
-      }
-      else
-      {
-        jobComplete = true;
-        if (jstate.finished > 0)
-        {
-          wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_OK);
-        }
-        else if (jstate.error > 0)
-        {
-          wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);
-        }
-        else if (jstate.serror > 0)
-        {
-          wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_SERVERERROR);
-        }
-      }
+      updateGlobalStatus(jstate);
       if (!jobComplete)
       {
         try
@@ -214,6 +191,34 @@ public abstract class AWSThread extends Thread
     }
   }
 
+  protected void updateGlobalStatus(JobStateSummary jstate)
+  {
+    if (jstate.running > 0)
+    {
+      wsInfo.setStatus(WebserviceInfo.STATE_RUNNING);
+    }
+    else if (jstate.queuing > 0)
+    {
+      wsInfo.setStatus(WebserviceInfo.STATE_QUEUING);
+    }
+    else
+    {
+      jobComplete = true;
+      if (jstate.finished > 0)
+      {
+        wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_OK);
+      }
+      else if (jstate.error > 0)
+      {
+        wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);
+      }
+      else if (jstate.serror > 0)
+      {
+        wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_SERVERERROR);
+      }
+    }
+  }
+
   public AWSThread()
   {
     super();
index 393f475..86f5fbc 100644 (file)
@@ -845,9 +845,9 @@ class MsaWSThread extends AWS2Thread implements WSClientI
     }
     else
     {
-      wsInfo.setStatus(WebserviceInfo.STATE_STOPPED_ERROR);
       wsInfo.setFinishedNoResults();
     }
+    updateGlobalStatus(finalState);
     wsInfo.setProgressBar(null, progbar);
   }