Einige Feinheiten im CategoryFilter

git-svn-id: https://svn.libreccm.org/ccm/trunk@2340 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2013-10-08 12:35:06 +00:00
parent f1d71671ae
commit e36ecd9b7a
1 changed files with 19 additions and 10 deletions

View File

@ -62,6 +62,8 @@ public class CategoryFilter {
final FilterFactory filterFactory = objects.getFilterFactory();
final CompoundFilter compoundFilter = filterFactory.and();
for (String value : values) {
if (multiple) {
//When using multiple search we assume text input for now
if (catNameToCatId.containsKey(value)) {
final com.arsdigita.persistence.Filter filter = filterFactory.in(
"parent.id", "com.arsdigita.categorization.objectIDsInSubtree");
@ -69,6 +71,13 @@ public class CategoryFilter {
filter.set("categoryID", catNameToCatId.get(value));
compoundFilter.addFilter(filter);
}
} else {
//Otherwise, we assume that we get the ID of a single category
final com.arsdigita.persistence.Filter filter = filterFactory.in(
"parent.id", "com.arsdigita.categorization.objectIDsInSubtree");
filter.set("categoryID", value);
compoundFilter.addFilter(filter);
}
}
objects.addFilter(compoundFilter);