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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -82,8 +91,8 @@ public class CategoryFilter {
|
||||||
boolean invalidFound = false;
|
boolean invalidFound = false;
|
||||||
final StringBuffer searchString = new StringBuffer();
|
final StringBuffer searchString = new StringBuffer();
|
||||||
final StringBuffer categoriesStr = new StringBuffer();
|
final StringBuffer categoriesStr = new StringBuffer();
|
||||||
|
|
||||||
filter.addAttribute("type", "categoryFilter");
|
filter.addAttribute("type", "categoryFilter");
|
||||||
filter.addAttribute("label", label);
|
filter.addAttribute("label", label);
|
||||||
|
|
||||||
final CategoryCollection categories = filterRootCat.getChildren();
|
final CategoryCollection categories = filterRootCat.getChildren();
|
||||||
|
|
@ -108,7 +117,7 @@ public class CategoryFilter {
|
||||||
} else {
|
} else {
|
||||||
multipleElem.setText("false");
|
multipleElem.setText("false");
|
||||||
}
|
}
|
||||||
|
|
||||||
for (String value : values) {
|
for (String value : values) {
|
||||||
if (!catNameToCatId.containsKey(value)) {
|
if (!catNameToCatId.containsKey(value)) {
|
||||||
invalid.newChildElement("value").setText(value);
|
invalid.newChildElement("value").setText(value);
|
||||||
|
|
@ -144,7 +153,7 @@ public class CategoryFilter {
|
||||||
public String getLabel() {
|
public String getLabel() {
|
||||||
return label;
|
return label;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSeparator() {
|
public String getSeparator() {
|
||||||
return separator;
|
return separator;
|
||||||
}
|
}
|
||||||
|
|
@ -152,11 +161,11 @@ public class CategoryFilter {
|
||||||
public void setSeparator(final String separator) {
|
public void setSeparator(final String separator) {
|
||||||
this.separator = separator;
|
this.separator = separator;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isMultiple() {
|
public boolean isMultiple() {
|
||||||
return multiple;
|
return multiple;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMultiple(final boolean multiple) {
|
public void setMultiple(final boolean multiple) {
|
||||||
this.multiple = multiple;
|
this.multiple = multiple;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue