JAL-3438 spotless for 2.11.2.0
[jalview.git] / src / jalview / ws / DBRefFetcher.java
index 7daa7b4..d8858a9 100644 (file)
@@ -20,6 +20,8 @@
  */
 package jalview.ws;
 
+import java.util.Locale;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Enumeration;
@@ -29,10 +31,13 @@ import java.util.List;
 import java.util.Map;
 import java.util.StringTokenizer;
 import java.util.Vector;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import jalview.analysis.AlignSeq;
 import jalview.api.FeatureSettingsModelI;
 import jalview.bin.Cache;
+import jalview.bin.Console;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.DBRefEntry;
 import jalview.datamodel.DBRefSource;
@@ -243,7 +248,7 @@ public class DBRefFetcher implements Runnable
    */
   void addSeqId(SequenceI seq, String key)
   {
-    key = key.toUpperCase();
+    key = key.toUpperCase(Locale.ROOT);
 
     Vector<SequenceI> seqs;
     if (seqRefs.containsKey(key))
@@ -301,8 +306,7 @@ public class DBRefFetcher implements Runnable
       e.printStackTrace();
     }
 
-    Vector<SequenceI> sdataset = new Vector<>(
-            Arrays.asList(dataset));
+    Vector<SequenceI> sdataset = new Vector<>(Arrays.asList(dataset));
     List<String> warningMessages = new ArrayList<>();
 
     // clear any old feature display settings recorded from past sessions
@@ -358,10 +362,10 @@ public class DBRefFetcher implements Runnable
           AlignmentI retrieved = null;
           try
           {
-            if (Cache.log.isDebugEnabled())
+            if (Console.isDebugEnabled())
             {
-              Cache.log.debug("Querying " + dbsource.getDbName()
-                      + " with : '" + queryString.toString() + "'");
+              Console.debug("Querying " + dbsource.getDbName() + " with : '"
+                      + queryString.toString() + "'");
             }
             retrieved = dbsource.getSequenceRecords(queryString.toString());
           } catch (Exception ex)
@@ -374,8 +378,8 @@ public class DBRefFetcher implements Runnable
           }
           if (retrieved != null)
           {
-            transferReferences(sdataset, dbsource, retrieved,
-                    trimDsSeqs, warningMessages);
+            transferReferences(sdataset, dbsource, retrieved, trimDsSeqs,
+                    warningMessages);
           }
         }
         else
@@ -394,20 +398,22 @@ public class DBRefFetcher implements Runnable
             {
               for (int j = 0, n = uprefs.size(); j < n; j++)
               {
-               DBRefEntry upref = uprefs.get(j);
+                DBRefEntry upref = uprefs.get(j);
                 addSeqId(sequence, upref.getAccessionId());
                 queries.addElement(
-                        upref.getAccessionId().toUpperCase());
+                        upref.getAccessionId().toUpperCase(Locale.ROOT));
               }
             }
             else
             {
+              Pattern possibleIds = Pattern.compile("[A-Za-z0-9_]+");
               // generate queries from sequence ID string
-              StringTokenizer st = new StringTokenizer(sequence.getName(),
-                      "|");
-              while (st.hasMoreTokens())
+              Matcher tokens = possibleIds.matcher(sequence.getName());
+              int p = 0;
+              while (tokens.find(p))
               {
-                String token = st.nextToken();
+                String token = tokens.group();
+                p = tokens.end();
                 UPEntry[] presp = null;
                 if (picrClient != null)
                 {
@@ -436,7 +442,7 @@ public class DBRefFetcher implements Runnable
                           "Validated ID against PICR... (for what its worth):"
                                   + token);
                   addSeqId(sequence, token);
-                  queries.addElement(token.toUpperCase());
+                  queries.addElement(token.toUpperCase(Locale.ROOT));
                 }
                 else
                 {
@@ -444,7 +450,7 @@ public class DBRefFetcher implements Runnable
                   // System.out.println("Not querying source with
                   // token="+token+"\n");
                   addSeqId(sequence, token);
-                  queries.addElement(token.toUpperCase());
+                  queries.addElement(token.toUpperCase(Locale.ROOT));
                 }
               }
             }
