Einige Feinheiten im CategoryFilter
git-svn-id: https://svn.libreccm.org/ccm/trunk@2340 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
f1d71671ae
commit
e36ecd9b7a
|
|
@ -62,11 +62,20 @@ public class CategoryFilter {
|
||||||
final FilterFactory filterFactory = objects.getFilterFactory();
|
final FilterFactory filterFactory = objects.getFilterFactory();
|
||||||
final CompoundFilter compoundFilter = filterFactory.and();
|
final CompoundFilter compoundFilter = filterFactory.and();
|
||||||
for (String value : values) {
|
for (String value : values) {
|
||||||
if (catNameToCatId.containsKey(value)) {
|
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");
|
||||||
|
//filter.set("categoryID", value);
|
||||||
|
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(
|
final com.arsdigita.persistence.Filter filter = filterFactory.in(
|
||||||
"parent.id", "com.arsdigita.categorization.objectIDsInSubtree");
|
"parent.id", "com.arsdigita.categorization.objectIDsInSubtree");
|
||||||
//filter.set("categoryID", value);
|
filter.set("categoryID", value);
|
||||||
filter.set("categoryID", catNameToCatId.get(value));
|
|
||||||
compoundFilter.addFilter(filter);
|
compoundFilter.addFilter(filter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue