Author: jleroux
Date: Thu Jul 1 14:05:21 2010
New Revision: 959673
URL:
http://svn.apache.org/viewvc?rev=959673&view=revLog:
Adds a getAssociatedProductsList method. I will certainly add the companions service and request later in the Product application.
I have also the vague desire to generalize this more, as I have been able to quickly use it in a widget form following the Freemarker way already used.
Modified:
ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonWorkers.java
Modified: ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonWorkers.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonWorkers.java?rev=959673&r1=959672&r2=959673&view=diff==============================================================================
--- ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonWorkers.java (original)
+++ ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonWorkers.java Thu Jul 1 14:05:21 2010
@@ -33,6 +33,7 @@ import org.ofbiz.entity.GenericValue;
import org.ofbiz.entity.condition.EntityCondition;
import org.ofbiz.entity.condition.EntityExpr;
import org.ofbiz.entity.condition.EntityOperator;
+import org.ofbiz.entity.util.EntityUtil;
/**
* Common Workers
@@ -135,6 +136,35 @@ public class CommonWorkers {
return geoList;
}
+ public static List<GenericValue> getAssociatedProductsList(Delegator delegator, String productCategoryId) {
+ return getAssociatedProductsList(delegator, productCategoryId, null);
+ }
+
+ /**
+ * Returns a list of active related products for a product category
+ */
+ public static List<GenericValue> getAssociatedProductsList(Delegator delegator, String productCategoryId, String listOrderBy) {
+ List<GenericValue> products = FastList.newInstance();
+ if (UtilValidate.isNotEmpty(productCategoryId)) {
+ EntityCondition productsFindCond = EntityCondition.makeCondition(
+ EntityCondition.makeCondition("productCategoryId", productCategoryId));
+
+ if (UtilValidate.isEmpty(listOrderBy)) {
+ listOrderBy = "sequenceNum";
+ }
+ List<String> sortList = UtilMisc.toList(listOrderBy);
+
+ try {
+ products = delegator.findList("ProductCategoryMember", productsFindCond, null, sortList, null, true);
+ products = EntityUtil.filterByDate(products);
+ } catch (GenericEntityException e) {
+ Debug.logError(e, "Cannot lookup ProductCategoryMember", module);
+ }
+ }
+
+ return products;
+ }
+
/**
* A generic method to be used on Type enities, e.g. ProductType. Recurse to the root level in the type hierarchy
* and checks if the specified type childType has parentType as its parent somewhere in the hierarchy.