JAL-3633 ensure check both http:// or https:// for urls
[jalview.git] / src / jalview / gui / AlignFrame.java
index e4aa736..b1efed6 100644 (file)
@@ -138,6 +138,7 @@ import jalview.schemes.ColourSchemeI;
 import jalview.schemes.ColourSchemes;
 import jalview.schemes.ResidueColourScheme;
 import jalview.schemes.TCoffeeColourScheme;
+import jalview.util.HttpUtils;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
 import jalview.viewmodel.AlignmentViewport;
@@ -1037,7 +1038,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);
@@ -1047,7 +1048,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
         Rectangle bounds = this.getBounds();
 
         FileLoader loader = new FileLoader();
-        DataSourceType protocol = fileName.startsWith("http:")
+        DataSourceType protocol = HttpUtils.startsWithHttpOrHttps(fileName)
                 ? DataSourceType.URL
                 : DataSourceType.FILE;
         AlignFrame newframe = loader.LoadFileWaitTillLoaded(fileName,
@@ -1094,7 +1095,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(null);
     }
@@ -1200,23 +1201,23 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
       else
       {
         // create backupfiles object and get new temp filename destination
-        Cache.log.debug("ALIGNFRAME making backupfiles object for " + file);
+        Cache.log.trace("ALIGNFRAME making backupfiles object for " + file);
         BackupFiles backupfiles = new BackupFiles(file);
 
         try
         {
           String tempFilePath = backupfiles.getTempFilePath();
-          Cache.log.debug(
+          Cache.log.trace(
                   "ALIGNFRAME setting PrintWriter to " + tempFilePath);
           PrintWriter out = new PrintWriter(new FileWriter(tempFilePath));
 
-          Cache.log.debug(
+          Cache.log.trace(
                   "ALIGNFRAME about to write to temp file " + tempFilePath);
 
           out.print(output);
-          Cache.log.debug("ALIGNFRAME about to close file");
+          Cache.log.trace("ALIGNFRAME about to close file");
           out.close();
-          Cache.log.debug("ALIGNFRAME closed file");
+          Cache.log.trace("ALIGNFRAME closed file");
           this.setTitle(file);
           statusBar.setText(MessageManager.formatMessage(
                   "label.successfully_saved_to_file_in_format", new Object[]
@@ -1233,7 +1234,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
         {
           success = false;
           Cache.log.error(
-                  "ALIGNFRAME Something else happened writing the temp file");
+                  "ALIGNFRAME Something unexpected happened writing the temp file");
           Cache.log.error(ex.getMessage());
           Cache.log.debug(Cache.getStackTraceString(ex));
         }
@@ -1242,7 +1243,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
         Cache.log.debug("ALIGNFRAME writing temp file was "
                 + (success ? "" : "NOT ") + "successful");
         // do the backup file roll and rename the temp file to actual file
-        Cache.log.debug("ALIGNFRAME about to rollBackupsAndRenameTempFile");
+        Cache.log.trace("ALIGNFRAME about to rollBackupsAndRenameTempFile");
         success = backupfiles.rollBackupsAndRenameTempFile();
         Cache.log.debug("ALIGNFRAME performed rollBackupsAndRenameTempFile "
                 + (success ? "" : "un") + "successfully");
@@ -1749,10 +1750,11 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   }
 
   /**
-   * DOCUMENT ME!
+   * Calls AlignmentI.moveSelectedSequencesByOne with current sequence selection
+   * or the sequence under cursor in keyboard mode
    * 
    * @param up
-   *          DOCUMENT ME!
+   *          or down (if !up)
    */
   public void moveSelectedSequences(boolean up)
   {
@@ -1760,8 +1762,25 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
 
     if (sg == null)
     {
+      if (viewport.cursorMode)
+      {
+        sg = new SequenceGroup();
+        sg.addSequence(viewport.getAlignment().getSequenceAt(
+                alignPanel.getSeqPanel().seqCanvas.cursorY), false);
+      }
+      else
+      {
+        return;
+      }
+    }
+
+    if (sg.getSize() < 1)
+    {
       return;
     }
+
+    // TODO: JAL-3733 - add an event to the undo buffer for this !
+
     viewport.getAlignment().moveSelectedSequencesByOne(sg,
             viewport.getHiddenRepSequences(), up);
     alignPanel.paintAlignment(true, false);
@@ -2717,15 +2736,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   }
 
   /**
-   * DOCUMENT ME!
+   * Opens a Finder dialog
    * 
    * @param e
-   *          DOCUMENT ME!
    */
   @Override
   public void findMenuItem_actionPerformed(ActionEvent e)
   {
-    new Finder();
+    new Finder(alignPanel);
   }
 
   /**