JAL-1807
[jalview.git] / src / jalview / viewmodel / seqfeatures / FeatureRendererModel.java
index a53004d..d3f150b 100644 (file)
@@ -5,8 +5,9 @@ import jalview.api.FeaturesDisplayedI;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceI;
-import jalview.renderer.seqfeatures.FeatureRenderer;
 import jalview.schemes.GraduatedColor;
+import jalview.schemes.UserColourScheme;
+import jalview.util.QuickSort;
 import jalview.viewmodel.AlignmentViewport;
 
 import java.awt.Color;
@@ -14,13 +15,11 @@ import java.beans.PropertyChangeListener;
 import java.beans.PropertyChangeSupport;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Enumeration;
 import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.Vector;
 import java.util.concurrent.ConcurrentHashMap;
 
 public abstract class FeatureRendererModel implements
@@ -72,7 +71,7 @@ public abstract class FeatureRendererModel implements
    */
   public void transferSettings(jalview.api.FeatureRenderer _fr)
   {
-    FeatureRenderer fr = (FeatureRenderer) _fr;
+    FeatureRendererModel fr = (FeatureRendererModel) _fr;
     FeatureRendererSettings frs = new FeatureRendererSettings(fr);
     this.renderOrder = frs.renderOrder;
     this.featureGroups = frs.featureGroups;
@@ -248,11 +247,12 @@ public abstract class FeatureRendererModel implements
   {
     ArrayList<SequenceFeature> tmp = new ArrayList<SequenceFeature>();
     SequenceFeature[] features = sequence.getSequenceFeatures();
+
     if (features != null)
     {
       for (int i = 0; i < features.length; i++)
       {
-        if (av.areFeaturesDisplayed()
+        if (!av.areFeaturesDisplayed()
                 || !av.getFeaturesDisplayed().isVisible(
                         features[i].getType()))
         {
@@ -262,9 +262,11 @@ public abstract class FeatureRendererModel implements
         if (features[i].featureGroup != null
                 && featureGroups != null
                 && featureGroups.containsKey(features[i].featureGroup)
-                && !((Boolean) featureGroups.get(features[i].featureGroup))
+                && !featureGroups.get(features[i].featureGroup)
                         .booleanValue())
+        {
           continue;
+        }
 
         if ((features[i].getBegin() <= res)
                 && (features[i].getEnd() >= res))
@@ -322,9 +324,7 @@ public abstract class FeatureRendererModel implements
     for (int i = 0; i < alignment.getHeight(); i++)
     {
       SequenceI asq = alignment.getSequenceAt(i);
-      SequenceI dasq = asq.getDatasetSequence();
-      SequenceFeature[] features = dasq != null ? dasq
-              .getSequenceFeatures() : asq.getSequenceFeatures();
+      SequenceFeature[] features = asq.getSequenceFeatures();
 
       if (features == null)
       {
@@ -345,7 +345,7 @@ public abstract class FeatureRendererModel implements
               groupDisplayed = Boolean.valueOf(newMadeVisible);
               featureGroups.put(fgrp, groupDisplayed);
             }
-            if (!((Boolean) groupDisplayed).booleanValue())
+            if (!groupDisplayed.booleanValue())
             {
               index++;
               continue;
@@ -435,7 +435,7 @@ public abstract class FeatureRendererModel implements
           if (initOrders)
           {
             setOrder(oldRender[j], (1 - (1 + (float) j)
-                    / (float) oldRender.length));
+                    / oldRender.length));
           }
           if (allfeatures.contains(oldRender[j]))
           {
@@ -507,7 +507,7 @@ public abstract class FeatureRendererModel implements
     }
     if (iSize > 1 && sort)
     {
-      jalview.util.QuickSort.sort(sortOrder, newf);
+      QuickSort.sortFloatObject(sortOrder, newf);
     }
     sortOrder = null;
     System.arraycopy(newf, 0, renderOrder, opos, newf.length);
@@ -527,7 +527,7 @@ public abstract class FeatureRendererModel implements
     Object fc = featureColours.get(featureType);
     if (fc == null)
     {
-      jalview.schemes.UserColourScheme ucs = new jalview.schemes.UserColourScheme();
+      UserColourScheme ucs = new UserColourScheme();
       Color col = ucs.createColourFromName(featureType);
       featureColours.put(featureType, fc = col);
     }
@@ -666,9 +666,9 @@ public abstract class FeatureRendererModel implements
   }
 
   @Override
-  public Map getFeatureColours()
+  public Map<String, Object> getFeatureColours()
   {
-    return new ConcurrentHashMap<>(featureColours);
+    return new ConcurrentHashMap<String, Object>(featureColours);
   }
 
   /**
@@ -799,7 +799,7 @@ public abstract class FeatureRendererModel implements
     }
     if (featureGroups.containsKey(group))
     {
-      return ((Boolean) featureGroups.get(group)).booleanValue();
+      return featureGroups.get(group).booleanValue();
     }
     if (newGroupsVisible)
     {
@@ -825,7 +825,7 @@ public abstract class FeatureRendererModel implements
 
       for (Object grp : featureGroups.keySet())
       {
-        Boolean state = (Boolean) featureGroups.get(grp);
+        Boolean state = featureGroups.get(grp);
         if (state.booleanValue() == visible)
         {
           gp.add(grp);
@@ -854,7 +854,7 @@ public abstract class FeatureRendererModel implements
         featureGroups.put(gst, new Boolean(visible));
         if (st != null)
         {
-          rdrw = rdrw || (visible != ((Boolean) st).booleanValue());
+          rdrw = rdrw || (visible != st.booleanValue());
         }
       }
       if (rdrw)
@@ -900,7 +900,7 @@ public abstract class FeatureRendererModel implements
       {
         for (int i = 0; i < typ.length; i++)
         {
-          if (feature_disp.isVisible(typ[i]))
+          if (!feature_disp.isVisible(typ[i]))
           {
             typ[i] = null;
           }