JAL-4020 class reformatting
[jalview.git] / src / ext / edu / ucsf / rbvi / strucviz2 / StructureManager.java
index 9078d12..f7dba79 100644 (file)
@@ -39,6 +39,7 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
@@ -74,8 +75,8 @@ public class StructureManager
       "1.11.2", "1.11.1", "1.11" };
 
   // Missing 1.1 as this has known bug see JAL-2422
-  private static String[] CHIMERAX_VERSIONS = new String[] { "1.2.5", "1.0",
-      "0.93", "0.92", "0.91", "0.9" };
+  private static String[] CHIMERAX_VERSIONS = new String[] { "1.3", "1.2.5",
+      "1.0", "0.93", "0.92", "0.91", "0.9" };
 
   static final String[] defaultStructureKeys = { "Structure", "pdb",
       "pdbFileName", "PDB ID", "structure", "biopax.xref.PDB", "pdb_ids",
@@ -561,8 +562,8 @@ public class StructureManager
 
   /**
    * This is called by the selectionListener to let us know that the user has
-   * changed their selection in Chimera. We need to go back to Chimera to find out
-   * what is currently selected and update our list.
+   * changed their selection in Chimera. We need to go back to Chimera to find
+   * out what is currently selected and update our list.
    */
   public void chimeraSelectionChanged()
   {
@@ -677,11 +678,11 @@ public class StructureManager
   }
 
   /**
-   * Add a selection to the selection list. This is called primarily by the Model
-   * Navigator Dialog to keep the selections in sync
+   * Add a selection to the selection list. This is called primarily by the
+   * Model Navigator Dialog to keep the selections in sync
    * 
    * @param selectionToAdd
-   *                         the selection to add to our list
+   *          the selection to add to our list
    */
   public void addChimSelection(ChimeraStructuralObject selectionToAdd)
   {
@@ -698,7 +699,7 @@ public class StructureManager
    * Model Navigator Dialog to keep the selections in sync
    * 
    * @param selectionToRemove
-   *                            the selection to remove from our list
+   *          the selection to remove from our list
    */
   public void removeChimSelection(ChimeraStructuralObject selectionToRemove)
   {
@@ -977,33 +978,38 @@ public class StructureManager
     // Add default installation paths
     if (os.startsWith("Linux"))
     {
-      // ChimeraX .deb and .rpm packages put symbolic link from /usr/bin/chimerax
-      pathList.add(String.format("/usr/bin/%s", chimeraExe.toLowerCase()));
+      // ChimeraX .deb and .rpm packages put symbolic link from
+      // /usr/bin/chimerax
+      pathList.add(String.format("/usr/bin/%s",
+              chimeraExe.toLowerCase(Locale.ROOT)));
       pathList.add(String.format("/usr/bin/%s", chimeraExe));
 
-      pathList.add(
-              String.format("/usr/local/bin/%s", chimeraExe.toLowerCase()));
+      pathList.add(String.format("/usr/local/bin/%s",
+              chimeraExe.toLowerCase(Locale.ROOT)));
       pathList.add(String.format("/usr/local/bin/%s", chimeraExe));
 
       // these paths also used by .deb and .rpm
       pathList.add(String.format("/usr/lib/ucsf-%s/bin/%s",
-              chimera.toLowerCase(), chimeraExe));
+              chimera.toLowerCase(Locale.ROOT), chimeraExe));
       pathList.add(String.format("/usr/libexec/UCSF-%s/bin/%s", chimera,
               chimeraExe));
 
       pathList.add(String.format("/usr/local/chimera/bin/%s", chimeraExe));
 
       // user home paths
-      pathList.add(String.format("%s/bin/%s",
-              System.getProperty("user.home"), chimeraExe.toLowerCase()));
+      pathList.add(
+              String.format("%s/bin/%s", System.getProperty("user.home"),
+                      chimeraExe.toLowerCase(Locale.ROOT)));
       pathList.add(String.format("%s/bin/%s",
               System.getProperty("user.home"), chimeraExe));
       pathList.add(String.format("%s/opt/bin/%s",
-              System.getProperty("user.home"), chimeraExe.toLowerCase()));
+              System.getProperty("user.home"),
+              chimeraExe.toLowerCase(Locale.ROOT)));
       pathList.add(String.format("%s/opt/bin/%s",
               System.getProperty("user.home"), chimeraExe));
       pathList.add(String.format("%s/local/bin/%s",
-              System.getProperty("user.home"), chimeraExe.toLowerCase()));
+              System.getProperty("user.home"),
+              chimeraExe.toLowerCase(Locale.ROOT)));
       pathList.add(String.format("%s/local/bin/%s",
               System.getProperty("user.home"), chimeraExe));
     }
@@ -1011,7 +1017,8 @@ public class StructureManager
     {
       for (String root : new String[] { "\\Program Files",
           "C:\\Program Files", "\\Program Files (x86)",
-          "C:\\Program Files (x86)" })
+          "C:\\Program Files (x86)", String.format("%s\\AppData\\Local",
+                  System.getProperty("user.home")) })
       {
         String[] candidates = isChimeraX ? CHIMERAX_VERSIONS
                 : CHIMERA_VERSIONS;
@@ -1040,9 +1047,15 @@ public class StructureManager
         pathList.add(
                 String.format("/Applications/%s-%s.app/Contents/MacOS/%s",
                         chimera, version, chimeraExe));
+        pathList.add(
+                String.format("%s/Applications/%s-%s.app/Contents/MacOS/%s",
+                        System.getProperty("user.home"), chimera, version,
+                        chimeraExe));
       }
       pathList.add(String.format("/Applications/%s.app/Contents/MacOS/%s",
               chimera, chimeraExe));
+      pathList.add(String.format("%s/Applications/%s.app/Contents/MacOS/%s",
+              System.getProperty("user.home"), chimera, chimeraExe));
     }
     return pathList;
   }