JAL-4160 JAL-4195 wait around until alignFrame calculators are finished before trying...
[jalview.git] / src / jalview / bin / Commands.java
index 753ded2..fc8a51a 100644 (file)
@@ -100,6 +100,16 @@ public class Commands
         theseArgsWereParsed &= processLinked(id);
         processGroovyScript(id);
         boolean processLinkedOkay = theseArgsWereParsed;
+        
+        // wait around until alignFrame isn't busy
+        AlignFrame af=afMap.get(id);
+        while (af!=null && af.getViewport().isCalcInProgress())
+        {
+          try {
+            Thread.sleep(25);
+          } catch (Exception q) {};
+        }
+        
         theseArgsWereParsed &= processImages(id);
         if (processLinkedOkay)
           theseArgsWereParsed &= processOutput(id);
@@ -107,7 +117,7 @@ public class Commands
         // close ap
         if (avm.getBoolean(Arg.CLOSE))
         {
-          AlignFrame af = afMap.get(id);
+          af = afMap.get(id);
           if (af != null)
           {
             af.closeMenuItem_actionPerformed(true);
@@ -452,14 +462,6 @@ public class Commands
           Console.debug("Using structure file "
                   + structureFile.getAbsolutePath());
 
-          // ##### Does this need to happen? Follow
-          // openStructureFileForSequence() below
-          /*
-          PDBEntry fileEntry = new AssociatePdbFileWithSeq()
-                  .associatePdbWithSeq(structureFile.getAbsolutePath(),
-                          DataSourceType.FILE, seq, true, Desktop.instance);
-                          */
-
           // open structure view
           AlignmentPanel ap = af.alignPanel;
           if (headless)
@@ -505,15 +507,6 @@ public class Commands
                   Arg.NOTEMPFAC, subVals, null, "ADD_TEMPFACT_ANN", false,
                   true);
           TFType tft = notempfac ? null : TFType.DEFAULT;
-          /*
-          String tftString = subVals.get("tempfac");
-          ArgValue tftAv = getArgAssociatedWithStructure(Arg.TEMPFAC, avm,
-                  af, structureFilepath);
-          if (tftString == null && tftAv != null)
-          {
-            tftString = tftAv.getSubVals().getContent();
-          }
-          */
           if (tftString != null && !notempfac)
           {
             // get kind of temperature factor annotation
@@ -755,6 +748,7 @@ public class Commands
           break;
 
         case "biojs":
+          Console.debug("Creating BioJS MSA Viwer HTML file: " + fileName);
           try
           {
             BioJsHTMLOutput.refreshVersionInfo(
@@ -765,17 +759,16 @@ public class Commands
           }
           BioJsHTMLOutput bjs = new BioJsHTMLOutput(af.alignPanel);
           bjs.exportHTML(fileName);
-          Console.debug("Creating BioJS MSA Viwer HTML file: " + fileName);
           break;
 
         case "eps":
-          af.createEPS(file, name);
           Console.debug("Creating EPS file: " + fileName);
+          af.createEPS(file, name);
           break;
 
         case "imagemap":
-          af.createImageMap(file, name);
           Console.debug("Creating ImageMap file: " + fileName);
+          af.createImageMap(file, name);
           break;
 
         default: