You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jo...@apache.org on 2007/01/19 08:54:54 UTC
svn commit: r497728 - in /ofbiz/trunk/applications:
order/webapp/ordermgr/WEB-INF/actions/entry/catalog/
product/src/org/ofbiz/product/category/
product/webapp/catalog/WEB-INF/actions/find/ product/webapp/catalog/find/
Author: jonesde
Date: Thu Jan 18 23:54:53 2007
New Revision: 497728
URL: http://svn.apache.org/viewvc?view=rev&rev=497728
Log:
Some cleanups for the CategoryWorker.getCategoryContentWrappers method, which was implemented with a really weird pattern; also fixed problem in that method with infinite recursion
Modified:
ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/breadcrumbs.bsh
ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/sidedeepcategory.bsh
ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryWorker.java
ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/find/sidedeepcategory.bsh
ofbiz/trunk/applications/product/webapp/catalog/find/sidedeepcategory.ftl
Modified: ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/breadcrumbs.bsh
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/breadcrumbs.bsh?view=diff&rev=497728&r1=497727&r2=497728
==============================================================================
--- ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/breadcrumbs.bsh (original)
+++ ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/breadcrumbs.bsh Thu Jan 18 23:54:53 2007
@@ -1,7 +1,4 @@
/*
- *
- * Copyright 2001-2006 The Apache Software Foundation
- *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
@@ -21,13 +18,12 @@
*/
import org.ofbiz.base.util.*;
-import org.ofbiz.product.catalog.*;
import org.ofbiz.product.category.*;
+import javolution.util.FastMap;
-requestParameters = UtilHttp.getParameterMap(request);
-catIterator = UtilMisc.toIterator(request.getAttribute("topLevelList"));
-if(catIterator != null) {
- catContentWrappers = new HashMap();
- catContentWrappers = CategoryWorker.getCategoryContentWrappers(catContentWrappers, catIterator, request);
+categoryList = request.getAttribute("topLevelList");
+if(categoryList != null) {
+ catContentWrappers = FastMap.newInstance();
+ CategoryWorker.getCategoryContentWrappers(catContentWrappers, categoryList, request);
context.put("catContentWrappers", catContentWrappers);
}
Modified: ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/sidedeepcategory.bsh
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/sidedeepcategory.bsh?view=diff&rev=497728&r1=497727&r2=497728
==============================================================================
--- ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/sidedeepcategory.bsh (original)
+++ ofbiz/trunk/applications/order/webapp/ordermgr/WEB-INF/actions/entry/catalog/sidedeepcategory.bsh Thu Jan 18 23:54:53 2007
@@ -1,7 +1,4 @@
/*
- *
- * Copyright 2001-2006 The Apache Software Foundation
- *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
@@ -23,6 +20,7 @@
import org.ofbiz.base.util.*;
import org.ofbiz.product.catalog.*;
import org.ofbiz.product.category.*;
+import javolution.util.FastMap;
requestParameters = UtilHttp.getParameterMap(request);
@@ -31,9 +29,9 @@
request.setAttribute("curCategoryId", curCategoryId);
CategoryWorker.setTrail(request, curCategoryId);
-catIterator = UtilMisc.toIterator(request.getAttribute("topLevelList"));
-if(catIterator != null) {
- catContentWrappers = new HashMap();
- catContentWrappers = CategoryWorker.getCategoryContentWrappers(catContentWrappers, catIterator, request);
+categoryList = request.getAttribute("topLevelList");
+if(categoryList != null) {
+ catContentWrappers = FastMap.newInstance();
+ CategoryWorker.getCategoryContentWrappers(catContentWrappers, categoryList, request);
context.put("catContentWrappers", catContentWrappers);
}
Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryWorker.java?view=diff&rev=497728&r1=497727&r2=497728
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryWorker.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryWorker.java Thu Jan 18 23:54:53 2007
@@ -20,7 +20,6 @@
import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
@@ -31,14 +30,18 @@
import javax.servlet.http.HttpSession;
import javax.servlet.jsp.PageContext;
-import org.ofbiz.base.util.*;
+import org.ofbiz.base.util.Debug;
+import org.ofbiz.base.util.UtilDateTime;
+import org.ofbiz.base.util.UtilFormatOut;
+import org.ofbiz.base.util.UtilHttp;
+import org.ofbiz.base.util.UtilMisc;
import org.ofbiz.entity.GenericDelegator;
import org.ofbiz.entity.GenericEntityException;
import org.ofbiz.entity.GenericValue;
+import org.ofbiz.entity.condition.EntityCondition;
+import org.ofbiz.entity.condition.EntityConditionList;
import org.ofbiz.entity.condition.EntityExpr;
import org.ofbiz.entity.condition.EntityOperator;
-import org.ofbiz.entity.condition.EntityConditionList;
-import org.ofbiz.entity.condition.EntityCondition;
import org.ofbiz.entity.util.EntityUtil;
import org.ofbiz.product.product.ProductWorker;
@@ -421,21 +424,27 @@
return newList;
}
- public static HashMap getCategoryContentWrappers(HashMap catContentWrappers, Iterator catIterator, HttpServletRequest request) throws GenericEntityException {
+ public static void getCategoryContentWrappers(Map catContentWrappers, List categoryList, HttpServletRequest request) throws GenericEntityException {
+ if (catContentWrappers == null || categoryList == null) {
+ return;
+ }
+ Iterator catIterator = categoryList.iterator();
while(catIterator.hasNext()) {
GenericValue cat = (GenericValue) catIterator.next();
+ String productCategoryId = (String) cat.get("productCategoryId");
+
+ if (catContentWrappers.containsKey(productCategoryId)) {
+ // if this ID is already in the Map, skip it (avoids inefficiency, infinite recursion, etc.)
+ continue;
+ }
+
CategoryContentWrapper catContentWrapper = new CategoryContentWrapper(cat, request);
- String id = (String) cat.get("productCategoryId");
- catContentWrappers.put(id, catContentWrapper);
+ catContentWrappers.put(productCategoryId, catContentWrapper);
ArrayList subCat = new ArrayList();
- subCat = getRelatedCategoriesRet(request, "subCatList", id, true);
+ subCat = getRelatedCategoriesRet(request, "subCatList", productCategoryId, true);
if(subCat != null) {
- Iterator subCatIterator = UtilMisc.toIterator(subCat);
- if(subCatIterator != null) {
- getCategoryContentWrappers(catContentWrappers, subCatIterator, request );
- }
+ getCategoryContentWrappers(catContentWrappers, subCat, request );
}
}
- return catContentWrappers;
}
}
Modified: ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/find/sidedeepcategory.bsh
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/find/sidedeepcategory.bsh?view=diff&rev=497728&r1=497727&r2=497728
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/find/sidedeepcategory.bsh (original)
+++ ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/find/sidedeepcategory.bsh Thu Jan 18 23:54:53 2007
@@ -1,7 +1,4 @@
/*
- *
- * Copyright 2001-2006 The Apache Software Foundation
- *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
@@ -18,6 +15,7 @@
import org.ofbiz.base.util.*;
import org.ofbiz.entity.*;
import org.ofbiz.product.category.*;
+import javolution.util.FastMap;
delegator = request.getAttribute("delegator");
@@ -49,9 +47,9 @@
context.put("curCategoryId", curCategoryId);
context.put("currentTopCategory", currentTopCategory);
-catIterator = UtilMisc.toIterator(request.getAttribute("topLevelList"));
-if(catIterator != null) {
- catContentWrappers = new HashMap();
- catContentWrappers = CategoryWorker.getCategoryContentWrappers(catContentWrappers, catIterator, request);
+categoryList = request.getAttribute("topLevelList");
+if(categoryList != null) {
+ catContentWrappers = FastMap.newInstance();
+ CategoryWorker.getCategoryContentWrappers(catContentWrappers, categoryList, request);
context.put("catContentWrappers", catContentWrappers);
}
Modified: ofbiz/trunk/applications/product/webapp/catalog/find/sidedeepcategory.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/find/sidedeepcategory.ftl?view=diff&rev=497728&r1=497727&r2=497728
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/find/sidedeepcategory.ftl (original)
+++ ofbiz/trunk/applications/product/webapp/catalog/find/sidedeepcategory.ftl Thu Jan 18 23:54:53 2007
@@ -1,7 +1,4 @@
<#--
-
-Copyright 2001-2006 The Apache Software Foundation
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at