You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by do...@apache.org on 2008/11/11 03:16:46 UTC
svn commit: r712916 [3/3] -
/ofbiz/trunk/applications/product/src/org/ofbiz/product/product/
Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductUtilServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductUtilServices.java?rev=712916&r1=712915&r2=712916&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductUtilServices.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductUtilServices.java Mon Nov 10 18:16:46 2008
@@ -63,7 +63,7 @@
public static final String resource = "ProductUiLabels";
/** First expire all ProductAssocs for all disc variants, then disc all virtuals that have all expired variant ProductAssocs */
- public static Map discVirtualsWithDiscVariants(DispatchContext dctx, Map context) {
+ public static Map<String, Object> discVirtualsWithDiscVariants(DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
Timestamp nowTimestamp = UtilDateTime.nowTimestamp();
Locale locale = (Locale) context.get("locale");
@@ -78,18 +78,18 @@
EntityListIterator eliOne = delegator.find("Product", conditionOne, null, null, null, null);
GenericValue productOne = null;
int numSoFarOne = 0;
- while ((productOne = (GenericValue) eliOne.next()) != null) {
+ while ((productOne = eliOne.next()) != null) {
String virtualProductId = ProductWorker.getVariantVirtualId(productOne);
GenericValue virtualProduct = delegator.findByPrimaryKey("Product", UtilMisc.toMap("productId", virtualProductId));
if (virtualProduct == null) {
continue;
}
- List passocList = delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", virtualProductId, "productIdTo", productOne.get("productId"), "productAssocTypeId", "PRODUCT_VARIANT"));
+ List<GenericValue> passocList = delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", virtualProductId, "productIdTo", productOne.get("productId"), "productAssocTypeId", "PRODUCT_VARIANT"));
passocList = EntityUtil.filterByDate(passocList);
if (passocList.size() > 0) {
- Iterator passocIter = passocList.iterator();
+ Iterator<GenericValue> passocIter = passocList.iterator();
while (passocIter.hasNext()) {
- GenericValue passoc = (GenericValue) passocIter.next();
+ GenericValue passoc = passocIter.next();
passoc.set("thruDate", nowTimestamp);
passoc.store();
}
@@ -110,8 +110,8 @@
EntityListIterator eli = delegator.find("Product", condition, null, null, null, null);
GenericValue product = null;
int numSoFar = 0;
- while ((product = (GenericValue) eli.next()) != null) {
- List passocList = delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", product.get("productId"), "productAssocTypeId", "PRODUCT_VARIANT"));
+ while ((product = eli.next()) != null) {
+ List<GenericValue> passocList = delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", product.get("productId"), "productAssocTypeId", "PRODUCT_VARIANT"));
passocList = EntityUtil.filterByDate(passocList);
if (passocList.size() == 0) {
product.set("salesDiscontinuationDate", nowTimestamp);
@@ -124,7 +124,7 @@
}
eli.close();
} catch (GenericEntityException e) {
- Map messageMap = UtilMisc.toMap("errMessage", e.toString());
+ Map<String, String> messageMap = UtilMisc.toMap("errMessage", e.toString());
errMsg = UtilProperties.getMessage(resource,"productutilservices.entity_error_running_discVirtualsWithDiscVariants", messageMap, locale);
Debug.logError(e, errMsg, module);
return ServiceUtil.returnError(errMsg);
@@ -134,7 +134,7 @@
}
/** for all disc products, remove from category memberships */
- public static Map removeCategoryMembersOfDiscProducts(DispatchContext dctx, Map context) {
+ public static Map<String, Object> removeCategoryMembersOfDiscProducts(DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
Timestamp nowTimestamp = UtilDateTime.nowTimestamp();
Locale locale = (Locale) context.get("locale");
@@ -148,13 +148,13 @@
EntityListIterator eli = delegator.find("Product", condition, null, null, null, null);
GenericValue product = null;
int numSoFar = 0;
- while ((product = (GenericValue) eli.next()) != null) {
+ while ((product = eli.next()) != null) {
String productId = product.getString("productId");
- List productCategoryMemberList = delegator.findByAnd("ProductCategoryMember", UtilMisc.toMap("productId", productId));
+ List<GenericValue> productCategoryMemberList = delegator.findByAnd("ProductCategoryMember", UtilMisc.toMap("productId", productId));
if (productCategoryMemberList.size() > 0) {
- Iterator productCategoryMemberIter = productCategoryMemberList.iterator();
+ Iterator<GenericValue> productCategoryMemberIter = productCategoryMemberList.iterator();
while (productCategoryMemberIter.hasNext()) {
- GenericValue productCategoryMember = (GenericValue) productCategoryMemberIter.next();
+ GenericValue productCategoryMember = productCategoryMemberIter.next();
// coded this way rather than a removeByAnd so it can be easily changed...
productCategoryMember.remove();
}
@@ -167,7 +167,7 @@
eli.close();
Debug.logInfo("Completed - Removed category members for " + numSoFar + " sales discontinued products.", module);
} catch (GenericEntityException e) {
- Map messageMap = UtilMisc.toMap("errMessage", e.toString());
+ Map<String, String> messageMap = UtilMisc.toMap("errMessage", e.toString());
errMsg = UtilProperties.getMessage(resource,"productutilservices.entity_error_running_removeCategoryMembersOfDiscProducts", messageMap, locale);
Debug.logError(e, errMsg, module);
return ServiceUtil.returnError(errMsg);
@@ -176,7 +176,7 @@
return ServiceUtil.returnSuccess();
}
- public static Map removeDuplicateOpenEndedCategoryMembers(DispatchContext dctx, Map context) {
+ public static Map<String, Object> removeDuplicateOpenEndedCategoryMembers(DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
Timestamp nowTimestamp = UtilDateTime.nowTimestamp();
Locale locale = (Locale) context.get("locale");
@@ -199,14 +199,14 @@
EntityListIterator eli = delegator.findListIteratorByCondition(dve, condition, havingCond, UtilMisc.toList("productId", "productCategoryId", "productIdCount"), null, null);
GenericValue pcm = null;
int numSoFar = 0;
- while ((pcm = (GenericValue) eli.next()) != null) {
- List productCategoryMemberList = delegator.findByAnd("ProductCategoryMember", UtilMisc.toMap("productId", pcm.get("productId"), "productCategoryId", pcm.get("productCategoryId")));
+ while ((pcm = eli.next()) != null) {
+ List<GenericValue> productCategoryMemberList = delegator.findByAnd("ProductCategoryMember", UtilMisc.toMap("productId", pcm.get("productId"), "productCategoryId", pcm.get("productCategoryId")));
if (productCategoryMemberList.size() > 1) {
// remove all except the first...
productCategoryMemberList.remove(0);
- Iterator productCategoryMemberIter = productCategoryMemberList.iterator();
+ Iterator<GenericValue> productCategoryMemberIter = productCategoryMemberList.iterator();
while (productCategoryMemberIter.hasNext()) {
- GenericValue productCategoryMember = (GenericValue) productCategoryMemberIter.next();
+ GenericValue productCategoryMember = productCategoryMemberIter.next();
productCategoryMember.remove();
}
numSoFar++;
@@ -218,7 +218,7 @@
eli.close();
Debug.logInfo("Completed - Removed category members for " + numSoFar + " products with duplicate category members.", module);
} catch (GenericEntityException e) {
- Map messageMap = UtilMisc.toMap("errMessage", e.toString());
+ Map<String, String> messageMap = UtilMisc.toMap("errMessage", e.toString());
errMsg = UtilProperties.getMessage(resource,"productutilservices.entity_error_running_removeDuplicateOpenEndedCategoryMembers", messageMap, locale);
Debug.logError(e, errMsg, module);
return ServiceUtil.returnError(errMsg);
@@ -227,7 +227,7 @@
return ServiceUtil.returnSuccess();
}
- public static Map makeStandAloneFromSingleVariantVirtuals(DispatchContext dctx, Map context) {
+ public static Map<String, Object> makeStandAloneFromSingleVariantVirtuals(DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
LocalDispatcher dispatcher = dctx.getDispatcher();
GenericValue userLogin = (GenericValue) context.get("userLogin");
@@ -258,19 +258,19 @@
), EntityOperator.AND);
EntityCondition havingCond = EntityCondition.makeCondition("productIdToCount", EntityOperator.EQUALS, Long.valueOf(1));
EntityListIterator eliOne = delegator.findListIteratorByCondition(dve, condition, havingCond, UtilMisc.toList("productId", "productIdToCount"), null, null);
- List valueList = eliOne.getCompleteList();
+ List<GenericValue> valueList = eliOne.getCompleteList();
eliOne.close();
Debug.logInfo("Found " + valueList.size() + " virtual products with one variant to turn into a stand alone product.", module);
int numWithOneOnly = 0;
- Iterator valueIter = valueList.iterator();
+ Iterator<GenericValue> valueIter = valueList.iterator();
while (valueIter.hasNext()) {
// has only one variant period, is it valid? should already be discontinued if not
- GenericValue value = (GenericValue) valueIter.next();
+ GenericValue value = valueIter.next();
String productId = value.getString("productId");
- List paList = delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", productId, "productAssocTypeId", "PRODUCT_VARIANT"));
+ List<GenericValue> paList = delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", productId, "productAssocTypeId", "PRODUCT_VARIANT"));
paList = EntityUtil.filterByDate(paList);
// verify the query; tested on a bunch, looks good
if (paList.size() != 1) {
@@ -296,19 +296,19 @@
EntityCondition.makeCondition(EntityCondition.makeCondition("thruDate", EntityOperator.EQUALS, null), EntityOperator.OR, EntityCondition.makeCondition("thruDate", EntityOperator.GREATER_THAN_EQUAL_TO, nowTimestamp))
), EntityOperator.AND);
EntityListIterator eliMulti = delegator.findListIteratorByCondition(dve, conditionWithDates, havingCond, UtilMisc.toList("productId", "productIdToCount"), null, null);
- List valueMultiList = eliMulti.getCompleteList();
+ List<GenericValue> valueMultiList = eliMulti.getCompleteList();
eliMulti.close();
Debug.logInfo("Found " + valueMultiList.size() + " virtual products with one VALID variant to pull the variant from to make a stand alone product.", module);
int numWithOneValid = 0;
- Iterator valueMultiIter = valueMultiList.iterator();
+ Iterator<GenericValue> valueMultiIter = valueMultiList.iterator();
while (valueMultiIter.hasNext()) {
- GenericValue value = (GenericValue) valueMultiIter.next();
+ GenericValue value = valueMultiIter.next();
// has only one valid variant
String productId = value.getString("productId");
- List paList = EntityUtil.filterByDate(delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", productId, "productAssocTypeId", "PRODUCT_VARIANT")));
+ List<GenericValue> paList = EntityUtil.filterByDate(delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", productId, "productAssocTypeId", "PRODUCT_VARIANT")));
// verify the query; tested on a bunch, looks good
if (paList.size() != 1) {
@@ -326,12 +326,12 @@
Debug.logInfo("Found virtual products with one valid variant: " + numWithOneValid + ", with one variant only: " + numWithOneOnly, module);
} catch (GenericEntityException e) {
- Map messageMap = UtilMisc.toMap("errMessage", e.toString());
+ Map<String, String> messageMap = UtilMisc.toMap("errMessage", e.toString());
errMsg = UtilProperties.getMessage(resource,"productutilservices.entity_error_running_makeStandAloneFromSingleVariantVirtuals", messageMap, locale);
Debug.logError(e, errMsg, module);
return ServiceUtil.returnError(errMsg);
} catch (GenericServiceException e) {
- Map messageMap = UtilMisc.toMap("errMessage", e.toString());
+ Map<String, String> messageMap = UtilMisc.toMap("errMessage", e.toString());
errMsg = UtilProperties.getMessage(resource,"productutilservices.entity_error_running_makeStandAloneFromSingleVariantVirtuals", messageMap, locale);
Debug.logError(e, errMsg, module);
return ServiceUtil.returnError(errMsg);
@@ -340,7 +340,7 @@
return ServiceUtil.returnSuccess();
}
- public static Map mergeVirtualWithSingleVariant(DispatchContext dctx, Map context) {
+ public static Map<String, Object> mergeVirtualWithSingleVariant(DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
Timestamp nowTimestamp = UtilDateTime.nowTimestamp();
@@ -360,16 +360,16 @@
GenericValue product = delegator.findByPrimaryKey("Product", UtilMisc.toMap("productId", productId));
Debug.logInfo("Processing virtual product with one variant with ID: " + productId + " and name: " + product.getString("internalName"), module);
- List paList = EntityUtil.filterByDate(delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", productId, "productAssocTypeId", "PRODUCT_VARIANT")));
+ List<GenericValue> paList = EntityUtil.filterByDate(delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", productId, "productAssocTypeId", "PRODUCT_VARIANT")));
if (paList.size() > 1) {
- Map messageMap = UtilMisc.toMap("productId", productId);
+ Map<String, String> messageMap = UtilMisc.toMap("productId", productId);
errMsg = UtilProperties.getMessage(resource,"productutilservices.found_more_than_one_valid_variant_for_virtual_ID", messageMap, locale);
Debug.logInfo(errMsg, module);
return ServiceUtil.returnError(errMsg);
}
if (paList.size() == 0) {
- Map messageMap = UtilMisc.toMap("productId", productId);
+ Map<String, String> messageMap = UtilMisc.toMap("productId", productId);
errMsg = UtilProperties.getMessage(resource,"productutilservices.did_not_find_any_valid_variants_for_virtual_ID", messageMap, locale);
Debug.logInfo(errMsg, module);
return ServiceUtil.returnError(errMsg);
@@ -445,7 +445,7 @@
return ServiceUtil.returnError("Test mode - returning error to get a rollback");
}
} catch (GenericEntityException e) {
- Map messageMap = UtilMisc.toMap("errMessage", e.toString());
+ Map<String, String> messageMap = UtilMisc.toMap("errMessage", e.toString());
errMsg = UtilProperties.getMessage(resource,"productutilservices.entity_error_running_makeStandAloneFromSingleVariantVirtuals", messageMap, locale);
Debug.logError(e, errMsg, module);
return ServiceUtil.returnError(errMsg);
@@ -455,10 +455,10 @@
}
protected static void duplicateRelated(GenericValue product, String title, String relatedEntityName, String productIdField, String variantProductId, Timestamp nowTimestamp, boolean removeOld, GenericDelegator delegator, boolean test) throws GenericEntityException {
- List relatedList = EntityUtil.filterByDate(product.getRelated(title + relatedEntityName), nowTimestamp);
- Iterator relatedIter = relatedList.iterator();
+ List<GenericValue> relatedList = EntityUtil.filterByDate(product.getRelated(title + relatedEntityName), nowTimestamp);
+ Iterator<GenericValue> relatedIter = relatedList.iterator();
while (relatedIter.hasNext()) {
- GenericValue relatedValue = (GenericValue) relatedIter.next();
+ GenericValue relatedValue = relatedIter.next();
GenericValue newRelatedValue = (GenericValue) relatedValue.clone();
newRelatedValue.set(productIdField, variantProductId);
@@ -469,7 +469,7 @@
// can't just set to null, need to remove the value so it isn't a constraint in the query
//findValue.set("fromDate", null);
findValue.remove("fromDate");
- List existingValueList = EntityUtil.filterByDate(delegator.findByAnd(relatedEntityName, findValue), nowTimestamp);
+ List<GenericValue> existingValueList = EntityUtil.filterByDate(delegator.findByAnd(relatedEntityName, findValue), nowTimestamp);
if (existingValueList.size() > 0) {
if (test) {
Debug.logInfo("Found " + existingValueList.size() + " existing values for related entity name: " + relatedEntityName + ", not copying, findValue is: " + findValue, module);
@@ -500,7 +500,7 @@
/** reset all product image names with a certain pattern, ex: /images/products/${size}/${productId}.jpg
* NOTE: only works on fields of Product right now
*/
- public static Map setAllProductImageNames(DispatchContext dctx, Map context) {
+ public static Map<String, Object> setAllProductImageNames(DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
Timestamp nowTimestamp = UtilDateTime.nowTimestamp();
String pattern = (String) context.get("pattern");
@@ -517,20 +517,20 @@
EntityListIterator eli = delegator.find("Product", null, null, null, null, null);
GenericValue product = null;
int numSoFar = 0;
- while ((product = (GenericValue) eli.next()) != null) {
+ while ((product = eli.next()) != null) {
String productId = (String) product.get("productId");
- Map smallMap = UtilMisc.toMap("size", "small", "productId", productId);
- Map mediumMap = UtilMisc.toMap("size", "medium", "productId", productId);
- Map largeMap = UtilMisc.toMap("size", "large", "productId", productId);
- Map detailMap = UtilMisc.toMap("size", "detail", "productId", productId);
+ Map<String, String> smallMap = UtilMisc.toMap("size", "small", "productId", productId);
+ Map<String, String> mediumMap = UtilMisc.toMap("size", "medium", "productId", productId);
+ Map<String, String> largeMap = UtilMisc.toMap("size", "large", "productId", productId);
+ Map<String, String> detailMap = UtilMisc.toMap("size", "detail", "productId", productId);
if ("Y".equals(product.getString("isVirtual"))) {
// find the first variant, use it's ID for the names...
- List productAssocList = EntityUtil.filterByDate(delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", productId, "productAssocTypeId", "PRODUCT_VARIANT")));
+ List<GenericValue> productAssocList = EntityUtil.filterByDate(delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", productId, "productAssocTypeId", "PRODUCT_VARIANT")));
if (productAssocList.size() > 0) {
GenericValue productAssoc = EntityUtil.getFirst(productAssocList);
- smallMap.put("productId", productAssoc.get("productIdTo"));
- mediumMap.put("productId", productAssoc.get("productIdTo"));
+ smallMap.put("productId", productAssoc.getString("productIdTo"));
+ mediumMap.put("productId", productAssoc.getString("productIdTo"));
product.set("smallImageUrl", FlexibleStringExpander.expandString(pattern, smallMap));
product.set("mediumImageUrl", FlexibleStringExpander.expandString(pattern, mediumMap));
} else {
@@ -555,7 +555,7 @@
eli.close();
Debug.logInfo("Completed - Image URLs set for " + numSoFar + " products.", module);
} catch (GenericEntityException e) {
- Map messageMap = UtilMisc.toMap("errMessage", e.toString());
+ Map<String, String> messageMap = UtilMisc.toMap("errMessage", e.toString());
errMsg = UtilProperties.getMessage(resource,"productutilservices.entity_error_running_setAllProductImageNames", messageMap, locale);
Debug.logError(e, errMsg, module);
return ServiceUtil.returnError(errMsg);
@@ -564,7 +564,7 @@
return ServiceUtil.returnSuccess();
}
- public static Map clearAllVirtualProductImageNames(DispatchContext dctx, Map context) {
+ public static Map<String, Object> clearAllVirtualProductImageNames(DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
Locale locale = (Locale) context.get("locale");
String errMsg = null;
@@ -573,7 +573,7 @@
EntityListIterator eli = delegator.find("Product", EntityCondition.makeCondition("isVirtual", EntityOperator.EQUALS, "Y"), null, null, null, null);
GenericValue product = null;
int numSoFar = 0;
- while ((product = (GenericValue) eli.next()) != null) {
+ while ((product = eli.next()) != null) {
product.set("smallImageUrl", null);
product.set("mediumImageUrl", null);
product.set("largeImageUrl", null);
@@ -587,7 +587,7 @@
eli.close();
Debug.logInfo("Completed - Image URLs set for " + numSoFar + " products.", module);
} catch (GenericEntityException e) {
- Map messageMap = UtilMisc.toMap("errMessage", e.toString());
+ Map<String, String> messageMap = UtilMisc.toMap("errMessage", e.toString());
errMsg = UtilProperties.getMessage(resource,"productutilservices.entity_error_running_clearAllVirtualProductImageNames", messageMap, locale);
Debug.logError(e, errMsg, module);
return ServiceUtil.returnError(errMsg);
@@ -619,7 +619,7 @@
- public static Map attachProductFeaturesToCategory(DispatchContext dctx, Map context) {
+ public static Map<String, Object> attachProductFeaturesToCategory(DispatchContext dctx, Map<String, ? extends Object> context) {
GenericDelegator delegator = dctx.getDelegator();
String productCategoryId = (String) context.get("productCategoryId");
String doSubCategoriesStr = (String) context.get("doSubCategories");
@@ -630,17 +630,17 @@
boolean doSubCategories = !"N".equals(doSubCategoriesStr);
Timestamp nowTimestamp = UtilDateTime.nowTimestamp();
- Set productFeatureTypeIdsToExclude = FastSet.newInstance();
+ Set<String> productFeatureTypeIdsToExclude = FastSet.newInstance();
String excludeProp = UtilProperties.getPropertyValue("prodsearch", "attach.feature.type.exclude");
if (UtilValidate.isNotEmpty(excludeProp)) {
- List typeList = StringUtil.split(excludeProp, ",");
+ List<String> typeList = StringUtil.split(excludeProp, ",");
productFeatureTypeIdsToExclude.addAll(typeList);
}
- Set productFeatureTypeIdsToInclude = null;
+ Set<String> productFeatureTypeIdsToInclude = null;
String includeProp = UtilProperties.getPropertyValue("prodsearch", "attach.feature.type.include");
if (UtilValidate.isNotEmpty(includeProp)) {
- List typeList = StringUtil.split(includeProp, ",");
+ List<String> typeList = StringUtil.split(includeProp, ",");
if (typeList.size() > 0) {
productFeatureTypeIdsToInclude = UtilMisc.makeSetWritable(typeList);
}
@@ -649,7 +649,7 @@
try {
attachProductFeaturesToCategory(productCategoryId, productFeatureTypeIdsToInclude, productFeatureTypeIdsToExclude, delegator, doSubCategories, nowTimestamp);
} catch (GenericEntityException e) {
- Map messageMap = UtilMisc.toMap("errMessage", e.toString());
+ Map<String, String> messageMap = UtilMisc.toMap("errMessage", e.toString());
errMsg = UtilProperties.getMessage(resource,"productutilservices.error_in_attachProductFeaturesToCategory", messageMap, locale);
Debug.logError(e, errMsg, module);
return ServiceUtil.returnError(errMsg);
@@ -661,27 +661,27 @@
/** Get all features associated with products and associate them with a feature group attached to the category for each feature type;
* includes products associated with this category only, but will also associate all feature groups of sub-categories with this category, optionally calls this method for all sub-categories too
*/
- public static void attachProductFeaturesToCategory(String productCategoryId, Set productFeatureTypeIdsToInclude, Set productFeatureTypeIdsToExclude, GenericDelegator delegator, boolean doSubCategories, Timestamp nowTimestamp) throws GenericEntityException {
+ public static void attachProductFeaturesToCategory(String productCategoryId, Set<String> productFeatureTypeIdsToInclude, Set<String> productFeatureTypeIdsToExclude, GenericDelegator delegator, boolean doSubCategories, Timestamp nowTimestamp) throws GenericEntityException {
if (nowTimestamp == null) {
nowTimestamp = UtilDateTime.nowTimestamp();
}
// do sub-categories first so all feature groups will be in place
- List subCategoryList = delegator.findByAnd("ProductCategoryRollup", UtilMisc.toMap("parentProductCategoryId", productCategoryId));
+ List<GenericValue> subCategoryList = delegator.findByAnd("ProductCategoryRollup", UtilMisc.toMap("parentProductCategoryId", productCategoryId));
if (doSubCategories) {
- Iterator subCategoryIter = subCategoryList.iterator();
+ Iterator<GenericValue> subCategoryIter = subCategoryList.iterator();
while (subCategoryIter.hasNext()) {
- GenericValue productCategoryRollup = (GenericValue) subCategoryIter.next();
+ GenericValue productCategoryRollup = subCategoryIter.next();
attachProductFeaturesToCategory(productCategoryRollup.getString("productCategoryId"), productFeatureTypeIdsToInclude, productFeatureTypeIdsToExclude, delegator, true, nowTimestamp);
}
}
// now get all features for this category and make associated feature groups
- Map productFeatureIdByTypeIdSetMap = FastMap.newInstance();
- List productCategoryMemberList = delegator.findByAnd("ProductCategoryMember", UtilMisc.toMap("productCategoryId", productCategoryId));
- Iterator productCategoryMemberIter = productCategoryMemberList.iterator();
+ Map<String, Set<String>> productFeatureIdByTypeIdSetMap = FastMap.newInstance();
+ List<GenericValue> productCategoryMemberList = delegator.findByAnd("ProductCategoryMember", UtilMisc.toMap("productCategoryId", productCategoryId));
+ Iterator<GenericValue> productCategoryMemberIter = productCategoryMemberList.iterator();
while (productCategoryMemberIter.hasNext()) {
- GenericValue productCategoryMember = (GenericValue) productCategoryMemberIter.next();
+ GenericValue productCategoryMember = productCategoryMemberIter.next();
String productId = productCategoryMember.getString("productId");
EntityCondition condition = EntityCondition.makeCondition(UtilMisc.toList(
EntityCondition.makeCondition("productId", EntityOperator.EQUALS, productId),
@@ -699,7 +699,7 @@
if (productFeatureTypeIdsToExclude != null && productFeatureTypeIdsToExclude.contains(productFeatureTypeId)) {
continue;
}
- Set productFeatureIdSet = (Set) productFeatureIdByTypeIdSetMap.get(productFeatureTypeId);
+ Set<String> productFeatureIdSet = productFeatureIdByTypeIdSetMap.get(productFeatureTypeId);
if (productFeatureIdSet == null) {
productFeatureIdSet = FastSet.newInstance();
productFeatureIdByTypeIdSetMap.put(productFeatureTypeId, productFeatureIdSet);
@@ -709,11 +709,11 @@
productFeatureAndApplEli.close();
}
- Iterator productFeatureIdByTypeIdSetIter = productFeatureIdByTypeIdSetMap.entrySet().iterator();
+ Iterator<Map.Entry<String, Set<String>>> productFeatureIdByTypeIdSetIter = productFeatureIdByTypeIdSetMap.entrySet().iterator();
while (productFeatureIdByTypeIdSetIter.hasNext()) {
- Map.Entry entry = (Map.Entry) productFeatureIdByTypeIdSetIter.next();
- String productFeatureTypeId = (String) entry.getKey();
- Set productFeatureIdSet = (Set) entry.getValue();
+ Map.Entry<String, Set<String>> entry = productFeatureIdByTypeIdSetIter.next();
+ String productFeatureTypeId = entry.getKey();
+ Set<String> productFeatureIdSet = entry.getValue();
String productFeatureGroupId = productCategoryId + "_" + productFeatureTypeId;
if (productFeatureGroupId.length() > 20) {
@@ -733,9 +733,9 @@
}
// now put all of the features in the group, if there is not already a valid feature placement there...
- Iterator productFeatureIdIter = productFeatureIdSet.iterator();
+ Iterator<String> productFeatureIdIter = productFeatureIdSet.iterator();
while (productFeatureIdIter.hasNext()) {
- String productFeatureId = (String) productFeatureIdIter.next();
+ String productFeatureId = productFeatureIdIter.next();
EntityCondition condition = EntityCondition.makeCondition(UtilMisc.toList(
EntityCondition.makeCondition("productFeatureId", EntityOperator.EQUALS, productFeatureId),
EntityCondition.makeCondition("productFeatureGroupId", EntityOperator.EQUALS, productFeatureGroupId),
@@ -751,9 +751,9 @@
}
// now get all feature groups associated with sub-categories and associate them with this category
- Iterator subCategoryIter = subCategoryList.iterator();
+ Iterator<GenericValue> subCategoryIter = subCategoryList.iterator();
while (subCategoryIter.hasNext()) {
- GenericValue productCategoryRollup = (GenericValue) subCategoryIter.next();
+ GenericValue productCategoryRollup = subCategoryIter.next();
String subProductCategoryId = productCategoryRollup.getString("productCategoryId");
EntityCondition condition = EntityCondition.makeCondition(UtilMisc.toList(
EntityCondition.makeCondition("productCategoryId", EntityOperator.EQUALS, subProductCategoryId),
@@ -762,7 +762,7 @@
), EntityOperator.AND);
EntityListIterator productFeatureCatGrpApplEli = delegator.find("ProductFeatureCatGrpAppl", condition, null, null, null, null);
GenericValue productFeatureCatGrpAppl = null;
- while ((productFeatureCatGrpAppl = (GenericValue) productFeatureCatGrpApplEli.next()) != null) {
+ while ((productFeatureCatGrpAppl = productFeatureCatGrpApplEli.next()) != null) {
String productFeatureGroupId = productFeatureCatGrpAppl.getString("productFeatureGroupId");
EntityCondition checkCondition = EntityCondition.makeCondition(UtilMisc.toList(
EntityCondition.makeCondition("productCategoryId", EntityOperator.EQUALS, productCategoryId),
@@ -780,11 +780,11 @@
}
}
- public static Map removeAllFeatureGroupsForCategory(DispatchContext dctx, Map context) {
+ public static Map<String, Object> removeAllFeatureGroupsForCategory(DispatchContext dctx, Map<String, ? extends Object> context) {
return ServiceUtil.returnSuccess();
}
- public static void getFeatureGroupsForCategory(String productCategoryId, Set productFeatureGroupIdsToRemove, GenericDelegator delegator, boolean doSubCategories, Timestamp nowTimestamp) throws GenericEntityException {
+ public static void getFeatureGroupsForCategory(String productCategoryId, Set<String> productFeatureGroupIdsToRemove, GenericDelegator delegator, boolean doSubCategories, Timestamp nowTimestamp) throws GenericEntityException {
}
}
Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java?rev=712916&r1=712915&r2=712916&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java Mon Nov 10 18:16:46 2008
@@ -87,24 +87,24 @@
private static boolean isAllowedToAddress(GenericValue product, GenericValue postalAddress, String productGeoPrefix) {
if (UtilValidate.isNotEmpty(product) && UtilValidate.isNotEmpty(postalAddress)) {
GenericDelegator delegator = product.getDelegator();
- List productGeos = null;
+ List<GenericValue> productGeos = null;
try {
productGeos = product.getRelated("ProductGeo");
} catch (GenericEntityException e) {
Debug.logError(e, module);
}
- List excludeGeos = EntityUtil.filterByAnd(productGeos, UtilMisc.toMap("productGeoEnumId", productGeoPrefix + "EXCLUDE"));
- List includeGeos = EntityUtil.filterByAnd(productGeos, UtilMisc.toMap("productGeoEnumId", productGeoPrefix + "INCLUDE"));
+ List<GenericValue> excludeGeos = EntityUtil.filterByAnd(productGeos, UtilMisc.toMap("productGeoEnumId", productGeoPrefix + "EXCLUDE"));
+ List<GenericValue> includeGeos = EntityUtil.filterByAnd(productGeos, UtilMisc.toMap("productGeoEnumId", productGeoPrefix + "INCLUDE"));
if (UtilValidate.isEmpty(excludeGeos) && UtilValidate.isEmpty(includeGeos)) {
// If no GEOs are configured the default is TRUE
return true;
}
- Iterator productGeosIt = null;
+ Iterator<GenericValue> productGeosIt = null;
// exclusion
productGeosIt = excludeGeos.iterator();
while (productGeosIt.hasNext()) {
- GenericValue productGeo = (GenericValue)productGeosIt.next();
- List excludeGeoGroup = GeoWorker.expandGeoGroup(productGeo.getString("geoId"), delegator);
+ GenericValue productGeo = productGeosIt.next();
+ List<GenericValue> excludeGeoGroup = GeoWorker.expandGeoGroup(productGeo.getString("geoId"), delegator);
if (GeoWorker.containsGeo(excludeGeoGroup, postalAddress.getString("countryGeoId"), delegator) ||
GeoWorker.containsGeo(excludeGeoGroup, postalAddress.getString("stateProvinceGeoId"), delegator) ||
GeoWorker.containsGeo(excludeGeoGroup, postalAddress.getString("postalCodeGeoId"), delegator)) {
@@ -118,8 +118,8 @@
// inclusion
productGeosIt = includeGeos.iterator();
while (productGeosIt.hasNext()) {
- GenericValue productGeo = (GenericValue)productGeosIt.next();
- List includeGeoGroup = GeoWorker.expandGeoGroup(productGeo.getString("geoId"), delegator);
+ GenericValue productGeo = productGeosIt.next();
+ List<GenericValue> includeGeoGroup = GeoWorker.expandGeoGroup(productGeo.getString("geoId"), delegator);
if (GeoWorker.containsGeo(includeGeoGroup, postalAddress.getString("countryGeoId"), delegator) ||
GeoWorker.containsGeo(includeGeoGroup, postalAddress.getString("stateProvinceGeoId"), delegator) ||
GeoWorker.containsGeo(includeGeoGroup, postalAddress.getString("postalCodeGeoId"), delegator)) {
@@ -187,11 +187,11 @@
}
public static String getAggregatedInstanceId(GenericDelegator delegator, String aggregatedProductId, String configId) throws GenericEntityException {
- List productAssocs = getAggregatedAssocs(delegator, aggregatedProductId);
+ List<GenericValue> productAssocs = getAggregatedAssocs(delegator, aggregatedProductId);
if (UtilValidate.isNotEmpty(productAssocs) && UtilValidate.isNotEmpty(configId)) {
- Iterator pai = productAssocs.iterator();
+ Iterator<GenericValue> pai = productAssocs.iterator();
while (pai.hasNext()) {
- GenericValue productAssoc = (GenericValue) pai.next();
+ GenericValue productAssoc = pai.next();
GenericValue product = productAssoc.getRelatedOne("AssocProduct");
if (configId.equals(product.getString("configId"))) {
return productAssoc.getString("productIdTo");
@@ -201,11 +201,11 @@
return null;
}
- public static List getAggregatedAssocs(GenericDelegator delegator, String aggregatedProductId) throws GenericEntityException {
+ public static List<GenericValue> getAggregatedAssocs(GenericDelegator delegator, String aggregatedProductId) throws GenericEntityException {
GenericValue aggregatedProduct = delegator.findByPrimaryKey("Product", UtilMisc.toMap("productId", aggregatedProductId));
if (UtilValidate.isNotEmpty(aggregatedProduct) && "AGGREGATED".equals(aggregatedProduct.getString("productTypeId"))) {
- List productAssocs = EntityUtil.filterByDate(aggregatedProduct.getRelatedByAnd("MainProductAssoc",
+ List<GenericValue> productAssocs = EntityUtil.filterByDate(aggregatedProduct.getRelatedByAnd("MainProductAssoc",
UtilMisc.toMap("productAssocTypeId", "PRODUCT_CONF")));
return productAssocs;
}
@@ -213,7 +213,7 @@
}
public static String getVariantVirtualId(GenericValue variantProduct) throws GenericEntityException {
- List productAssocs = getVariantVirtualAssocs(variantProduct);
+ List<GenericValue> productAssocs = getVariantVirtualAssocs(variantProduct);
if (productAssocs == null) {
return null;
}
@@ -225,9 +225,9 @@
}
}
- public static List getVariantVirtualAssocs(GenericValue variantProduct) throws GenericEntityException {
+ public static List<GenericValue> getVariantVirtualAssocs(GenericValue variantProduct) throws GenericEntityException {
if (variantProduct != null && "Y".equals(variantProduct.getString("isVariant"))) {
- List productAssocs = EntityUtil.filterByDate(variantProduct.getRelatedByAndCache("AssocProductAssoc",
+ List<GenericValue> productAssocs = EntityUtil.filterByDate(variantProduct.getRelatedByAndCache("AssocProductAssoc",
UtilMisc.toMap("productAssocTypeId", "PRODUCT_VARIANT")));
return productAssocs;
}
@@ -242,7 +242,7 @@
Double availableToPromise = null;
try {
- Map result = dispatcher.runSync("getInventoryAvailableByFacility",
+ Map<String, Object> result = dispatcher.runSync("getInventoryAvailableByFacility",
UtilMisc.toMap("productId", productId, "facilityId", inventoryFacilityId));
availableToPromise = (Double) result.get("availableToPromiseTotal");
@@ -272,14 +272,14 @@
**/
public static boolean isProductInventoryAvailableByFacility(ProductConfigWrapper productConfig, String inventoryFacilityId, double quantity, LocalDispatcher dispatcher) throws GenericServiceException {
boolean available = true;
- List options = productConfig.getSelectedOptions();
- Iterator optionsIt = options.iterator();
+ List<ConfigOption> options = productConfig.getSelectedOptions();
+ Iterator<ConfigOption> optionsIt = options.iterator();
while (optionsIt.hasNext()) {
- ConfigOption ci = (ConfigOption)optionsIt.next();
- List products = ci.getComponents();
- Iterator productsIt = products.iterator();
+ ConfigOption ci = optionsIt.next();
+ List<GenericValue> products = ci.getComponents();
+ Iterator<GenericValue> productsIt = products.iterator();
while (productsIt.hasNext()) {
- GenericValue product = (GenericValue)productsIt.next();
+ GenericValue product = productsIt.next();
String productId = product.getString("productId");
Double cmpQuantity = product.getDouble("quantity");
double neededQty = 1.0;
@@ -305,16 +305,16 @@
return;
try {
- List upgradeProducts = product.getRelatedByAndCache("MainProductAssoc",
+ List<GenericValue> upgradeProducts = product.getRelatedByAndCache("MainProductAssoc",
UtilMisc.toMap("productAssocTypeId", "PRODUCT_UPGRADE"));
- List complementProducts = product.getRelatedByAndCache("MainProductAssoc",
+ List<GenericValue> complementProducts = product.getRelatedByAndCache("MainProductAssoc",
UtilMisc.toMap("productAssocTypeId", "PRODUCT_COMPLEMENT"));
- List obsolescenceProducts = product.getRelatedByAndCache("AssocProductAssoc",
+ List<GenericValue> obsolescenceProducts = product.getRelatedByAndCache("AssocProductAssoc",
UtilMisc.toMap("productAssocTypeId", "PRODUCT_OBSOLESCENCE"));
- List obsoleteByProducts = product.getRelatedByAndCache("MainProductAssoc",
+ List<GenericValue> obsoleteByProducts = product.getRelatedByAndCache("MainProductAssoc",
UtilMisc.toMap("productAssocTypeId", "PRODUCT_OBSOLESCENCE"));
// since ProductAssoc records have a fromDate and thruDate, we can filter by now so that only assocs in the date range are included
@@ -340,7 +340,7 @@
* Gets ProductFeature GenericValue for all distinguishing features of a variant product.
* Distinguishing means all features that are selectable on the corresponding virtual product and standard on the variant plus all DISTINGUISHING_FEAT assoc type features on the variant.
*/
- public static Set getVariantDistinguishingFeatures(GenericValue variantProduct) throws GenericEntityException {
+ public static Set<GenericValue> getVariantDistinguishingFeatures(GenericValue variantProduct) throws GenericEntityException {
if (variantProduct == null) {
return FastSet.newInstance();
}
@@ -351,35 +351,35 @@
String virtualProductId = getVariantVirtualId(variantProduct);
// find all selectable features on the virtual product that are also standard features on the variant
- Set distFeatures = FastSet.newInstance();
+ Set<GenericValue> distFeatures = FastSet.newInstance();
- List variantDistinguishingFeatures = delegator.findByAndCache("ProductFeatureAndAppl", UtilMisc.toMap("productId", variantProduct.get("productId"), "productFeatureApplTypeId", "DISTINGUISHING_FEAT"));
+ List<GenericValue> variantDistinguishingFeatures = delegator.findByAndCache("ProductFeatureAndAppl", UtilMisc.toMap("productId", variantProduct.get("productId"), "productFeatureApplTypeId", "DISTINGUISHING_FEAT"));
// Debug.logInfo("Found variantDistinguishingFeatures: " + variantDistinguishingFeatures, module);
- Iterator variantDistinguishingFeatureIter = UtilMisc.toIterator(EntityUtil.filterByDate(variantDistinguishingFeatures));
+ Iterator<GenericValue> variantDistinguishingFeatureIter = UtilMisc.toIterator(EntityUtil.filterByDate(variantDistinguishingFeatures));
while (variantDistinguishingFeatureIter != null && variantDistinguishingFeatureIter.hasNext()) {
- GenericValue variantDistinguishingFeature = (GenericValue) variantDistinguishingFeatureIter.next();
+ GenericValue variantDistinguishingFeature = variantDistinguishingFeatureIter.next();
GenericValue dummyFeature = delegator.makeValue("ProductFeature");
dummyFeature.setAllFields(variantDistinguishingFeature, true, null, null);
distFeatures.add(dummyFeature);
}
- List virtualSelectableFeatures = delegator.findByAndCache("ProductFeatureAndAppl", UtilMisc.toMap("productId", virtualProductId, "productFeatureApplTypeId", "SELECTABLE_FEATURE"));
+ List<GenericValue> virtualSelectableFeatures = delegator.findByAndCache("ProductFeatureAndAppl", UtilMisc.toMap("productId", virtualProductId, "productFeatureApplTypeId", "SELECTABLE_FEATURE"));
// Debug.logInfo("Found virtualSelectableFeatures: " + virtualSelectableFeatures, module);
- Iterator virtualSelectableFeatureIter = UtilMisc.toIterator(EntityUtil.filterByDate(virtualSelectableFeatures));
- Set virtualSelectableFeatureIds = FastSet.newInstance();
+ Iterator<GenericValue> virtualSelectableFeatureIter = UtilMisc.toIterator(EntityUtil.filterByDate(virtualSelectableFeatures));
+ Set<String> virtualSelectableFeatureIds = FastSet.newInstance();
while (virtualSelectableFeatureIter != null && virtualSelectableFeatureIter.hasNext()) {
- GenericValue virtualSelectableFeature = (GenericValue) virtualSelectableFeatureIter.next();
- virtualSelectableFeatureIds.add(virtualSelectableFeature.get("productFeatureId"));
+ GenericValue virtualSelectableFeature = virtualSelectableFeatureIter.next();
+ virtualSelectableFeatureIds.add(virtualSelectableFeature.getString("productFeatureId"));
}
- List variantStandardFeatures = delegator.findByAndCache("ProductFeatureAndAppl", UtilMisc.toMap("productId", variantProduct.get("productId"), "productFeatureApplTypeId", "STANDARD_FEATURE"));
+ List<GenericValue> variantStandardFeatures = delegator.findByAndCache("ProductFeatureAndAppl", UtilMisc.toMap("productId", variantProduct.get("productId"), "productFeatureApplTypeId", "STANDARD_FEATURE"));
// Debug.logInfo("Found variantStandardFeatures: " + variantStandardFeatures, module);
- Iterator variantStandardFeatureIter = UtilMisc.toIterator(EntityUtil.filterByDate(variantStandardFeatures));
+ Iterator<GenericValue> variantStandardFeatureIter = UtilMisc.toIterator(EntityUtil.filterByDate(variantStandardFeatures));
while (variantStandardFeatureIter != null && variantStandardFeatureIter.hasNext()) {
- GenericValue variantStandardFeature = (GenericValue) variantStandardFeatureIter.next();
+ GenericValue variantStandardFeature = variantStandardFeatureIter.next();
if (virtualSelectableFeatureIds.contains(variantStandardFeature.get("productFeatureId"))) {
GenericValue dummyFeature = delegator.makeValue("ProductFeature");
dummyFeature.setAllFields(variantStandardFeature, true, null, null);
@@ -399,14 +399,14 @@
GenericValue alternativeOptionProduct = delegator.findByPrimaryKeyCache("Product", UtilMisc.toMap("productId", alternativeOptionProductId));
if (alternativeOptionProduct != null) {
if ("Y".equals(alternativeOptionProduct.getString("isVariant"))) {
- Set distFeatures = getVariantDistinguishingFeatures(alternativeOptionProduct);
+ Set<GenericValue> distFeatures = getVariantDistinguishingFeatures(alternativeOptionProduct);
if (UtilValidate.isNotEmpty(distFeatures)) {
// Debug.logInfo("Found distinguishing features: " + distFeatures, module);
StringBuilder nameBuf = new StringBuilder();
- Iterator distFeatIter = distFeatures.iterator();
+ Iterator<GenericValue> distFeatIter = distFeatures.iterator();
while (distFeatIter.hasNext()) {
- GenericValue productFeature = (GenericValue) distFeatIter.next();
+ GenericValue productFeature = distFeatIter.next();
GenericValue productFeatureType = productFeature.getRelatedOneCache("ProductFeatureType");
if (productFeatureType != null) {
nameBuf.append(productFeatureType.get("description", locale));
@@ -442,7 +442,7 @@
* @param productFeatureApplTypeId - if null, returns ALL productFeatures, regardless of applType
* @return List
*/
- public static List getProductFeaturesByApplTypeId(GenericDelegator delegator, String productId, String productFeatureApplTypeId) {
+ public static List<GenericValue> getProductFeaturesByApplTypeId(GenericDelegator delegator, String productId, String productFeatureApplTypeId) {
if (productId == null) {
return null;
}
@@ -455,14 +455,14 @@
return null;
}
- public static List getProductFeaturesByApplTypeId(GenericValue product, String productFeatureApplTypeId) {
+ public static List<GenericValue> getProductFeaturesByApplTypeId(GenericValue product, String productFeatureApplTypeId) {
if (product == null) {
return null;
}
- List features = FastList.newInstance();
+ List<GenericValue> features = FastList.newInstance();
try {
if (product != null) {
- List productAppls;
+ List<GenericValue> productAppls;
if (productFeatureApplTypeId == null) {
productAppls = product.getRelated("ProductFeatureAppl");
} else {
@@ -470,7 +470,7 @@
UtilMisc.toMap("productFeatureApplTypeId", productFeatureApplTypeId));
}
for (int i = 0; i < productAppls.size(); i++) {
- GenericValue productAppl = (GenericValue)productAppls.get(i);
+ GenericValue productAppl = productAppls.get(i);
features.add(productAppl.getRelatedOne("ProductFeature"));
}
features = EntityUtil.orderBy(features, UtilMisc.toList("description"));
@@ -511,18 +511,18 @@
GenericDelegator delegator = product.getDelegator();
Map<String,String> fields = UtilMisc.toMap("productId", product.getString("productId"), "productFeatureApplTypeId", "SELECTABLE_FEATURE");
List<String> order = UtilMisc.toList("productFeatureTypeId", "sequenceNum");
- List features = delegator.findByAndCache("ProductFeatureAndAppl", fields, order);
- List featuresSorted = (List) UtilMisc.sortMaps(features, order);
- Iterator it = (Iterator) featuresSorted.iterator();
+ List<GenericValue> features = delegator.findByAndCache("ProductFeatureAndAppl", fields, order);
+ List<GenericValue> featuresSorted = EntityUtil.orderBy(features, order);
+ Iterator<GenericValue> it = featuresSorted.iterator();
String oldType = null;
List<Map<String,String>> featureList = FastList.newInstance();
while(it.hasNext()) {
- GenericValue productFeatureAppl = (GenericValue) it.next();
+ GenericValue productFeatureAppl = it.next();
if (oldType == null || !oldType.equals(productFeatureAppl.getString("productFeatureTypeId"))) {
// use first entry for type and description
if (oldType != null) {
featureTypeFeatures.add(featureList);
- featureList = FastList.newInstance();
+ featureList = FastList.newInstance();
}
GenericValue productFeatureType = delegator.findByPrimaryKey("ProductFeatureType", UtilMisc.toMap("productFeatureTypeId",
productFeatureAppl.getString("productFeatureTypeId")));
@@ -531,13 +531,13 @@
oldType = productFeatureAppl.getString("productFeatureTypeId");
}
// fill other entries with featureId, description and default price and currency
- Map <String,String> featureData = UtilMisc.toMap("productFeatureId", productFeatureAppl.getString("productFeatureId"));
+ Map<String,String> featureData = UtilMisc.toMap("productFeatureId", productFeatureAppl.getString("productFeatureId"));
if (UtilValidate.isNotEmpty(productFeatureAppl.get("description"))) {
featureData.put("description", productFeatureAppl.getString("description"));
} else {
featureData.put("description", productFeatureAppl.getString("productFeatureId"));
}
- List <GenericValue> productFeaturePrices = EntityUtil.filterByDate(delegator.findByAnd("ProductFeaturePrice",
+ List<GenericValue> productFeaturePrices = EntityUtil.filterByDate(delegator.findByAnd("ProductFeaturePrice",
UtilMisc.toMap("productFeatureId", productFeatureAppl.getString("productFeatureId"), "productPriceTypeId", "DEFAULT_PRICE")));
if (UtilValidate.isNotEmpty(productFeaturePrices)) {
GenericValue productFeaturePrice = productFeaturePrices.get(0);
@@ -559,10 +559,10 @@
return featureTypeFeatures;
}
- public static Map getOptionalProductFeatures(GenericDelegator delegator, String productId) {
- Map featureMap = new LinkedHashMap();
+ public static Map<String, List<GenericValue>> getOptionalProductFeatures(GenericDelegator delegator, String productId) {
+ Map<String, List<GenericValue>> featureMap = new LinkedHashMap<String, List<GenericValue>>();
- List productFeatureAppls = null;
+ List<GenericValue> productFeatureAppls = null;
try {
productFeatureAppls = delegator.findByAnd("ProductFeatureAndAppl", UtilMisc.toMap("productId", productId, "productFeatureApplTypeId", "OPTIONAL_FEATURE"), UtilMisc.toList("productFeatureTypeId", "sequenceNum"));
} catch (GenericEntityException e) {
@@ -570,11 +570,11 @@
}
if (productFeatureAppls != null) {
- Iterator i = productFeatureAppls.iterator();
+ Iterator<GenericValue> i = productFeatureAppls.iterator();
while (i.hasNext()) {
- GenericValue appl = (GenericValue) i.next();
+ GenericValue appl = i.next();
String featureType = appl.getString("productFeatureTypeId");
- List features = (List) featureMap.get(featureType);
+ List<GenericValue> features = featureMap.get(featureType);
if (features == null) {
features = FastList.newInstance();
}
@@ -588,15 +588,15 @@
// product calc methods
- public static double calcOrderAdjustments(List orderHeaderAdjustments, double subTotal, boolean includeOther, boolean includeTax, boolean includeShipping) {
+ public static double calcOrderAdjustments(List<GenericValue> orderHeaderAdjustments, double subTotal, boolean includeOther, boolean includeTax, boolean includeShipping) {
double adjTotal = 0.0;
if (UtilValidate.isNotEmpty(orderHeaderAdjustments)) {
- List filteredAdjs = filterOrderAdjustments(orderHeaderAdjustments, includeOther, includeTax, includeShipping, false, false);
- Iterator adjIt = filteredAdjs.iterator();
+ List<GenericValue> filteredAdjs = filterOrderAdjustments(orderHeaderAdjustments, includeOther, includeTax, includeShipping, false, false);
+ Iterator<GenericValue> adjIt = filteredAdjs.iterator();
while (adjIt.hasNext()) {
- GenericValue orderAdjustment = (GenericValue) adjIt.next();
+ GenericValue orderAdjustment = adjIt.next();
adjTotal += calcOrderAdjustment(orderAdjustment, subTotal);
}
@@ -616,14 +616,14 @@
return adjustment;
}
- public static List filterOrderAdjustments(List adjustments, boolean includeOther, boolean includeTax, boolean includeShipping, boolean forTax, boolean forShipping) {
- List newOrderAdjustmentsList = FastList.newInstance();
+ public static List<GenericValue> filterOrderAdjustments(List<GenericValue> adjustments, boolean includeOther, boolean includeTax, boolean includeShipping, boolean forTax, boolean forShipping) {
+ List<GenericValue> newOrderAdjustmentsList = FastList.newInstance();
if (UtilValidate.isNotEmpty(adjustments)) {
- Iterator adjIt = adjustments.iterator();
+ Iterator<GenericValue> adjIt = adjustments.iterator();
while (adjIt.hasNext()) {
- GenericValue orderAdjustment = (GenericValue) adjIt.next();
+ GenericValue orderAdjustment = adjIt.next();
boolean includeAdjustment = false;
@@ -671,7 +671,7 @@
return getAverageProductRating(product, null, productStoreId);
}
- public static double getAverageProductRating(GenericValue product, List reviews, String productStoreId) {
+ public static double getAverageProductRating(GenericValue product, List<GenericValue> reviews, String productStoreId) {
if (product == null) {
Debug.logWarning("Invalid product entity passed; unable to obtain valid product rating", module);
return 0.00;
@@ -686,14 +686,14 @@
productEntityRating = Double.valueOf(0);
}
if (entityFieldType == null) {
- entityFieldType = new String();
+ entityFieldType = "";
}
if ("PRDR_FLAT".equals(entityFieldType)) {
productRating = productEntityRating.doubleValue();
} else {
// get the product rating from the ProductReview entity; limit by product store if ID is passed
- Map reviewByAnd = UtilMisc.toMap("statusId", "PRR_APPROVED");
+ Map<String, String> reviewByAnd = UtilMisc.toMap("statusId", "PRR_APPROVED");
if (productStoreId != null) {
reviewByAnd.put("productStoreId", productStoreId);
}
@@ -711,9 +711,9 @@
double ratingTally = 0;
double numRatings = 0;
if (reviews != null) {
- Iterator i = reviews.iterator();
+ Iterator<GenericValue> i = reviews.iterator();
while (i.hasNext()) {
- GenericValue productReview = (GenericValue) i.next();
+ GenericValue productReview = i.next();
Double rating = productReview.getDouble("productRating");
if (rating != null) {
ratingTally += rating.doubleValue();
@@ -741,7 +741,7 @@
return productRating;
}
- public static List getCurrentProductCategories(GenericDelegator delegator, String productId) {
+ public static List<GenericValue> getCurrentProductCategories(GenericDelegator delegator, String productId) {
GenericValue product = null;
try {
product = delegator.findByPrimaryKey("Product", UtilMisc.toMap("productId", productId));
@@ -751,13 +751,13 @@
return getCurrentProductCategories(delegator, product);
}
- public static List getCurrentProductCategories(GenericDelegator delegator, GenericValue product) {
+ public static List<GenericValue> getCurrentProductCategories(GenericDelegator delegator, GenericValue product) {
if (product == null) {
return null;
}
- List categories = FastList.newInstance();
+ List<GenericValue> categories = FastList.newInstance();
try {
- List categoryMembers = product.getRelated("ProductCategoryMember");
+ List<GenericValue> categoryMembers = product.getRelated("ProductCategoryMember");
categoryMembers = EntityUtil.filterByDate(categoryMembers);
categories = EntityUtil.getRelated("ProductCategory", categoryMembers);
} catch (GenericEntityException e) {
@@ -774,7 +774,7 @@
}
try {
- List virtualProductAssocs = delegator.findByAndCache("ProductAssoc", UtilMisc.toMap("productIdTo", productId, "productAssocTypeId", "PRODUCT_VARIANT"), UtilMisc.toList("-fromDate"));
+ List<GenericValue> virtualProductAssocs = delegator.findByAndCache("ProductAssoc", UtilMisc.toMap("productIdTo", productId, "productAssocTypeId", "PRODUCT_VARIANT"), UtilMisc.toList("-fromDate"));
virtualProductAssocs = EntityUtil.filterByDate(virtualProductAssocs);
if (UtilValidate.isEmpty(virtualProductAssocs)) {
//okay, not a variant, try a UNIQUE_ITEM
@@ -956,7 +956,7 @@
return products;
}
- public static List findProducts(GenericDelegator delegator, String idToFind) throws GenericEntityException {
+ public static List<GenericValue> findProducts(GenericDelegator delegator, String idToFind) throws GenericEntityException {
return findProducts(delegator, idToFind, null);
}
@@ -989,31 +989,31 @@
return false;
}
- public static Set getRefurbishedProductIdSet(String productId, GenericDelegator delegator) throws GenericEntityException {
- Set productIdSet = FastSet.newInstance();
+ public static Set<String> getRefurbishedProductIdSet(String productId, GenericDelegator delegator) throws GenericEntityException {
+ Set<String> productIdSet = FastSet.newInstance();
// find associated refurb items, we want serial number for main item or any refurb items too
- List refubProductAssocs = EntityUtil.filterByDate(delegator.findByAnd("ProductAssoc",
+ List<GenericValue> refubProductAssocs = EntityUtil.filterByDate(delegator.findByAnd("ProductAssoc",
UtilMisc.toMap("productId", productId, "productAssocTypeId", "PRODUCT_REFURB")));
- Iterator refubProductAssocIter = refubProductAssocs.iterator();
+ Iterator<GenericValue> refubProductAssocIter = refubProductAssocs.iterator();
while (refubProductAssocIter.hasNext()) {
- GenericValue refubProductAssoc = (GenericValue) refubProductAssocIter.next();
- productIdSet.add(refubProductAssoc.get("productIdTo"));
+ GenericValue refubProductAssoc = refubProductAssocIter.next();
+ productIdSet.add(refubProductAssoc.getString("productIdTo"));
}
// see if this is a refurb productId to, and find product(s) it is a refurb of
- List refubProductToAssocs = EntityUtil.filterByDate(delegator.findByAnd("ProductAssoc",
+ List<GenericValue> refubProductToAssocs = EntityUtil.filterByDate(delegator.findByAnd("ProductAssoc",
UtilMisc.toMap("productIdTo", productId, "productAssocTypeId", "PRODUCT_REFURB")));
- Iterator refubProductToAssocIter = refubProductToAssocs.iterator();
+ Iterator<GenericValue> refubProductToAssocIter = refubProductToAssocs.iterator();
while (refubProductToAssocIter.hasNext()) {
- GenericValue refubProductToAssoc = (GenericValue) refubProductToAssocIter.next();
- productIdSet.add(refubProductToAssoc.get("productId"));
+ GenericValue refubProductToAssoc = refubProductToAssocIter.next();
+ productIdSet.add(refubProductToAssoc.getString("productId"));
}
return productIdSet;
}
- public static String getVariantFromFeatureTree(String productId, List selectedFeatures, GenericDelegator delegator) {
+ public static String getVariantFromFeatureTree(String productId, List<String> selectedFeatures, GenericDelegator delegator) {
// all method code moved here from ShoppingCartEvents.addToCart event
String variantProductId = null;
@@ -1078,15 +1078,15 @@
}
// find variant
// Debug.log("=====try to find variant for product: " + productId + " and features: " + selectedFeatures);
- List <GenericValue> productAssocs = EntityUtil.filterByDate(delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", productId, "productAssocTypeId","PRODUCT_VARIANT")));
+ List<GenericValue> productAssocs = EntityUtil.filterByDate(delegator.findByAnd("ProductAssoc", UtilMisc.toMap("productId", productId, "productAssocTypeId","PRODUCT_VARIANT")));
Iterator <GenericValue> assocIter = productAssocs.iterator();
boolean productFound = false;
nextProd: while(assocIter.hasNext()) {
- GenericValue productAssoc = (GenericValue) assocIter.next();
+ GenericValue productAssoc = assocIter.next();
Iterator <String> fIter = selectedFeatures.iterator();
while (fIter.hasNext()) {
- String featureId = (String) fIter.next();
- List <GenericValue> pAppls = delegator.findByAndCache("ProductFeatureAppl", UtilMisc.toMap("productId", productAssoc.getString("productIdTo"), "productFeatureId", featureId, "productFeatureApplTypeId","STANDARD_FEATURE"));
+ String featureId = fIter.next();
+ List<GenericValue> pAppls = delegator.findByAndCache("ProductFeatureAppl", UtilMisc.toMap("productId", productAssoc.getString("productIdTo"), "productFeatureId", featureId, "productFeatureApplTypeId","STANDARD_FEATURE"));
if (UtilValidate.isEmpty(pAppls)) {
continue nextProd;
}
@@ -1121,7 +1121,7 @@
productFeatureAppl.create();
}
//add standard features too
- List <GenericValue> stdFeaturesAppls = EntityUtil.filterByDate(delegator.findByAnd("ProductFeatureAppl", UtilMisc.toMap("productId", productId, "productFeatureApplTypeId", "STANDARD_FEATURE")));
+ List<GenericValue> stdFeaturesAppls = EntityUtil.filterByDate(delegator.findByAnd("ProductFeatureAppl", UtilMisc.toMap("productId", productId, "productFeatureApplTypeId", "STANDARD_FEATURE")));
Iterator <GenericValue> stdFeatureIter = stdFeaturesAppls.iterator();
while (stdFeatureIter.hasNext()) {
GenericValue stdFeaturesAppl = stdFeatureIter.next();
@@ -1132,7 +1132,7 @@
* take the default price from the vitual product, go to the productfeature table and retrieve all the prices for the difFerent features
* add these to the price of the virtual product, store the result as the default price on the variant you created.
*/
- List <GenericValue> productPrices = EntityUtil.filterByDate(delegator.findByAnd("ProductPrice", UtilMisc.toMap("productId", productId)));
+ List<GenericValue> productPrices = EntityUtil.filterByDate(delegator.findByAnd("ProductPrice", UtilMisc.toMap("productId", productId)));
Iterator <GenericValue> ppIter = productPrices.iterator();
while (ppIter.hasNext()) {
GenericValue productPrice = ppIter.next();
@@ -1160,7 +1160,7 @@
Debug.log("set the productId to: " + product.getString("productId"));
// copy the supplier
- List <GenericValue> supplierProducts = delegator.findByAndCache("SupplierProduct", UtilMisc.toMap("productId", productId));
+ List<GenericValue> supplierProducts = delegator.findByAndCache("SupplierProduct", UtilMisc.toMap("productId", productId));
Iterator <GenericValue> SPite = supplierProducts.iterator();
while (SPite.hasNext()) {
GenericValue supplierProduct = SPite.next();
@@ -1169,7 +1169,7 @@
}
// copy the content
- List <GenericValue> productContents = delegator.findByAndCache("ProductContent", UtilMisc.toMap("productId", productId));
+ List<GenericValue> productContents = delegator.findByAndCache("ProductContent", UtilMisc.toMap("productId", productId));
Iterator <GenericValue> productContentsTte = productContents.iterator();
while (productContentsTte.hasNext()) {
GenericValue productContent = productContentsTte.next();
Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/product/VariantEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/product/VariantEvents.java?rev=712916&r1=712915&r2=712916&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/product/product/VariantEvents.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/product/product/VariantEvents.java Mon Nov 10 18:16:46 2008
@@ -73,7 +73,7 @@
try {
featureTypeSize = Integer.parseInt(featureTypeSizeStr);
} catch (NumberFormatException e) {
- Map messageMap = UtilMisc.toMap("featureTypeSizeStr", featureTypeSizeStr);
+ Map<String, String> messageMap = UtilMisc.toMap("featureTypeSizeStr", featureTypeSizeStr);
errMsg = UtilProperties.getMessage(resource,"variantevents.featureTypeSize_not_number", messageMap, UtilHttp.getLocale(request));
request.setAttribute("_ERROR_MESSAGE_", errMsg);
return "error";
@@ -86,7 +86,7 @@
// read the product, duplicate it with the given id
GenericValue product = delegator.findByPrimaryKey("Product", UtilMisc.toMap("productId", productId));
if (product == null) {
- Map messageMap = UtilMisc.toMap("productId", productId);
+ Map<String, String> messageMap = UtilMisc.toMap("productId", productId);
errMsg = UtilProperties.getMessage(resource,"variantevents.product_not_found_with_ID", messageMap, UtilHttp.getLocale(request));
TransactionUtil.rollback(beganTransacton, errMsg, null);
request.setAttribute("_ERROR_MESSAGE_", errMsg);
@@ -123,7 +123,7 @@
for (int i = 0; i < featureTypeSize; i++) {
String productFeatureId = request.getParameter("feature_" + i);
if (productFeatureId == null) {
- Map messageMap = UtilMisc.toMap("i", Integer.toString(i));
+ Map<String, String> messageMap = UtilMisc.toMap("i", Integer.toString(i));
errMsg = UtilProperties.getMessage(resource,"variantevents.productFeatureId_for_feature_type_number_not_found", messageMap, UtilHttp.getLocale(request));
TransactionUtil.rollback(beganTransacton, errMsg, null);
request.setAttribute("_ERROR_MESSAGE_", errMsg);
@@ -146,7 +146,7 @@
TransactionUtil.commit(beganTransacton);
} catch (GenericEntityException e) {
- Map messageMap = UtilMisc.toMap("errMessage", e.toString());
+ Map<String, String> messageMap = UtilMisc.toMap("errMessage", e.toString());
errMsg = UtilProperties.getMessage(resource,"variantevents.entity_error_quick_add_variant_data", messageMap, UtilHttp.getLocale(request));
TransactionUtil.rollback(beganTransacton, errMsg, null);
Debug.logError(e, "Entity error creating quick add variant data", module);
@@ -155,13 +155,13 @@
}
} catch (GenericTransactionException e) {
Debug.logError(e, "Transaction error creating quick add variant data", module);
- Map messageMap = UtilMisc.toMap("errMessage", e.toString());
+ Map<String, String> messageMap = UtilMisc.toMap("errMessage", e.toString());
errMsg = UtilProperties.getMessage(resource,"variantevents.transaction_error_quick_add_variant_data", messageMap, UtilHttp.getLocale(request));
request.setAttribute("_ERROR_MESSAGE_", errMsg);
return "error";
}
- Map messageMap = UtilMisc.toMap("variantProductId", variantProductId);
+ Map<String, String> messageMap = UtilMisc.toMap("variantProductId", variantProductId);
String sucMsg = UtilProperties.getMessage(resource,"variantevents.successfully_created_variant_product_with_id", messageMap, UtilHttp.getLocale(request));
request.setAttribute("_EVENT_MESSAGE_", sucMsg);
return "success";