@@ -503,9 +509,8 @@ public class DBRefFetcher implements Runnable
    *          a list of messages to add to
    */
   boolean transferReferences(Vector<SequenceI> sdataset,
-          DbSourceProxy dbSourceProxy,
-          AlignmentI retrievedAl, boolean trimDatasetSeqs,
-          List<String> warningMessages)
+          DbSourceProxy dbSourceProxy, AlignmentI retrievedAl,
+          boolean trimDatasetSeqs, List<String> warningMessages)
   {
     // System.out.println("trimming ? " + trimDatasetSeqs);
     if (retrievedAl == null || retrievedAl.getHeight() == 0)
@@ -537,10 +542,10 @@ public class DBRefFetcher implements Runnable
       }
       for (int j = 0, n = entryRefs.size(); j < n; j++)
       {
-       DBRefEntry ref = entryRefs.get(j);
+        DBRefEntry ref = entryRefs.get(j);
         String accessionId = ref.getAccessionId();
         // match up on accessionId
-        if (seqRefs.containsKey(accessionId.toUpperCase()))
+        if (seqRefs.containsKey(accessionId.toUpperCase(Locale.ROOT)))
         {
           Vector<SequenceI> seqs = seqRefs.get(accessionId);
           for (int jj = 0; jj < seqs.size(); jj++)
@@ -592,7 +597,7 @@ public class DBRefFetcher implements Runnable
       // sequenceMatches now contains the set of all sequences associated with
       // the returned db record
       final String retrievedSeqString = retrievedSeq.getSequenceAsString();
-      String entrySeq = retrievedSeqString.toUpperCase();
+      String entrySeq = retrievedSeqString.toUpperCase(Locale.ROOT);
       for (int m = 0; m < sequenceMatches.size(); m++)
       {
         sequence = sequenceMatches.elementAt(m);
@@ -611,7 +616,7 @@ public class DBRefFetcher implements Runnable
         boolean remoteEnclosesLocal = false;
         String nonGapped = AlignSeq
                 .extractGaps("-. ", sequence.getSequenceAsString())
-                .toUpperCase();
+                .toUpperCase(Locale.ROOT);
         int absStart = entrySeq.indexOf(nonGapped);
         if (absStart == -1)
         {
@@ -731,10 +736,11 @@ public class DBRefFetcher implements Runnable
               String ngAlsq = AlignSeq
                       .extractGaps("-. ",
                               alseqs[alsq].getSequenceAsString())
-                      .toUpperCase();
+                      .toUpperCase(Locale.ROOT);
               int oldstrt = alseqs[alsq].getStart();
               alseqs[alsq].setStart(sequence.getSequenceAsString()
-                      .toUpperCase().indexOf(ngAlsq) + sequence.getStart());
+                      .toUpperCase(Locale.ROOT).indexOf(ngAlsq)
+                      + sequence.getStart());
               if (oldstrt != alseqs[alsq].getStart())
               {
                 alseqs[alsq].setEnd(
@@ -775,15 +781,17 @@ public class DBRefFetcher implements Runnable
 
   /**
    * 
-   * @return any feature settings associated with sources that have provided sequences
+   * @return any feature settings associated with sources that have provided
+   *         sequences
    */
-  public List<FeatureSettingsModelI>getFeatureSettingsModels()
+  public List<FeatureSettingsModelI> getFeatureSettingsModels()
   {
     return featureDisplaySettings == null
             ? Arrays.asList(new FeatureSettingsModelI[0])
             : Arrays.asList(featureDisplaySettings.values()
                     .toArray(new FeatureSettingsModelI[1]));
   }
+
   /**
    * Adds the message to the list unless it already contains it
    * 
@@ -806,11 +814,11 @@ public class DBRefFetcher implements Runnable
    */
   private SequenceI[] recoverDbSequences(SequenceI[] sequencesArray)
   {
-       int n;
-       if (sequencesArray == null || (n = sequencesArray.length) == 0)
-         return sequencesArray;
+    int n;
+    if (sequencesArray == null || (n = sequencesArray.length) == 0)
+      return sequencesArray;
     ArrayList<SequenceI> nseq = new ArrayList<>();
-    for (int i = 0;i < n; i++)
+    for (int i = 0; i < n; i++)
     {
       nseq.add(sequencesArray[i]);
       List<DBRefEntry> dbr = sequencesArray[i].getDBRefs();
@@ -825,11 +833,12 @@ public class DBRefFetcher implements Runnable
             {
               nseq.add(map.getTo());
             }
-          }  
+          }
         }
       }
     }
-    // BH 2019.01.25 question here if this is the right logic. Return the original if nothing found?
+    // BH 2019.01.25 question here if this is the right logic. Return the
+    // original if nothing found?
     if (nseq.size() > 0)
     {
       return nseq.toArray(new SequenceI[nseq.size()]);