JAL-2360 refactoring for JalviewColourScheme enum,
[jalview.git] / src / jalview / io / FeaturesFile.java
index 20c44bc..48eeee3 100755 (executable)
@@ -35,11 +35,12 @@ import jalview.io.gff.GffHelperBase;
 import jalview.io.gff.GffHelperFactory;
 import jalview.io.gff.GffHelperI;
 import jalview.schemes.FeatureColour;
-import jalview.schemes.UserColourScheme;
+import jalview.util.ColorUtils;
 import jalview.util.MapList;
 import jalview.util.ParseHtmlBodyAndLinks;
 import jalview.util.StringUtils;
 
+import java.awt.Color;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -140,8 +141,7 @@ public class FeaturesFile extends AlignFile implements FeaturesSourceI
    * @return true if features were added
    */
   public boolean parse(AlignmentI align,
-          Map<String, FeatureColourI> colours,
-          boolean removeHTML)
+          Map<String, FeatureColourI> colours, boolean removeHTML)
   {
     return parse(align, colours, removeHTML, false);
   }
@@ -178,8 +178,8 @@ public class FeaturesFile extends AlignFile implements FeaturesSourceI
    * @return true if features were added
    */
   public boolean parse(AlignmentI align,
-          Map<String, FeatureColourI> colours,
-          boolean removeHTML, boolean relaxedIdmatching)
+          Map<String, FeatureColourI> colours, boolean removeHTML,
+          boolean relaxedIdmatching)
   {
     Map<String, String> gffProps = new HashMap<String, String>();
     /*
@@ -356,8 +356,8 @@ public class FeaturesFile extends AlignFile implements FeaturesSourceI
        * Perhaps an old style groups file with no colours -
        * synthesize a colour from the feature type
        */
-      UserColourScheme ucs = new UserColourScheme(ft);
-      featureColours.put(ft, new FeatureColour(ucs.findColour('A')));
+      Color colour = ColorUtils.createColourFromName(ft);
+      featureColours.put(ft, new FeatureColour(colour));
     }
     SequenceFeature sf = new SequenceFeature(ft, desc, "", startPos,
             endPos, featureGroup);
@@ -589,7 +589,8 @@ public class FeaturesFile extends AlignFile implements FeaturesSourceI
         {
           for (SequenceFeature sequenceFeature : features)
           {
-            isnonpos = sequenceFeature.begin == 0 && sequenceFeature.end == 0;
+            isnonpos = sequenceFeature.begin == 0
+                    && sequenceFeature.end == 0;
             if ((!nonpos && isnonpos)
                     || (!isnonpos && visOnly && !visible
                             .containsKey(sequenceFeature.type)))
@@ -712,7 +713,8 @@ public class FeaturesFile extends AlignFile implements FeaturesSourceI
       dataset = new Alignment(new SequenceI[] {});
     }
 
-    boolean parseResult = parse(dataset, null, false, true);
+    Map<String, FeatureColourI> featureColours = new HashMap<String, FeatureColourI>();
+    boolean parseResult = parse(dataset, featureColours, false, true);
     if (!parseResult)
     {
       // pass error up somehow