JAL-3949 Complete new abstracted logging framework in jalview.log. Updated log calls...
[jalview.git] / src / jalview / gui / AlignFrame.java
index 5b7a201..2838b9d 100644 (file)
@@ -20,6 +20,8 @@
  */
 package jalview.gui;
 
+import java.util.Locale;
+
 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Component;
@@ -144,6 +146,7 @@ import jalview.schemes.ColourSchemeI;
 import jalview.schemes.ColourSchemes;
 import jalview.schemes.ResidueColourScheme;
 import jalview.schemes.TCoffeeColourScheme;
+import jalview.util.HttpUtils;
 import jalview.util.ImageMaker.TYPE;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
@@ -365,7 +368,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
       // modifyPID.setEnabled(false);
     }
 
-    String sortby = jalview.bin.Cache.getDefault("SORT_ALIGNMENT",
+    String sortby = Cache.getDefault("SORT_ALIGNMENT",
             "No sort");
 
     if (sortby.equals("Id"))
@@ -408,7 +411,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
       wrapMenuItem_actionPerformed(null);
     }
 
-    if (jalview.bin.Cache.getDefault("SHOW_OVERVIEW", false))
+    if (Cache.getDefault("SHOW_OVERVIEW", false))
     {
       this.overviewMenuItem_actionPerformed(null);
     }
@@ -483,9 +486,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                 }
               }
             });
-    if (Cache.getDefault("VERSION", "DEVELOPMENT").toLowerCase()
+    if (Cache.getDefault("VERSION", "DEVELOPMENT").toLowerCase(Locale.ROOT)
             .indexOf("devel") > -1
-            || Cache.getDefault("VERSION", "DEVELOPMENT").toLowerCase()
+            || Cache.getDefault("VERSION", "DEVELOPMENT").toLowerCase(Locale.ROOT)
                     .indexOf("test") > -1)
     {
       formatMenu.add(vsel);
@@ -564,7 +567,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           }
           if (viewport.cursorMode)
           {
-            alignPanel.getSeqPanel().moveCursor(0, 1);
+            alignPanel.getSeqPanel().moveCursor(0, 1, evt.isShiftDown());
           }
           break;
 
@@ -575,7 +578,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           }
           if (viewport.cursorMode)
           {
-            alignPanel.getSeqPanel().moveCursor(0, -1);
+            alignPanel.getSeqPanel().moveCursor(0, -1,evt.isShiftDown());
           }
 
           break;
@@ -588,7 +591,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           }
           else
           {
-            alignPanel.getSeqPanel().moveCursor(-1, 0);
+            alignPanel.getSeqPanel().moveCursor(-1, 0, evt.isShiftDown());
           }
 
           break;
@@ -600,7 +603,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           }
           else
           {
-            alignPanel.getSeqPanel().moveCursor(1, 0);
+            alignPanel.getSeqPanel().moveCursor(1, 0, evt.isShiftDown());
           }
           break;
 
@@ -1011,7 +1014,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
    */
   public String getVersion()
   {
-    return jalview.bin.Cache.getProperty("VERSION");
+    return Cache.getProperty("VERSION");
   }
 
   public FeatureRenderer getFeatureRenderer()
@@ -1062,7 +1065,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
         Desktop.instance.closeAssociatedWindows();
 
         FileLoader loader = new FileLoader();
-        DataSourceType protocol = fileName.startsWith("http:")
+        DataSourceType protocol = HttpUtils.startsWithHttpOrHttps(fileName)
                 ? DataSourceType.URL
                 : DataSourceType.FILE;
         loader.LoadFile(viewport, fileName, protocol, currentFileFormat);
@@ -1078,9 +1081,8 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
         if (fileObject == null)
         {
 
-          DataSourceType protocol = (fileName.startsWith("http:")
-                  ? DataSourceType.URL
-                  : DataSourceType.FILE);
+          DataSourceType protocol = HttpUtils.startsWithHttpOrHttps(
+                  fileName) ? DataSourceType.URL : DataSourceType.FILE;
           newframe = loader.LoadFileWaitTillLoaded(fileName, protocol,
                   currentFileFormat);
         }
@@ -1131,7 +1133,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   public void save_actionPerformed(ActionEvent e)
   {
     if (fileName == null || (currentFileFormat == null)
-            || fileName.startsWith("http"))
+            || HttpUtils.startsWithHttpOrHttps(fileName))
     {
       saveAs_actionPerformed();
     }
@@ -1204,11 +1206,20 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
 
     if (!lastSaveSuccessful)
     {
-      JvOptionPane.showInternalMessageDialog(this, MessageManager
-              .formatMessage("label.couldnt_save_file", new Object[]
-              { lastFilenameSaved }),
-              MessageManager.getString("label.error_saving_file"),
-              JvOptionPane.WARNING_MESSAGE);
+      if (!Platform.isHeadless())
+      {
+        JvOptionPane.showInternalMessageDialog(this, MessageManager
+                .formatMessage("label.couldnt_save_file", new Object[]
+                { lastFilenameSaved }),
+                MessageManager.getString("label.error_saving_file"),
+                JvOptionPane.WARNING_MESSAGE);
+      }
+      else
+      {
+        Cache.error(MessageManager
+                .formatMessage("label.couldnt_save_file", new Object[]
+                { lastFilenameSaved }));
+      }
     }
     else
     {
@@ -1250,7 +1261,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
 
       statusBar.setText(MessageManager.formatMessage(
               "label.successfully_saved_to_file_in_format", new Object[]
-              { fileName, format }));
+              { file, format }));
 
       return;
     }
