JAL-2344 use .equals() to compare FileFormatI objects
[jalview.git] / src / jalview / gui / Desktop.java
index 7810099..3fa5387 100644 (file)
@@ -24,7 +24,6 @@ import jalview.api.AlignViewportI;
 import jalview.api.AlignmentViewPanel;
 import jalview.bin.Cache;
 import jalview.bin.Jalview;
-import jalview.io.AppletFormatAdapter;
 import jalview.io.DataSourceType;
 import jalview.io.FileFormat;
 import jalview.io.FileFormatException;
@@ -447,11 +446,11 @@ public class Desktop extends jalview.jbgui.GDesktop implements
       public void run()
       {
         Cache.log.debug("Filechooser init thread started.");
-        new JalviewFileChooser(
-                jalview.bin.Cache.getProperty("LAST_DIRECTORY"),
-                jalview.io.AppletFormatAdapter.READABLE_EXTENSIONS,
-                jalview.io.AppletFormatAdapter.READABLE_FNAMES,
-                jalview.bin.Cache.getProperty("DEFAULT_FILE_FORMAT"));
+        String fileFormat = Cache.getProperty("DEFAULT_FILE_FORMAT");
+        JalviewFileChooser.forRead(Cache.getProperty("LAST_DIRECTORY"),
+        // jalview.io.AppletFormatAdapter.READABLE_EXTENSIONS,
+        // jalview.io.AppletFormatAdapter.READABLE_FNAMES,
+                fileFormat, true);
         Cache.log.debug("Filechooser init thread finished.");
       }
     }).start();
@@ -1011,11 +1010,12 @@ public class Desktop extends jalview.jbgui.GDesktop implements
   @Override
   public void inputLocalFileMenuItem_actionPerformed(AlignViewport viewport)
   {
-    JalviewFileChooser chooser = new JalviewFileChooser(
+    String fileFormat = Cache.getProperty("DEFAULT_FILE_FORMAT");
+    JalviewFileChooser chooser = JalviewFileChooser.forRead(
             Cache.getProperty("LAST_DIRECTORY"),
-            AppletFormatAdapter.READABLE_EXTENSIONS,
-            AppletFormatAdapter.READABLE_FNAMES,
-            Cache.getProperty("DEFAULT_FILE_FORMAT"));
+            // AppletFormatAdapter.READABLE_EXTENSIONS,
+            // AppletFormatAdapter.READABLE_FNAMES,
+            fileFormat, true);
 
     chooser.setFileView(new JalviewFileView());
     chooser.setDialogTitle(MessageManager
@@ -1031,8 +1031,8 @@ public class Desktop extends jalview.jbgui.GDesktop implements
               .getSelectedFile().getParent());
 
       FileFormatI format = null;
-      if (chooser.getSelectedFormat() != null
-              && chooser.getSelectedFormat() == FileFormat.Jalview)
+      FileFormatI selectedFormat = chooser.getSelectedFormat();
+      if (FileFormat.Jalview.equals(selectedFormat))
       {
         format = FileFormat.Jalview;
       }
@@ -1068,7 +1068,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
    */
   @Override
   public void inputURLMenuItem_actionPerformed(AlignViewport viewport)
-          throws FileFormatException
+  // throws FileFormatException
   {
     // This construct allows us to have a wider textfield
     // for viewing
@@ -1123,10 +1123,17 @@ public class Desktop extends jalview.jbgui.GDesktop implements
     }
     else
     {
-      FileFormatI format = new IdentifyFile().identify(url,
-              DataSourceType.URL);
+      FileFormatI format = null;
+      try
+      {
+        format = new IdentifyFile().identify(url, DataSourceType.URL);
+      } catch (FileFormatException e)
+      {
+        // TODO revise error handling, distinguish between
+        // URL not found and response not valid
+      }
 
-      if (format.equals("URL NOT FOUND"))
+      if (format == null)
       {
         JOptionPane.showInternalMessageDialog(Desktop.desktop,
                 MessageManager.formatMessage("label.couldnt_locate",
@@ -1527,8 +1534,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
   public void saveState_actionPerformed(ActionEvent e)
   {
     JalviewFileChooser chooser = new JalviewFileChooser(
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"),
-            new String[] { "jvp" }, new String[] { "Jalview Project" },
+            Cache.getProperty("LAST_DIRECTORY"), "jvp", "Jalview Project",
             "Jalview Project");
 
     chooser.setFileView(new JalviewFileView());
@@ -1599,7 +1605,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
   public void loadState_actionPerformed(ActionEvent e)
   {
     JalviewFileChooser chooser = new JalviewFileChooser(
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[] {
+            Cache.getProperty("LAST_DIRECTORY"), new String[] {
                 "jvp", "jar" }, new String[] { "Jalview Project",
                 "Jalview Project (old)" }, "Jalview Project");
     chooser.setFileView(new JalviewFileView());
@@ -1612,7 +1618,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
       final File selectedFile = chooser.getSelectedFile();
       setProjectFile(selectedFile);
       final String choice = selectedFile.getAbsolutePath();
-      jalview.bin.Cache.setProperty("LAST_DIRECTORY",
+      Cache.setProperty("LAST_DIRECTORY",
               selectedFile.getParent());
       new Thread(new Runnable()
       {
@@ -1821,7 +1827,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
    * 
    * @param af
    */
-  public void explodeViews(AlignFrame af)
+  public static void explodeViews(AlignFrame af)
   {
     int size = af.alignPanels.size();
     if (size < 2)
@@ -2183,9 +2189,8 @@ public class Desktop extends jalview.jbgui.GDesktop implements
     if (v_client != null)
     {
       JalviewFileChooser chooser = new JalviewFileChooser(
-              jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]
-              { "vdj" }, // TODO: VAMSAS DOCUMENT EXTENSION is VDJ
-              new String[] { "Vamsas Document" }, "Vamsas Document");
+              Cache.getProperty("LAST_DIRECTORY"), "vdj",
+              "Vamsas Document", "Vamsas Document");
 
       chooser.setFileView(new JalviewFileView());
       chooser.setDialogTitle(MessageManager
@@ -2199,7 +2204,7 @@ public class Desktop extends jalview.jbgui.GDesktop implements
         JPanel progpanel = addProgressPanel(MessageManager.formatMessage(
                 "label.saving_vamsas_doc",
                 new Object[] { choice.getName() }));
-        jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice.getParent());
+        Cache.setProperty("LAST_DIRECTORY", choice.getParent());
         String warnmsg = null;
         String warnttl = null;
         try