Author: jonesde
Date: Wed Mar 28 00:19:31 2007 New Revision: 523206 URL: http://svn.apache.org/viewvc?view=rev&rev=523206 Log: Some refactoring in ProductSearchSession so that you can override or set a default VIEW_SIZE or even VIEW_INDEX in a screen definition, plus an example of the default setting Modified: ofbiz/trunk/applications/ecommerce/widget/CatalogScreens.xml ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearchSession.java Modified: ofbiz/trunk/applications/ecommerce/widget/CatalogScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/widget/CatalogScreens.xml?view=diff&rev=523206&r1=523205&r2=523206 ============================================================================== --- ofbiz/trunk/applications/ecommerce/widget/CatalogScreens.xml (original) +++ ofbiz/trunk/applications/ecommerce/widget/CatalogScreens.xml Wed Mar 28 00:19:31 2007 @@ -388,6 +388,7 @@ <set field="productsummaryScreen" value="component://ecommerce/widget/CatalogScreens.xml#productsummary"/> <set field="titleProperty" value="PageTitleSearchResults"/> + <set field="parameters.VIEW_SIZE" from-field="parameters.VIEW_SIZE" default-value="10"/> <script location="component://order/webapp/ordermgr/WEB-INF/actions/entry/catalog/keywordsearch.bsh"/> </actions> <widgets> Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearchSession.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearchSession.java?view=diff&rev=523206&r1=523205&r2=523206 ============================================================================== --- ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearchSession.java (original) +++ ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearchSession.java Wed Mar 28 00:19:31 2007 @@ -142,6 +142,23 @@ this.viewIndex = viewIndex; } /** + * @param viewIndex The viewIndex to set. + */ + public void setViewIndex(String viewIndexStr) { + if (UtilValidate.isEmpty(viewIndexStr)) { + return; + } + try { + this.setViewIndex(Integer.valueOf(viewIndexStr)); + } catch (Exception e) { + Debug.logError(e, "Error in formatting of VIEW_INDEX [" + viewIndexStr + "], setting to 20", module); + if (this.viewIndex == null) { + this.setViewIndex(new Integer(20)); + } + } + } + + /** * @return Returns the viewSize. */ public Integer getViewSize() { @@ -153,6 +170,22 @@ public void setViewSize(Integer viewSize) { this.viewSize = viewSize; } + /** + * @param viewSize The viewSize to set. + */ + public void setViewSize(String viewSizeStr) { + if (UtilValidate.isEmpty(viewSizeStr)) { + return; + } + try { + this.setViewSize(Integer.valueOf(viewSizeStr)); + } catch (Exception e) { + Debug.logError(e, "Error in formatting of VIEW_SIZE [" + viewSizeStr + "], setting to 20", module); + if (this.viewSize == null) { + this.setViewSize(new Integer(20)); + } + } + } public List searchGetConstraintStrings(boolean detailed, GenericDelegator delegator, Locale locale) { List productSearchConstraintList = this.getConstraintList(); @@ -395,6 +428,11 @@ GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator"); Boolean alreadyRun = (Boolean) request.getAttribute("processSearchParametersAlreadyRun"); if (Boolean.TRUE.equals(alreadyRun)) { + // even if already run, check the VIEW_SIZE and VIEW_INDEX again, just for kicks + ProductSearchOptions productSearchOptions = getProductSearchOptions(request.getSession()); + productSearchOptions.setViewIndex((String) parameters.get("VIEW_INDEX")); + productSearchOptions.setViewSize((String) parameters.get("VIEW_SIZE")); + return; } else { request.setAttribute("processSearchParametersAlreadyRun", Boolean.TRUE); @@ -589,26 +627,8 @@ productSearchOptions.clearViewInfo(); } - String viewIndexStr = (String) parameters.get("VIEW_INDEX"); - if (UtilValidate.isNotEmpty(viewIndexStr)) { - try { - productSearchOptions.setViewIndex(Integer.valueOf(viewIndexStr)); - } catch (Exception e) { - Debug.logError(e, "Error formatting VIEW_INDEX, setting to 0", module); - // we could just do nothing here, but we know something was specified so we don't want to use the previous value from the session - productSearchOptions.setViewIndex(new Integer(0)); - } - } - - String viewSizeStr = (String) parameters.get("VIEW_SIZE"); - if (UtilValidate.isNotEmpty(viewSizeStr)) { - try { - productSearchOptions.setViewSize(Integer.valueOf(viewSizeStr)); - } catch (Exception e) { - Debug.logError(e, "Error formatting VIEW_SIZE, setting to 20", module); - productSearchOptions.setViewSize(new Integer(20)); - } - } + productSearchOptions.setViewIndex((String) parameters.get("VIEW_INDEX")); + productSearchOptions.setViewSize((String) parameters.get("VIEW_SIZE")); } public static Map getProductSearchResult(HttpServletRequest request, GenericDelegator delegator, String prodCatalogId) { |
Free forum by Nabble | Edit this page |