JAL-3032 part2 local file reading by JFileChooser
[jalview.git] / src / jalview / io / FileLoader.java
index 9dd740b..74c82eb 100755 (executable)
@@ -71,6 +71,8 @@ public class FileLoader implements Runnable
 
   boolean raiseGUI = true;
 
+  private File selectedFile;
+
   /**
    * default constructor always raised errors in GUI dialog boxes
    */
@@ -97,6 +99,14 @@ public class FileLoader implements Runnable
     LoadFile(file, protocol, format);
   }
 
+  public void LoadFile(AlignViewport viewport, File selectedFile,
+          DataSourceType protocol, FileFormatI format)
+  {
+    this.viewport = viewport;
+    this.selectedFile = selectedFile;
+    LoadFile(selectedFile.getPath(), protocol, format);
+  }
+
   public void LoadFile(String file, DataSourceType protocol,
           FileFormatI format)
   {
@@ -260,6 +270,9 @@ public class FileLoader implements Runnable
           format = new IdentifyFile().identify(source, false);
           // identify stream and rewind rather than close
         }
+        else if (selectedFile != null) {
+          format = new IdentifyFile().identify(selectedFile, protocol);
+        }
         else
         {
           format = new IdentifyFile().identify(file, protocol);
@@ -340,8 +353,14 @@ public class FileLoader implements Runnable
             }
             else
             {
-              al = fa.readFile(file, protocol, format);
+              if (selectedFile == null) {
+                al = fa.readFile(file, protocol, format);
+                
+              } else {
+                al = fa.readFile(selectedFile, protocol, format);
+                             }
               source = fa.getAlignFile(); // keep reference for later if
+              
                                           // necessary.
             }
           }