JAL-3691 automatic insertion of Locale.ROOT to toUpperCase() and toLowerCase() and...
[jalview.git] / src / jalview / io / NewickFile.java
index c414145..ec5d267 100755 (executable)
@@ -26,6 +26,8 @@
 // TODO: Extended SequenceNodeI to hold parsed NHX strings
 package jalview.io;
 
+import java.util.Locale;
+
 import jalview.datamodel.SequenceNode;
 import jalview.util.MessageManager;
 
@@ -35,6 +37,8 @@ import java.io.FileReader;
 import java.io.IOException;
 import java.util.StringTokenizer;
 
+import com.stevesoft.pat.Regex;
+
 /**
  * Parse a new hanpshire style tree Caveats: NHX files are NOT supported and the
  * tree distances and topology are unreliable when they are parsed. TODO: on
@@ -87,13 +91,13 @@ public class NewickFile extends FileParse
 
   boolean printRootInfo = true;
 
-  private com.stevesoft.pat.Regex[] NodeSafeName = new com.stevesoft.pat.Regex[] {
-      new com.stevesoft.pat.Regex().perlCode("m/[\\[,:'()]/"), // test for
+  private Regex[] NodeSafeName = new Regex[] {
+      new Regex().perlCode("m/[\\[,:'()]/"), // test for
       // requiring
       // quotes
-      new com.stevesoft.pat.Regex().perlCode("s/'/''/"), // escaping quote
+      new Regex().perlCode("s/'/''/"), // escaping quote
       // characters
-      new com.stevesoft.pat.Regex().perlCode("s/\\/w/_/") // unqoted whitespace
+      new Regex().perlCode("s/\\/w/_/") // unqoted whitespace
       // transformation
   };
 
@@ -292,7 +296,7 @@ public class NewickFile extends FileParse
     boolean ascending = false; // flag indicating that we are leaving the
     // current node
 
-    com.stevesoft.pat.Regex majorsyms = new com.stevesoft.pat.Regex(
+    Regex majorsyms = new Regex(
             "[(\\['),;]");
 
     int nextcp = 0;
@@ -314,8 +318,6 @@ public class NewickFile extends FileParse
 
           continue;
         }
-
-        ;
         d++;
 
         if (c.right() == null)
@@ -354,7 +356,7 @@ public class NewickFile extends FileParse
       // Deal with quoted fields
       case '\'':
 
-        com.stevesoft.pat.Regex qnodename = new com.stevesoft.pat.Regex(
+        Regex qnodename = new Regex(
                 "'([^']|'')+'");
 
         if (qnodename.searchFrom(nf, fcp))
@@ -363,7 +365,7 @@ public class NewickFile extends FileParse
           nodename = new String(
                   qnodename.stringMatched().substring(1, nl - 1));
           // unpack any escaped colons
-          com.stevesoft.pat.Regex xpandquotes = com.stevesoft.pat.Regex
+          Regex xpandquotes = Regex
                   .perlCode("s/''/'/");
           String widernodename = xpandquotes.replaceAll(nodename);
           nodename = widernodename;
@@ -398,7 +400,7 @@ public class NewickFile extends FileParse
            * '"+nf.substring(cp,fcp)+"'"); }
            */
           // verify termination.
-          com.stevesoft.pat.Regex comment = new com.stevesoft.pat.Regex(
+          Regex comment = new Regex(
                   "]");
           if (comment.searchFrom(nf, fcp))
           {
@@ -415,8 +417,6 @@ public class NewickFile extends FileParse
             Error = ErrorStringrange(Error, "Unterminated comment", 3, fcp,
                     nf);
           }
-
-          ;
         }
         // Parse simpler field strings
         String fstring = nf.substring(ncp, fcp);
@@ -432,11 +432,11 @@ public class NewickFile extends FileParse
                   + fstring.substring(cend + 1);
 
         }
-        com.stevesoft.pat.Regex uqnodename = new com.stevesoft.pat.Regex(
+        Regex uqnodename = new Regex(
                 "\\b([^' :;\\](),]+)");
-        com.stevesoft.pat.Regex nbootstrap = new com.stevesoft.pat.Regex(
+        Regex nbootstrap = new Regex(
                 "\\s*([0-9+]+)\\s*:");
-        com.stevesoft.pat.Regex ndist = new com.stevesoft.pat.Regex(
+        Regex ndist = new Regex(
                 ":([-0-9Ee.+]+)");
 
         if (!parsednodename && uqnodename.search(fstring)
@@ -477,7 +477,7 @@ public class NewickFile extends FileParse
           {
             try
             {
-              bootstrap = (new Integer(nbootstrap.stringMatched(1)))
+              bootstrap = (Integer.valueOf(nbootstrap.stringMatched(1)))
                       .intValue();
               HasBootstrap = true;
             } catch (Exception e)
@@ -494,7 +494,7 @@ public class NewickFile extends FileParse
         {
           try
           {
-            distance = (new Float(ndist.stringMatched(1))).floatValue();
+            distance = (Float.valueOf(ndist.stringMatched(1))).floatValue();
             HasDistances = true;
             nodehasdistance = true;
           } catch (Exception e)
@@ -658,10 +658,10 @@ public class NewickFile extends FileParse
           try
           {
             // parse out code/value pairs
-            if (code.toLowerCase().equals("b"))
+            if (code.toLowerCase(Locale.ROOT).equals("b"))
             {
               int v = -1;
-              Float iv = new Float(value);
+              Float iv = Float.valueOf(value);
               v = iv.intValue(); // jalview only does integer bootstraps
               // currently
               c.setBootstrap(v);
@@ -940,7 +940,11 @@ public class NewickFile extends FileParse
     }
   }
 
-  // Test
+  /**
+   * 
+   * @param args
+   * @j2sIgnore
+   */
   public static void main(String[] args)
   {
     try
@@ -970,7 +974,7 @@ public class NewickFile extends FileParse
       trf.parse();
       System.out.println("Original file :\n");
 
-      com.stevesoft.pat.Regex nonl = new com.stevesoft.pat.Regex("\n+", "");
+      Regex nonl = new Regex("\n+", "");
       System.out.println(nonl.replaceAll(newickfile.toString()) + "\n");
 
       System.out.println("Parsed file.\n");