From: <ssk...@vh...> - 2005-12-07 11:12:22
|
Author: sskracic Date: 2005-12-07 12:09:53 +0100 (Wed, 07 Dec 2005) New Revision: 1037 Modified: trunk/ccm-core/src/com/arsdigita/search/ui/filters/CategoryFilterWidget.java Log: Include subcategories parameter checking now done in more bebop-friendly way. Modified: trunk/ccm-core/src/com/arsdigita/search/ui/filters/CategoryFilterWidget.java =================================================================== --- trunk/ccm-core/src/com/arsdigita/search/ui/filters/CategoryFilterWidget.java 2005-12-07 10:38:04 UTC (rev 1036) +++ trunk/ccm-core/src/com/arsdigita/search/ui/filters/CategoryFilterWidget.java 2005-12-07 11:09:53 UTC (rev 1037) @@ -22,7 +22,6 @@ import com.arsdigita.bebop.FormData; import com.arsdigita.bebop.FormModel; import com.arsdigita.bebop.PageState; -import com.arsdigita.bebop.parameters.ParameterData; import com.arsdigita.bebop.parameters.ArrayParameter; import com.arsdigita.bebop.parameters.StringParameter; import com.arsdigita.categorization.Category; @@ -46,7 +45,7 @@ public abstract class CategoryFilterWidget extends FilterWidget { private Form m_form; - private StringParameter includeCategoryHierarchy; + private StringParameter includeCategoryHierarchy = new StringParameter("subcats"); /** * Creates a new category filter component @@ -67,20 +66,22 @@ cats[i] = (Category)DomainObjectFactory.newInstance(oids[i]); } + return new CategoryFilterSpecification(cats, searchSubcats(state)); + } + + private boolean searchSubcats(PageState state) { FormData fd = m_form.getFormData(state); boolean includeSubCats = false; if (fd != null) { - ParameterData data = - fd.getParameter(includeCategoryHierarchy.getName()); - includeSubCats = data.getValue() != null; + includeSubCats = Boolean.TRUE.toString() + .equals(fd.getString(includeCategoryHierarchy.getName())); } - - return new CategoryFilterSpecification(cats, includeSubCats); + return includeSubCats; } + public void register(Form form, FormModel model) { super.register(form, model); - includeCategoryHierarchy = new StringParameter("subcats"); model.addFormParam(includeCategoryHierarchy); m_form = form; } @@ -98,8 +99,7 @@ Element includeSubCats = Search.newElement("includeSubCats"); includeSubCats.addAttribute("name", includeCategoryHierarchy.getName()); - includeSubCats.addAttribute("value", - String.valueOf(state.getRequest().getParameterMap().containsKey(includeCategoryHierarchy.getName()))); + includeSubCats.addAttribute("value", String.valueOf(searchSubcats(state))); parent.addContent(includeSubCats); OID[] oids = (OID[])getValue(state); |