diff --git a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/panels/CompareFilter.java b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/panels/CompareFilter.java index 70b4cb3e5..5ac2d2755 100644 --- a/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/panels/CompareFilter.java +++ b/ccm-cms/src/com/arsdigita/cms/contenttypes/ui/panels/CompareFilter.java @@ -16,11 +16,13 @@ import java.util.Map; public class CompareFilter implements Filter { private static final String ALL = "--ALL--"; + private static final String NONE = "--NONE--"; private final String property; private final String label; private final boolean allOption; private final boolean allOptionIsDefault; private final boolean propertyIsNumeric; + private boolean emptyDefaultOption = false; private Map options = new LinkedHashMap(); private String value; @@ -36,6 +38,16 @@ public class CompareFilter implements Filter { this.propertyIsNumeric = propertyIsNumeric; } + public CompareFilter(final String label, + final String property, + final boolean allOption, + final boolean allOptionIsDefault, + final boolean propertyIsNumeric, + final boolean emptyDefaultOption) { + this(label, property, allOption, allOptionIsDefault, propertyIsNumeric); + this.emptyDefaultOption = true; + } + @Override public String getProperty() { return property; @@ -67,13 +79,15 @@ public class CompareFilter implements Filter { if ((value == null) || value.isEmpty()) { if (allOptionIsDefault) { value = ALL; + } else if (emptyDefaultOption) { + return ""; } else { value = new ArrayList