JAL-3446 from applet -- reload; also fixes some repaint issues
[jalview.git] / src / jalview / project / Jalview2XML.java
index 9303aed..b4b5003 100644 (file)
@@ -2850,6 +2850,12 @@ public class Jalview2XML
         }
 
         @Override
+        public File getFile()
+        {
+          return jarFile;
+        }
+
+        @Override
         public String getFilename()
         {
           return file;
@@ -2885,8 +2891,8 @@ public class Jalview2XML
     AlignFrame af = null, _af = null;
     IdentityHashMap<AlignmentI, AlignmentI> importedDatasets = new IdentityHashMap<>();
     Map<String, AlignFrame> gatherToThisFrame = new HashMap<>();
-    final String file = jprovider.getFilename();
-
+    String fileName = jprovider.getFilename();
+    File file = jprovider.getFile();
     List<AlignFrame> alignFrames = new ArrayList<>();
 
     try
@@ -2941,7 +2947,7 @@ public class Jalview2XML
             // Q: Do we have to load from the model, even if it
             // does not have a viewport, could we discover that early on?
             // Q: Do we need to load this object?
-            _af = loadFromObject(model, file, true, jprovider);
+            _af = loadFromObject(model, fileName, file, true, jprovider);
 //            Platform.timeCheck("Jalview2XML.loadFromObject",
             // Platform.TIME_MARK);
 
@@ -2984,7 +2990,7 @@ public class Jalview2XML
     } catch (IOException ex)
     {
       ex.printStackTrace();
-      errorMessage = "Couldn't locate Jalview XML file : " + file;
+      errorMessage = "Couldn't locate Jalview XML file : " + fileName;
       System.err.println(
               "Exception whilst loading jalview XML file : " + ex + "\n");
     } catch (Exception ex)
@@ -3356,16 +3362,17 @@ public class Jalview2XML
    * 
    * @param jalviewModel
    *          DOM
-   * @param file
+   * @param fileName
    *          filename source string
+   * @param file 
    * @param loadTreesAndStructures
    *          when false only create Viewport
    * @param jprovider
    *          data source provider
    * @return alignment frame created from view stored in DOM
    */
-  AlignFrame loadFromObject(JalviewModel jalviewModel, String file,
-          boolean loadTreesAndStructures, jarInputStreamProvider jprovider)
+  AlignFrame loadFromObject(JalviewModel jalviewModel, String fileName,
+          File file, boolean loadTreesAndStructures, jarInputStreamProvider jprovider)
   {
     SequenceSet vamsasSet = jalviewModel.getVamsasModel().getSequenceSet().get(0);
     List<Sequence> vamsasSeqs = vamsasSet.getSequence();
@@ -4132,7 +4139,7 @@ public class Jalview2XML
 
     if (af == null)
     {
-      af = loadViewport(file, jseqs, hiddenSeqs, al, jalviewModel, view,
+      af = loadViewport(fileName, file, jseqs, hiddenSeqs, al, jalviewModel, view,
               uniqueSeqSetId, viewId, autoAlan);
       av = af.getViewport();
       // note that this only retrieves the most recently accessed
@@ -4991,7 +4998,7 @@ public class Jalview2XML
     }
   }
 
-  AlignFrame loadViewport(String fileName, List<JSeq> JSEQ,
+  AlignFrame loadViewport(String fileName, File file, List<JSeq> JSEQ,
           List<SequenceI> hiddenSeqs, AlignmentI al, JalviewModel jm,
           Viewport view, String uniqueSeqSetId, String viewId,
           List<JvAnnotRow> autoAlan)
@@ -5011,7 +5018,7 @@ public class Jalview2XML
     // }
     ;
     af.alignPanel.setHoldRepaint(true);
-    af.setFileName(fileName, FileFormat.Jalview);
+    af.setFile(fileName, file, null, FileFormat.Jalview);
     af.setFileObject(jarFile); // BH 2019 JAL-3436
 
     final AlignViewport viewport = af.getViewport();
@@ -6127,7 +6134,7 @@ public class Jalview2XML
 
     viewportsAdded.clear();
 
-    AlignFrame af = loadFromObject(jm, null, false, null);
+    AlignFrame af = loadFromObject(jm, null, null, false, null);
     af.getAlignPanels().clear();
     af.closeMenuItem_actionPerformed(true);
     af.alignPanel.setHoldRepaint(false);