Merge branch 'patch/JAL-3874_newJmolAndGradleDedup' into develop
[jalview.git] / src / jalview / gui / structurechooser / TDBResultAnalyser.java
index ffac9c4..d3896a5 100644 (file)
@@ -1,5 +1,7 @@
 package jalview.gui.structurechooser;
 
+import java.util.Locale;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.BitSet;
@@ -85,7 +87,7 @@ public class TDBResultAnalyser
     {
       return 0;
     }
-    String upper_cat = cat.toUpperCase();
+    String upper_cat = cat.toUpperCase(Locale.ROOT);
     int idx = EXP_CATEGORIES.indexOf(upper_cat);
     if (idx == -1)
     {
@@ -136,11 +138,11 @@ public class TDBResultAnalyser
         int o1_s = (Integer) o1data[idx_ups];
         int o1_e = (Integer) o1data[idx_upe];
         int o1_cat = scoreCategory((String) o1data[idx_mcat]);
-        String o1_prov= ((String) o1data[idx_mprov]).toUpperCase();
+        String o1_prov= ((String) o1data[idx_mprov]).toUpperCase(Locale.ROOT);
         int o2_s = (Integer) o2data[idx_ups];
         int o2_e = (Integer) o2data[idx_upe];
         int o2_cat = scoreCategory((String) o2data[idx_mcat]);
-        String o2_prov= ((String) o2data[idx_mprov]).toUpperCase();
+        String o2_prov= ((String) o2data[idx_mprov]).toUpperCase(Locale.ROOT);
         
 
         if (o1_cat == o2_cat)
@@ -177,8 +179,8 @@ public class TDBResultAnalyser
                   return nonNullFirst(idx_mqual, o1data, o2data);
                 }
                 // models, so rank on qmean - b
-                float o1_mq = (Float) o1data[idx_mqual];
-                float o2_mq = (Float) o2data[idx_mqual];
+                double o1_mq = (Double) o1data[idx_mqual];
+                double o2_mq = (Double) o2data[idx_mqual];
                 return (o2_mq < o1_mq) ? 1 : (o2_mq == o1_mq) ? 0 : -1;
               }
             }
@@ -250,6 +252,10 @@ public class TDBResultAnalyser
         cover.andNot(scover);
       }
     }
+    if (selected.size()==0)
+    {
+      return selected;
+    }
     // final step is to sort on length - this might help the superposition
     // process
     Collections.sort(selected, new Comparator<FTSData>()