JAL-3725 restrict mapped virtual feature location to mapped region
[jalview.git] / src / jalview / io / JalviewFileView.java
index 857d043..b90bd7a 100755 (executable)
@@ -20,6 +20,8 @@
  */
 package jalview.io;
 
+import java.util.Locale;
+
 import jalview.util.MessageManager;
 
 import java.io.File;
@@ -47,7 +49,7 @@ public class JalviewFileView extends FileView
       String exts = ff.getExtensions();
       for (String ext : exts.split(","))
       {
-        ext = ext.trim().toLowerCase();
+        ext = ext.trim().toLowerCase(Locale.ROOT);
         extensions.put(ext,
                 desc + ("jar".equals(ext) ? " (old)" : ""));
       }
@@ -94,9 +96,16 @@ public class JalviewFileView extends FileView
     if (type == null)
     {
       Iterator<String> it = extensions.keySet().iterator();
-      while (it.hasNext())
+      EXTENSION: while (it.hasNext())
       {
         String ext = it.next();
+
+        // quick negative test
+        if (!f.getName().contains(ext))
+        {
+          continue EXTENSION;
+        }
+
         BackupFilenameParts bfp = BackupFilenameParts
                 .currentBackupFilenameParts(f.getName(), ext, true);
         if (bfp.isBackupFile())
@@ -129,7 +138,7 @@ public class JalviewFileView extends FileView
 
     if ((i > 0) && (i < (s.length() - 1)))
     {
-      ext = s.substring(i + 1).toLowerCase();
+      ext = s.substring(i + 1).toLowerCase(Locale.ROOT);
     }
 
     return ext;