3253-omnibus save
[jalview.git] / src / jalview / io / FileLoader.java
index 0254b5f..a64582d 100755 (executable)
@@ -70,8 +70,6 @@ public class FileLoader implements Runnable
    */
   private static int MAX_HISTORY = 11;
 
-  private File selectedFile;
-
   String file;
 
   DataSourceType protocol;
@@ -81,6 +79,37 @@ public class FileLoader implements Runnable
   AlignmentFileReaderI source; // alternative specification of where data
                                // comes from
 
+  AlignViewport viewport;
+
+  AlignFrame alignFrame;
+
+  long loadtime;
+
+  long memused;
+
+  boolean raiseGUI = true;
+
+  private File selectedFile;
+
+  /**
+   * default constructor always raised errors in GUI dialog boxes
+   */
+  public FileLoader()
+  {
+    this(true);
+  }
+
+  /**
+   * construct a Fileloader that may raise errors non-interactively
+   * 
+   * @param raiseGUI
+   *          true if errors are to be raised as GUI dialog boxes
+   */
+  public FileLoader(boolean raiseGUI)
+  {
+    this.raiseGUI = raiseGUI;
+  }
+
   /**
    * It is critical that all these fields are set, as this instance is reused.
    * 
@@ -100,47 +129,69 @@ public class FileLoader implements Runnable
     this.format = format;
   }
 
-  AlignViewport viewport;
-
-  AlignFrame alignFrame;
-
-  long loadtime;
-
-  long memused;
-
-  boolean raiseGUI = true;
 
   /**
-   * default constructor always raised errors in GUI dialog boxes
+   * Uppercase LoadFile is deprecated because it does not pass byte[] data to
+   * JavaScript
+   * 
+   * @param viewport
+   * @param file
+   * @param protocol
+   * @param format
    */
-  public FileLoader()
+  @Deprecated
+  public void LoadFile(AlignViewport viewport, String file,
+          DataSourceType protocol, FileFormatI format)
   {
-    this(true);
+    if (viewport != null)
+    {
+      this.viewport = viewport;
+    }
+    loadFile(file, protocol, format);
+  }
+
+  public void LoadFile(AlignViewport viewport, File file,
+          DataSourceType protocol, FileFormatI format)
+  {
+    loadFile(viewport, file, protocol, format);
   }
 
   /**
-   * construct a Fileloader that may raise errors non-interactively
+   * Uppercase LoadFile is deprecated because it does not pass byte[] data to
+   * JavaScript
    * 
-   * @param raiseGUI
-   *          true if errors are to be raised as GUI dialog boxes
+   * @param file
+   * @param protocol
+   * @param format
    */
-  public FileLoader(boolean raiseGUI)
+  @Deprecated
+  public void LoadFile(String file, DataSourceType protocol,
+          FileFormatI format)
   {
-    this.raiseGUI = raiseGUI;
+    loadFile(file, protocol, format);
   }
 
-  public void loadFile(AlignViewport viewport, Object file,
+  /**
+   * necessary to use Object here in order to pass the file data
+   * 
+   * @param viewport
+   * @param file
+   *          File preferably to String
+   * @param protocol
+   * @param format
+   */
+  public void loadFile(AlignViewport viewport, File file,
           DataSourceType protocol, FileFormatI format)
   {
-    this.viewport = viewport;
-    if (file instanceof File) {
-      this.selectedFile = (File) file;
-      file = selectedFile.getPath();
+    if (viewport != null)
+    {
+      this.viewport = viewport;
     }
-    loadFile(file.toString(), protocol, format);
+    this.selectedFile = file;
+    loadFile(selectedFile.getPath(), protocol, format);
   }
 
-  public void loadFile(String file, DataSourceType protocol,
+  private void loadFile(String file, DataSourceType protocol,
           FileFormatI format)
   {
     this.file = file;
@@ -166,10 +217,11 @@ public class FileLoader implements Runnable
    * @param sourceType
    * @return alignFrame constructed from file contents
    */
+  @Deprecated
   public AlignFrame LoadFileWaitTillLoaded(String file,
           DataSourceType sourceType)
   {
-    return loadFileWaitTillLoaded(file, sourceType, null);
+    return LoadFileWaitTillLoaded(file, sourceType, null);
   }
 
   /**
@@ -180,7 +232,8 @@ public class FileLoader implements Runnable
    * @param format
    * @return alignFrame constructed from file contents
    */
-  public AlignFrame loadFileWaitTillLoaded(String file,
+  @Deprecated
+  public AlignFrame LoadFileWaitTillLoaded(String file,
           DataSourceType sourceType, FileFormatI format)
   {
     setFileFields(null, null, file, sourceType, format);
@@ -237,6 +290,7 @@ public class FileLoader implements Runnable
       // refer to it as.
       return;
     }
+    // BH logic change here just includes ignoring file==null
     if (file == null
             || file.indexOf(System.getProperty("java.io.tmpdir")) > -1)
     {
@@ -248,6 +302,7 @@ public class FileLoader implements Runnable
 
     String historyItems = Cache.getProperty(type);
 
+    // BH simpler coding
     if (historyItems != null)
     {
       String[] tokens = historyItems.split("\\t");