JAL-2808 update spike to latest (filter range tooltip, Present condition)
[jalview.git] / src / jalview / viewmodel / seqfeatures / FeatureRendererModel.java
index 8bdcad4..c58461e 100644 (file)
@@ -26,11 +26,11 @@ import jalview.api.FeaturesDisplayedI;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.SequenceFeature;
 import jalview.datamodel.SequenceI;
+import jalview.datamodel.features.FeatureMatcherSetI;
 import jalview.datamodel.features.SequenceFeatures;
 import jalview.renderer.seqfeatures.FeatureRenderer;
 import jalview.schemes.FeatureColour;
 import jalview.util.ColorUtils;
-import jalview.util.matcher.KeyedMatcherSetI;
 
 import java.awt.Color;
 import java.beans.PropertyChangeListener;
@@ -58,12 +58,12 @@ public abstract class FeatureRendererModel
 
     public final FeatureColourI featureColour;
 
-    public final KeyedMatcherSetI filter;
+    public final FeatureMatcherSetI filter;
 
     public final Boolean show;
 
     public FeatureSettingsBean(String type, FeatureColourI colour,
-            KeyedMatcherSetI theFilter, Boolean isShown)
+            FeatureMatcherSetI theFilter, Boolean isShown)
     {
       featureType = type;
       featureColour = colour;
@@ -90,7 +90,7 @@ public abstract class FeatureRendererModel
   /*
    * filters for each feature type
    */
-  protected Map<String, KeyedMatcherSetI> featureFilters = new HashMap<>();
+  protected Map<String, FeatureMatcherSetI> featureFilters = new HashMap<>();
 
   protected String[] renderOrder;
 
@@ -1068,25 +1068,25 @@ public abstract class FeatureRendererModel
   }
 
   @Override
-  public Map<String, KeyedMatcherSetI> getFeatureFilters()
+  public Map<String, FeatureMatcherSetI> getFeatureFilters()
   {
     return new HashMap<>(featureFilters);
   }
 
   @Override
-  public void setFeatureFilters(Map<String, KeyedMatcherSetI> filters)
+  public void setFeatureFilters(Map<String, FeatureMatcherSetI> filters)
   {
     featureFilters = filters;
   }
 
   @Override
-  public KeyedMatcherSetI getFeatureFilter(String featureType)
+  public FeatureMatcherSetI getFeatureFilter(String featureType)
   {
     return featureFilters.get(featureType);
   }
 
   @Override
-  public void setFeatureFilter(String featureType, KeyedMatcherSetI filter)
+  public void setFeatureFilter(String featureType, FeatureMatcherSetI filter)
   {
     if (filter == null || filter.isEmpty())
     {
@@ -1146,14 +1146,8 @@ public abstract class FeatureRendererModel
    */
   protected boolean featureMatchesFilters(SequenceFeature sf)
   {
-    KeyedMatcherSetI filter = featureFilters.get(sf.getType());
-    // TODO temporary fudge for Score and Label
-    return filter == null ? true
-            : filter.matches(
-                    key -> "Label".equals(key[0]) ? sf.getDescription()
-                            : ("Score".equals(key[0])
-                                    ? String.valueOf(sf.getScore())
-                                    : sf.getValueAsString(key)));
+    FeatureMatcherSetI filter = featureFilters.get(sf.getType());
+    return filter == null ? true : filter.matches(sf);
   }
 
 }