Bugfixes for file filters preference page

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7581 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
Brian Remedios
2011-12-16 08:34:01 +00:00
parent 33d0140f94
commit 71147ed42b
4 changed files with 434 additions and 396 deletions

View File

@ -30,8 +30,8 @@ public interface FilterColumnUI {
};
ItemColumnDescriptor<String, FilterHolder> include = new ItemColumnDescriptor<String, FilterHolder>("", " Type", SWT.LEFT, 85, false, includeAcc);
ItemColumnDescriptor<String, FilterHolder> pmd = new ItemColumnDescriptor<String, FilterHolder>("", "PMD", SWT.LEFT, 55, false, pmdAcc);
ItemColumnDescriptor<String, FilterHolder> cpd = new ItemColumnDescriptor<String, FilterHolder>("", "CPD", SWT.LEFT, 55, false, cpdAcc);
ItemColumnDescriptor<String, FilterHolder> pmd = new ItemColumnDescriptor<String, FilterHolder>("", "PMD", SWT.CENTER, 55, false, pmdAcc);
ItemColumnDescriptor<String, FilterHolder> cpd = new ItemColumnDescriptor<String, FilterHolder>("", "CPD", SWT.CENTER, 55, false, cpdAcc);
ItemColumnDescriptor<String, FilterHolder> pattern = new ItemColumnDescriptor<String, FilterHolder>("", "Pattern", SWT.LEFT, 55, true, patternAcc);
@SuppressWarnings("rawtypes")

View File

@ -48,12 +48,13 @@ class FilterHolder {
public static Boolean boolValueOf(Collection<FilterHolder> holders, Accessor boolAccessor) {
Set<Boolean> values = new HashSet<Boolean>();
for (FilterHolder fh : holders) values.add(boolAccessor.boolValueFor(fh));
return values.size() == 2 ? null : values.iterator().next();
int valueCount = values.size();
return (valueCount == 2 || valueCount == 0) ? null : values.iterator().next();
}
public static String textValueOf(Collection<FilterHolder> holders, Accessor textAccessor) {
Set<String> values = new HashSet<String>();
for (FilterHolder fh : holders) values.add(textAccessor.textValueFor(fh));
return values.size() > 1 ? "" : values.iterator().next();
return (values.size() == 1) ? values.iterator().next() : "";
}
}

View File

@ -113,6 +113,8 @@ public class StringKeys {
public static final String PREF_RULESET_GROUPING_NONE = "preference.ruleset.grouping.none";
public static final String PREF_RULESET_GROUPING_PMD_VERSION = "preference.ruleset.grouping.pmd_version";
public static final String PREF_RULESET_GROUPING_REGEX = "preference.ruleset.grouping.regex";
public static final String PREF_RULESET_BUTTON_ADDFILTER = "preference.ruleset.button.addfilter";
public static final String PREF_RULESET_BUTTON_REMOVEFILTER = "preference.ruleset.button.removefilter";
public static final String PREF_RULESET_BUTTON_ADDRULE = "preference.ruleset.button.addrule";
public static final String PREF_RULESET_BUTTON_REMOVERULE = "preference.ruleset.button.removerule";
public static final String PREF_RULESET_BUTTON_EDITRULE = "preference.ruleset.button.editrule";