Merge branch 'features/JAL-1605_html-svg-export' into develop
[jalview.git] / src / jalview / ws / jws2 / MsaWSThread.java
index 635f92b..2bae428 100644 (file)
@@ -232,7 +232,7 @@ class MsaWSThread extends AWS2Thread implements WSClientI
           int ow = w, nw = w;
           for (i = 0, w = emptySeqs.size(); i < w; i++)
           {
-            String[] es = (String[]) emptySeqs.get(i);
+            String[] es = emptySeqs.get(i);
             if (es != null && es[1] != null)
             {
               int sw = es[1].length();
@@ -263,7 +263,7 @@ class MsaWSThread extends AWS2Thread implements WSClientI
           }
           for (i = 0, w = emptySeqs.size(); i < w; i++)
           {
-            String[] es = (String[]) emptySeqs.get(i);
+            String[] es = emptySeqs.get(i);
             if (es[1] == null)
             {
               t_alseqs[i + alseq_l] = new jalview.datamodel.Sequence(es[0],
@@ -485,7 +485,7 @@ class MsaWSThread extends AWS2Thread implements WSClientI
     SequenceI[][] conmsa = _msa.getVisibleContigs('-');
     if (conmsa != null)
     {
-      int njobs = conmsa.length;
+      int nvalid = 0, njobs = conmsa.length;
       jobs = new MsaWSJob[njobs];
       for (int j = 0; j < njobs; j++)
       {
@@ -497,6 +497,10 @@ class MsaWSThread extends AWS2Thread implements WSClientI
         {
           jobs[j] = new MsaWSJob(0, conmsa[j]);
         }
+        if (((MsaWSJob) jobs[j]).hasValidInput())
+        {
+          nvalid++;
+        }
         ((MsaWSJob) jobs[j]).preset = preset;
         ((MsaWSJob) jobs[j]).arguments = paramset;
         ((MsaWSJob) jobs[j]).alignmentProgram = wsname;
@@ -507,9 +511,20 @@ class MsaWSThread extends AWS2Thread implements WSClientI
         }
         wsinfo.setProgressText(jobs[j].getJobnum(), OutputHeader);
       }
+      validInput = nvalid > 0;
     }
   }
 
+  boolean validInput = false;
+
+  /**
+   * 
+   * @return true if the thread will perform a calculation
+   */
+  public boolean hasValidInput()
+  {
+    return validInput;
+  }
   public boolean isCancellable()
   {
     return true;