JAL-2738 use GeneLocus extends DBRefEntry to hold chromosomal mappings
[jalview.git] / src / jalview / io / SequenceAnnotationReport.java
index 1f92428..dd09d03 100644 (file)
@@ -23,6 +23,7 @@ package jalview.io;
 import jalview.api.FeatureColourI;
 import jalview.datamodel.DBRefEntry;
 import jalview.datamodel.DBRefSource;
+import jalview.datamodel.GeneLociI;
 import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceI;
 import jalview.util.MessageManager;
@@ -68,11 +69,11 @@ public class SequenceAnnotationReport
     @Override
     public int compare(DBRefEntry ref1, DBRefEntry ref2)
     {
-      if (ref1.isChromosome())
+      if (ref1 instanceof GeneLociI)
       {
         return -1;
       }
-      if (ref2.isChromosome())
+      if (ref2 instanceof GeneLociI)
       {
         return 1;
       }
@@ -210,11 +211,12 @@ public class SequenceAnnotationReport
         FeatureColourI fc = fr.getFeatureColours().get(feature.getType());
         if (fc != null && fc.isColourByAttribute())
         {
-          String attName = fc.getAttributeName();
+          String[] attName = fc.getAttributeName();
           String attVal = feature.getValueAsString(attName);
           if (attVal != null)
           {
-            sb.append("; ").append(attName).append("=").append(attVal);
+            sb.append("; ").append(String.join(":", attName)).append("=")
+                    .append(attVal);
           }
         }
       }
@@ -301,7 +303,7 @@ public class SequenceAnnotationReport
    */
   Collection<List<String>> createLinksFrom(SequenceI seq, String link)
   {
-    Map<String, List<String>> urlSets = new LinkedHashMap<String, List<String>>();
+    Map<String, List<String>> urlSets = new LinkedHashMap<>();
     UrlLink urlLink = new UrlLink(link);
     if (!urlLink.isValid())
     {