JAL-3560 moving JS-specific code to Platform, fix Platform.streamToFile
authorBobHanson <hansonr@stolaf.edu>
Thu, 19 Mar 2020 13:08:02 +0000 (08:08 -0500)
committerBobHanson <hansonr@stolaf.edu>
Thu, 19 Mar 2020 13:08:02 +0000 (08:08 -0500)
src/jalview/gui/StructureViewer.java
src/jalview/util/Platform.java

index dc5d77d..17b786d 100644 (file)
@@ -53,8 +53,7 @@ public class StructureViewer
 
   static
   {
-    Platform.loadStaticResource("core/core_jvjmol.z.js",
-            "org.jmol.viewer.Viewer");
+    Platform.ensureJmol();
   }
 
   private static final String UNKNOWN_VIEWER_TYPE = "Unknown structure viewer type ";
@@ -69,7 +68,7 @@ public class StructureViewer
   public enum ViewerType
   {
     JMOL, CHIMERA
-  };
+  }
 
   /**
    * Constructor
index 121ac1b..d9241b8 100644 (file)
@@ -22,7 +22,6 @@ package jalview.util;
 
 import jalview.javascript.json.JSON;
 
-import java.awt.Color;
 import java.awt.Dimension;
 import java.awt.Toolkit;
 import java.awt.event.MouseEvent;
@@ -574,17 +573,18 @@ public class Platform
   public static void streamToFile(InputStream is, File outFile)
           throws IOException
   {
+    if (isJS() && /**
+                   * JSTempFile direct transfer
+                   * 
+                   * @j2sNative outFile.setBytes$O && outFile.setBytes$O(is) &&
+                   */
+            true)
+    {
+      return;
+    }
     FileOutputStream fio = new FileOutputStream(outFile);
     try
     {
-      if (isJS()
-              && /**
-                  * @j2sNative outFile.setBytes$O && outFile.setBytes$O(is) &&
-                  */
-              true)
-      {
-        return;
-      }
       byte[] bb = new byte[32 * 1024];
       int l;
       while ((l = is.read(bb)) > 0)
@@ -700,6 +700,11 @@ public class Platform
      */
   }
 
+  public static void ensureJmol()
+  {
+    loadStaticResource("core/core_jvjmol.z.js", "org.jmol.viewer.Viewer");
+  }
+
   public static void ensureRegex()
   {
     loadStaticResource("core/core_stevesoft.z.js",
@@ -839,4 +844,5 @@ public class Platform
 
   }
 
+
 }