diff --git a/iped-app/src/main/java/iped/app/ui/TableHeaderFilterManager.java b/iped-app/src/main/java/iped/app/ui/TableHeaderFilterManager.java index 338ccb900e..ddadc5fe72 100644 --- a/iped-app/src/main/java/iped/app/ui/TableHeaderFilterManager.java +++ b/iped-app/src/main/java/iped/app/ui/TableHeaderFilterManager.java @@ -40,6 +40,7 @@ public class TableHeaderFilterManager implements IResultSetFilterer, IQueryFilte // store the filters defined by the FieldValuePopupMenu private HashMap otherFilters = new HashMap(); + private HashMap escapedFields = new HashMap(); static public TableHeaderFilterManager get() { return singleton; @@ -189,7 +190,9 @@ public MetadataSearch getMetadataSearch(String field) { MetadataSearch result = panels.get(field); if (result == null) { result = new MetadataSearch(); - panels.put(field, result); + String escapedField = escape(field); + panels.put(escapedField, result); + escapedFields.put(escapedField, field); } return result; } @@ -271,12 +274,12 @@ public IMultiSearchResult filterResult(IMultiSearchResult src) throws ParseExcep for (String filterField : panels.keySet()) { MetadataSearch internalMetadataSearch = panels.get(filterField); Set ords = new HashSet<>(); - Set values = selectedValues.get(escape(filterField)); + Set values = selectedValues.get(filterField); if (values != null && values.size() > 0) { for (ValueCount value : values) { ords.add(value.getOrd()); } - result = internalMetadataSearch.getIdsWithOrd(result, filterField, ords); + result = internalMetadataSearch.getIdsWithOrd(result, escapedFields.get(filterField), ords); if (result.getLength() <= 0) { return result; }