@@ -1288,7 +1299,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           BackupFiles backupfiles = null;
           if (doBackup)
           {
-            Cache.log.debug(
+            Cache.trace(
                     "ALIGNFRAME making backupfiles object for " + file);
             backupfiles = new BackupFiles(file);
           }
@@ -1296,19 +1307,19 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           {
             String tempFilePath = doBackup ? backupfiles.getTempFilePath()
                     : file;
-            Cache.log.debug("ALIGNFRAME setting PrintWriter");
+            Cache.trace("ALIGNFRAME setting PrintWriter");
             PrintWriter out = new PrintWriter(new FileWriter(tempFilePath));
 
             if (backupfiles != null)
             {
-              Cache.log.debug("ALIGNFRAME using temp file "
+              Cache.trace("ALIGNFRAME about to write to temp file "
                       + backupfiles.getTempFilePath());
             }
 
             out.print(output);
-            Cache.log.debug("ALIGNFRAME about to close file");
+            Cache.trace("ALIGNFRAME about to close file");
             out.close();
-            Cache.log.debug("ALIGNFRAME closed file");
+            Cache.trace("ALIGNFRAME closed file");
             AlignFrame.this.setTitle(file);
             statusBar.setText(MessageManager.formatMessage(
                     "label.successfully_saved_to_file_in_format",
@@ -1318,46 +1329,33 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           } catch (IOException e)
           {
             lastSaveSuccessful = false;
-            Cache.log.error(
+            Cache.error(
                     "ALIGNFRAME Something happened writing the temp file");
-            Cache.log.error(e.getMessage());
-            Cache.log.debug(e.getStackTrace());
+            Cache.error(e.getMessage());
+            Cache.debug(Cache.getStackTraceString(e));
           } catch (Exception ex)
           {
             lastSaveSuccessful = false;
-            Cache.log.error(
-                    "ALIGNFRAME Something else happened writing the temp file");
-            Cache.log.error(ex.getMessage());
-            Cache.log.debug(ex.getStackTrace());
+            Cache.error(
+                    "ALIGNFRAME Something unexpected happened writing the temp file");
+            Cache.error(ex.getMessage());
+            Cache.debug(Cache.getStackTraceString(ex));
           }
 
           if (doBackup)
           {
             backupfiles.setWriteSuccess(lastSaveSuccessful);
-            Cache.log.debug("ALIGNFRAME writing temp file was "
-                    + (lastSaveSuccessful ? "" : "not ") + "successful");
+            Cache.debug("ALIGNFRAME writing temp file was "
+                    + (lastSaveSuccessful ? "" : "NOT ") + "successful");
             // do the backup file roll and rename the temp file to actual file
-            Cache.log.debug(
+            Cache.trace(
                     "ALIGNFRAME about to rollBackupsAndRenameTempFile");
             lastSaveSuccessful = backupfiles.rollBackupsAndRenameTempFile();
-            Cache.log.debug(
+            Cache.debug(
                     "ALIGNFRAME performed rollBackupsAndRenameTempFile "
                             + (lastSaveSuccessful ? "" : "un")
                             + "successfully");
           }
-
-          if (!lastSaveSuccessful)
-          {
-            if (!Platform.isHeadless())
-            {
-              JvOptionPane.showInternalMessageDialog(AlignFrame.this,
-                      MessageManager.formatMessage(
-                              "label.couldnt_save_file", new Object[]
-                              { fileName }),
-                      MessageManager.getString("label.error_saving_file"),
-                      JvOptionPane.WARNING_MESSAGE);
-            }
-          }
         }
       }
     };
@@ -1536,7 +1534,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   public void associatedData_actionPerformed(ActionEvent e)
   {
     final JalviewFileChooser chooser = new JalviewFileChooser(
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
+            Cache.getProperty("LAST_DIRECTORY"));
     chooser.setFileView(new JalviewFileView());
     String tooltip = MessageManager
             .getString("label.load_jalview_annotations");
@@ -1548,7 +1546,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
       public void run()
       {
         String choice = chooser.getSelectedFile().getPath();
-        jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
+        Cache.setProperty("LAST_DIRECTORY", choice);
         loadJalviewDataFile(chooser.getSelectedFile(), null, null, null);
       }
     });
@@ -1735,7 +1733,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     {
       if (originalSource != viewport)
       {
-        Cache.log.warn(
+        Cache.warn(
                 "Implementation worry: mismatch of viewport origin for undo");
       }
       originalSource.updateHiddenColumns();
@@ -1775,7 +1773,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
 
       if (originalSource != viewport)
       {
-        Cache.log.warn(
+        Cache.warn(
                 "Implementation worry: mismatch of viewport origin for redo");
       }
       originalSource.updateHiddenColumns();
@@ -2829,7 +2827,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   @Override
   public void findMenuItem_actionPerformed(ActionEvent e)
   {
-    new Finder(alignPanel);
+    new Finder(alignPanel, false, null);
   }
 
   /**
@@ -4071,7 +4069,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   {
     // Pick the tree file
     JalviewFileChooser chooser = new JalviewFileChooser(
-            jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
+            Cache.getProperty("LAST_DIRECTORY"));
     chooser.setFileView(new JalviewFileView());
     chooser.setDialogTitle(
             MessageManager.getString("label.select_newick_like_tree_file"));
@@ -4301,7 +4299,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                       jws2servs.attachWSMenuEntry(webService, me);
                       for (Jws2Instance sv : jws2servs.getServices())
                       {
-                        if (sv.description.toLowerCase().contains("jpred"))
+                        if (sv.description.toLowerCase(Locale.ROOT).contains("jpred"))
                         {
                           for (JMenuItem jmi : legacyItems)
                           {
@@ -4335,7 +4333,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                 }
               } catch (Exception e)
               {
-                Cache.log.debug(
+                Cache.debug(
                         "Exception during web service menu building process.",
                         e);
               }
@@ -4432,7 +4430,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
       showProducts.setEnabled(showp);
     } catch (Exception e)
     {
-      Cache.log.warn(
+      Cache.warn(
               "canShowProducts threw an exception - please report to help@jalview.org",
               e);
       return false;
@@ -4473,7 +4471,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
       al = dna.translateCdna(codeTable);
     } catch (Exception ex)
     {
-      jalview.bin.Cache.log.error(
+      Cache.error(
               "Exception during translation. Please report this !", ex);
       final String msg = MessageManager.getString(
               "label.error_when_translating_sequences_submit_bug_report");
@@ -4836,7 +4834,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           }
         } catch (Exception x)
         {
-          Cache.log.debug(
+          Cache.debug(
                   "Exception when processing data source as T-COFFEE score file",
                   x);
           tcf = null;