JAL-1162 catch security exception and just use bare modelFileName string for applet
authorjprocter <jprocter@compbio.dundee.ac.uk>
Wed, 5 Sep 2012 14:23:28 +0000 (15:23 +0100)
committerjprocter <jprocter@compbio.dundee.ac.uk>
Wed, 5 Sep 2012 14:23:28 +0000 (15:23 +0100)
src/jalview/ext/jmol/JalviewJmolBinding.java

index 7f949c7..3f4f9f2 100644 (file)
@@ -39,6 +39,7 @@ import java.awt.event.ComponentEvent;
 import java.awt.event.ComponentListener;\r
 import java.io.File;\r
 import java.net.URL;\r
+import java.security.AccessControlException;\r
 import java.util.Enumeration;\r
 import java.util.Hashtable;\r
 import java.util.Map;\r
@@ -693,13 +694,25 @@ public abstract class JalviewJmolBinding implements StructureListener,
       String m=viewer.getModelFileName(0);\r
       if (m!=null)\r
       {\r
-        mset[0] = new File(m).getAbsolutePath();\r
+        try {\r
+          mset[0] = new File(m).getAbsolutePath();\r
+        } catch (AccessControlException x) {\r
+          // usually not allowed to do this in applet, so keep raw handle\r
+          mset[0] = m;\r
+          //System.err.println("jmolBinding: Using local file string from Jmol: "+m); \r
+        }\r
       }\r
       for (int i = 1; i < mset.length; i++)\r
       {\r
         m=viewer.getModelFileName(i);\r
         if (m!=null) {\r
-          mset[j] = new File(m).getAbsolutePath();\r
+          try {\r
+            mset[j] = new File(m).getAbsolutePath();\r
+          } catch (AccessControlException x) {\r
+            // usually not allowed to do this in applet, so keep raw handle\r
+            mset[j] = m;\r
+            //System.err.println("jmolBinding: Using local file string from Jmol: "+m); \r
+          }\r
         }\r
         _modelFileNameMap[j] = i; // record the model index for the filename\r
         // skip any additional models in the same file (NMR structures)\r