X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FAnnotationSorter.java;h=92ed9bec374645afb0f6099c73e4688e7f6f852a;hb=57738a1f3c19b1c3a00bd3ac5108f8cd0af32f99;hp=0873f89dce2d6deb59b7d71fdd9e22e74ced2a97;hpb=6b106f39c410cbb2b1714b905948d68b91a341dd;p=jalview.git
diff --git a/src/jalview/analysis/AnnotationSorter.java b/src/jalview/analysis/AnnotationSorter.java
index 0873f89..92ed9be 100644
--- a/src/jalview/analysis/AnnotationSorter.java
+++ b/src/jalview/analysis/AnnotationSorter.java
@@ -1,5 +1,27 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.analysis;
+import java.util.Locale;
+
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.SequenceI;
@@ -30,8 +52,8 @@ public class AnnotationSorter
public enum SequenceAnnotationOrder
{
// Text descriptions surface in the Preferences Sort by... options
- SEQUENCE_AND_LABEL("Sequence"), LABEL_AND_SEQUENCE("Label"), NONE(
- "No sort");
+ SEQUENCE_AND_LABEL("Sequence"), LABEL_AND_SEQUENCE("Label"),
+ NONE("No sort");
private String description;
@@ -46,7 +68,8 @@ public class AnnotationSorter
return description;
}
- public static SequenceAnnotationOrder forDescription(String d) {
+ public static SequenceAnnotationOrder forDescription(String d)
+ {
for (SequenceAnnotationOrder order : values())
{
if (order.toString().equals(d))
@@ -87,7 +110,8 @@ public class AnnotationSorter
*
* - annotations with a reference to a sequence in the alignment are sorted
* on sequence ordering
- * - other annotations go 'at the end', with their mutual order unchanged
+ * - other annotations go 'at the end', with their mutual order
+ * unchanged
* - within the same sequence ref, sort by label (non-case-sensitive)
*
*/
@@ -148,7 +172,8 @@ public class AnnotationSorter
*
* - annotations with a reference to a sequence in the alignment are sorted
* on label (non-case-sensitive)
- * - other annotations go 'at the end', with their mutual order unchanged
+ * - other annotations go 'at the end', with their mutual order
+ * unchanged
* - within the same label, sort by order of the related sequences
*
*/
@@ -257,7 +282,8 @@ public class AnnotationSorter
// cache 'alignment sequence position' for the annotations
saveSequenceIndices(alignmentAnnotations);
- Comparator super AlignmentAnnotation> comparator = getComparator(order);
+ Comparator super AlignmentAnnotation> comparator = getComparator(
+ order);
if (alignmentAnnotations != null)
{
@@ -279,9 +305,11 @@ public class AnnotationSorter
AlignmentAnnotation[] alignmentAnnotations)
{
sequenceIndices.clear();
- for (AlignmentAnnotation ann : alignmentAnnotations) {
+ for (AlignmentAnnotation ann : alignmentAnnotations)
+ {
SequenceI seq = ann.sequenceRef;
- if (seq != null) {
+ if (seq != null)
+ {
int index = AlignmentUtils.getSequenceIndex(alignment, seq);
sequenceIndices.put(seq, index);
}
@@ -342,7 +370,8 @@ public class AnnotationSorter
{
return 1;
}
- return label1.toUpperCase().compareTo(label2.toUpperCase());
+ return label1.toUpperCase(Locale.ROOT)
+ .compareTo(label2.toUpperCase(Locale.ROOT));
}
/**