Author: mbrohl
Date: Sat Dec 16 15:58:31 2017
New Revision: 1818429

URL: http://svn.apache.org/viewvc?rev=1818429&view=rev
Log:
Improved: General refactoring and code improvements, package 
org.apache.ofbiz.order.shoppingcart.product.
(OFBIZ-10065)

Thanks Julian Leichert for reporting and providing the patches.

Modified:
    
ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductDisplayWorker.java
    
ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java

Modified: 
ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductDisplayWorker.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductDisplayWorker.java?rev=1818429&r1=1818428&r2=1818429&view=diff
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductDisplayWorker.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductDisplayWorker.java
 Sat Dec 16 15:58:31 2017
@@ -63,11 +63,13 @@ public final class ProductDisplayWorker
         HttpServletRequest httpRequest = (HttpServletRequest) request;
         ShoppingCart cart = (ShoppingCart) 
httpRequest.getSession().getAttribute("shoppingCart");
 
-        if (cart == null || cart.size() <= 0) return null;
+        if (cart == null || cart.size() <= 0) {
+            return null;
+        }
 
         List<GenericValue> cartAssocs = null;
         try {
-            Map<String, GenericValue> products = new HashMap<String, 
GenericValue>();
+            Map<String, GenericValue> products = new HashMap<>();
 
             Iterator<ShoppingCartItem> cartiter = cart.iterator();
 
@@ -116,16 +118,16 @@ public final class ProductDisplayWorker
                 String currentCatalogId = 
CatalogWorker.getCurrentCatalogId(request);
                 String viewProductCategoryId = 
CatalogWorker.getCatalogViewAllowCategoryId(delegator, currentCatalogId);
                 if (viewProductCategoryId != null) {
-                    List<GenericValue> tempList = new 
LinkedList<GenericValue>();
+                    List<GenericValue> tempList = new LinkedList<>();
                     tempList.addAll(products.values());
                     tempList = 
CategoryWorker.filterProductsInCategory(delegator, tempList, 
viewProductCategoryId, "productId");
-                    cartAssocs = new LinkedList<GenericValue>();
+                    cartAssocs = new LinkedList<>();
                     cartAssocs.addAll(tempList);
                 }
             }
 
             if (cartAssocs == null) {
-                cartAssocs = new LinkedList<GenericValue>();
+                cartAssocs = new LinkedList<>();
                 cartAssocs.addAll(products.values());
             }
 
@@ -140,19 +142,22 @@ public final class ProductDisplayWorker
 
         if (UtilValidate.isNotEmpty(cartAssocs)) {
             return cartAssocs;
-        } else {
-            return null;
         }
+        return null;
     }
 
     public static Map<String, Object> getQuickReorderProducts(ServletRequest 
request) {
         Delegator delegator = (Delegator) request.getAttribute("delegator");
         HttpServletRequest httpRequest = (HttpServletRequest) request;
         GenericValue userLogin = (GenericValue) 
httpRequest.getSession().getAttribute("userLogin");
-        Map<String, Object> results = new HashMap<String, Object>();
+        Map<String, Object> results = new HashMap<>();
 
-        if (userLogin == null) userLogin = (GenericValue) 
httpRequest.getSession().getAttribute("autoUserLogin");
-        if (userLogin == null) return results;
+        if (userLogin == null) {
+            userLogin = (GenericValue) 
httpRequest.getSession().getAttribute("autoUserLogin");
+        }
+        if (userLogin == null) {
+            return results;
+        }
 
         try {
             Map<String, GenericValue> products = 
UtilGenerics.checkMap(httpRequest.getSession().getAttribute("_QUICK_REORDER_PRODUCTS_"));
@@ -160,11 +165,11 @@ public final class ProductDisplayWorker
             Map<String, Integer> productOccurances = 
UtilGenerics.checkMap(httpRequest.getSession().getAttribute("_QUICK_REORDER_PRODUCT_OCCURANCES_"));
 
             if (products == null || productQuantities == null || 
productOccurances == null) {
-                products = new HashMap<String, GenericValue>();
-                productQuantities = new HashMap<String, BigDecimal>();
+                products = new HashMap<>();
+                productQuantities = new HashMap<>();
                 // keep track of how many times a product occurs in order to 
find averages and rank by purchase amount
-                productOccurances = new HashMap<String, Integer>();
-                
+                productOccurances = new HashMap<>();
+
                 // get all order role entities for user by customer role type 
: PLACING_CUSTOMER
                 List<GenericValue> orderRoles = 
EntityQuery.use(delegator).from("OrderRole").where("partyId", 
userLogin.get("partyId"), "roleTypeId", "PLACING_CUSTOMER").queryList();
                 Iterator<GenericValue> ordersIter = 
UtilMisc.toIterator(orderRoles);
@@ -186,15 +191,21 @@ public final class ProductDisplayWorker
 
                             BigDecimal curQuant = 
productQuantities.get(product.get("productId"));
 
-                            if (curQuant == null) curQuant = BigDecimal.ZERO;
+                            if (curQuant == null) {
+                                curQuant = BigDecimal.ZERO;
+                            }
                             BigDecimal orderQuant = 
orderItem.getBigDecimal("quantity");
 
-                            if (orderQuant == null) orderQuant = 
BigDecimal.ZERO;
+                            if (orderQuant == null) {
+                                orderQuant = BigDecimal.ZERO;
+                            }
                             
productQuantities.put(product.getString("productId"), curQuant.add(orderQuant));
 
                             Integer curOcc = 
productOccurances.get(product.get("productId"));
 
-                            if (curOcc == null) curOcc = Integer.valueOf(0);
+                            if (curOcc == null) {
+                                curOcc = Integer.valueOf(0);
+                            }
                             
productOccurances.put(product.getString("productId"), 
Integer.valueOf(curOcc.intValue() + 1));
                         }
                     }
@@ -207,18 +218,20 @@ public final class ProductDisplayWorker
                     Integer occs = productOccurances.get(prodId);
                     BigDecimal nqint = quantity.divide(new BigDecimal(occs), 
new MathContext(10));
 
-                    if (nqint.compareTo(BigDecimal.ONE) < 0) nqint = 
BigDecimal.ONE;
+                    if (nqint.compareTo(BigDecimal.ONE) < 0) {
+                        nqint = BigDecimal.ONE;
+                    }
                     productQuantities.put(prodId, nqint);
                 }
-                
-                
httpRequest.getSession().setAttribute("_QUICK_REORDER_PRODUCTS_", new 
HashMap<String, GenericValue>(products));
-                
httpRequest.getSession().setAttribute("_QUICK_REORDER_PRODUCT_QUANTITIES_", new 
HashMap<String, BigDecimal>(productQuantities));
-                
httpRequest.getSession().setAttribute("_QUICK_REORDER_PRODUCT_OCCURANCES_", new 
HashMap<String, Integer>(productOccurances));
+
+                
httpRequest.getSession().setAttribute("_QUICK_REORDER_PRODUCTS_", new 
HashMap<>(products));
+                
httpRequest.getSession().setAttribute("_QUICK_REORDER_PRODUCT_QUANTITIES_", new 
HashMap<>(productQuantities));
+                
httpRequest.getSession().setAttribute("_QUICK_REORDER_PRODUCT_OCCURANCES_", new 
HashMap<>(productOccurances));
             } else {
                 // make a copy since we are going to change them
-                products = new HashMap<String, GenericValue>(products);
-                productQuantities = new HashMap<String, 
BigDecimal>(productQuantities);
-                productOccurances = new HashMap<String, 
Integer>(productOccurances);
+                products = new HashMap<>(products);
+                productQuantities = new HashMap<>(productQuantities);
+                productOccurances = new HashMap<>(productOccurances);
             }
 
             // remove all products that are already in the cart
@@ -246,13 +259,13 @@ public final class ProductDisplayWorker
                     }
                 }
 
-            List<GenericValue> reorderProds = new LinkedList<GenericValue>();
+            List<GenericValue> reorderProds = new LinkedList<>();
             reorderProds.addAll(products.values());
 
             // sort descending by new metric...
             BigDecimal occurancesModifier = BigDecimal.ONE;
             BigDecimal quantityModifier = BigDecimal.ONE;
-            Map<String, Object> newMetric = new HashMap<String, Object>();
+            Map<String, Object> newMetric = new HashMap<>();
             for (Map.Entry<String, Integer> entry : 
productOccurances.entrySet()) {
                 String prodId = entry.getKey();
                 Integer quantity = entry.getValue();
@@ -286,10 +299,14 @@ public final class ProductDisplayWorker
     }
 
     public static List<GenericValue> productOrderByMap(List<GenericValue> 
values, Map<String, Object> orderByMap, boolean descending) {
-        if (values == null)  return null;
-        if (values.size() == 0) return UtilMisc.toList(values);
+        if (values == null) {
+            return null;
+        }
+        if (values.size() == 0) {
+            return UtilMisc.toList(values);
+        }
 
-        List<GenericValue> result = new LinkedList<GenericValue>();
+        List<GenericValue> result = new LinkedList<>();
         result.addAll(values);
 
         Collections.sort(result, new ProductByMapComparator(orderByMap, 
descending));
@@ -320,7 +337,9 @@ public final class ProductDisplayWorker
             Object value2 = orderByMap.get(prod2.get("productId"));
 
             // null is defined as the smallest possible value
-            if (value == null) return value2 == null ? 0 : -1;
+            if (value == null) {
+                return value2 == null ? 0 : -1;
+            }
             return ((Comparable<Object>) value).compareTo(value2);
         }
 
@@ -339,9 +358,8 @@ public final class ProductDisplayWorker
                 ProductByMapComparator that = (ProductByMapComparator) obj;
 
                 return this.orderByMap.equals(that.orderByMap) && 
this.descending == that.descending;
-            } else {
-                return false;
             }
+            return false;
         }
     }
 }

Modified: 
ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
URL: 
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java?rev=1818429&r1=1818428&r2=1818429&view=diff
==============================================================================
--- 
ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
 (original)
+++ 
ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
 Sat Dec 16 15:58:31 2017
@@ -84,7 +84,7 @@ public final class ProductPromoWorker {
     private ProductPromoWorker() {}
 
     public static List<GenericValue> getStoreProductPromos(Delegator 
delegator, LocalDispatcher dispatcher, ServletRequest request) {
-        List<GenericValue> productPromos = new LinkedList<GenericValue>();
+        List<GenericValue> productPromos = new LinkedList<>();
         Timestamp nowTimestamp = UtilDateTime.nowTimestamp();
 
         // get the ShoppingCart out of the session.
@@ -121,7 +121,9 @@ public final class ProductPromoWorker {
                 GenericValue productStorePromoAppl = 
productStorePromoAppls.next();
                 if 
(UtilValidate.isNotEmpty(productStorePromoAppl.getString("manualOnly")) && 
"Y".equals(productStorePromoAppl.getString("manualOnly"))) {
                     // manual only promotions are not automatically evaluated 
(they must be explicitly selected by the user)
-                    if (Debug.verboseOn()) Debug.logVerbose("Skipping 
promotion with id [" + productStorePromoAppl.getString("productPromoId") + "] 
because it is applied to the store with ID " + productStoreId + " as a manual 
only promotion.", module);
+                    if (Debug.verboseOn()) {
+                        Debug.logVerbose("Skipping promotion with id [" + 
productStorePromoAppl.getString("productPromoId") + "] because it is applied to 
the store with ID " + productStoreId + " as a manual only promotion.", module);
+                    }
                     continue;
                 }
                 GenericValue productPromo = 
productStorePromoAppl.getRelatedOne("ProductPromo", true);
@@ -150,9 +152,13 @@ public final class ProductPromoWorker {
                             }
                         }
                     }
-                    if (!condResult) productPromo = null;
+                    if (!condResult) {
+                        productPromo = null;
+                    }
+                }
+                if (productPromo != null) {
+                    productPromos.add(productPromo);
                 }
-                if (productPromo != null) productPromos.add(productPromo);
             }
         } catch (GenericEntityException e) {
             Debug.logError(e, module);
@@ -161,7 +167,7 @@ public final class ProductPromoWorker {
     }
 
     public static Set<String> getStoreProductPromoCodes(ShoppingCart cart) {
-        Set<String> promoCodes = new HashSet<String>();
+        Set<String> promoCodes = new HashSet<>();
         Delegator delegator = cart.getDelegator();
 
         String productStoreId = cart.getProductStoreId();
@@ -181,7 +187,9 @@ public final class ProductPromoWorker {
                 GenericValue productStorePromoAppl = 
productStorePromoAppls.next();
                 if 
(UtilValidate.isNotEmpty(productStorePromoAppl.getString("manualOnly")) && 
"Y".equals(productStorePromoAppl.getString("manualOnly"))) {
                     // manual only promotions are not automatically evaluated 
(they must be explicitly selected by the user)
-                    if (Debug.verboseOn()) Debug.logVerbose("Skipping 
promotion with id [" + productStorePromoAppl.getString("productPromoId") + "] 
because it is applied to the store with ID " + productStoreId + " as a manual 
only promotion.", module);
+                    if (Debug.verboseOn()) {
+                        Debug.logVerbose("Skipping promotion with id [" + 
productStorePromoAppl.getString("productPromoId") + "] because it is applied to 
the store with ID " + productStoreId + " as a manual only promotion.", module);
+                    }
                         continue;
                 }
                 GenericValue productPromo = 
productStorePromoAppl.getRelatedOne("ProductPromo", true);
@@ -190,7 +198,7 @@ public final class ProductPromoWorker {
                     GenericValue productPromoCode = 
productPromoCodesIter.next();
                     
promoCodes.add(productPromoCode.getString("productPromoCodeId"));
                 }
-            } 
+            }
         } catch (GenericEntityException e) {
             Debug.logError(e, module);
         }
@@ -198,7 +206,7 @@ public final class ProductPromoWorker {
     }
 
     public static List<GenericValue> getProductStorePromotions(ShoppingCart 
cart, Timestamp nowTimestamp, LocalDispatcher dispatcher) {
-        List<GenericValue> productPromoList = new LinkedList<GenericValue>();
+        List<GenericValue> productPromoList = new LinkedList<>();
 
         Delegator delegator = cart.getDelegator();
 
@@ -220,7 +228,9 @@ public final class ProductPromoWorker {
             productStorePromoApplsList = 
EntityUtil.filterByDate(productStorePromoApplsList, nowTimestamp);
 
             if (UtilValidate.isEmpty(productStorePromoApplsList)) {
-                if (Debug.verboseOn()) Debug.logVerbose("Not doing promotions, 
none applied to store with ID " + productStoreId, module);
+                if (Debug.verboseOn()) {
+                    Debug.logVerbose("Not doing promotions, none applied to 
store with ID " + productStoreId, module);
+                }
             }
 
             Iterator<GenericValue> prodCatalogPromoAppls = 
UtilMisc.toIterator(productStorePromoApplsList);
@@ -228,7 +238,9 @@ public final class ProductPromoWorker {
                 GenericValue prodCatalogPromoAppl = 
prodCatalogPromoAppls.next();
                 if 
(UtilValidate.isNotEmpty(prodCatalogPromoAppl.getString("manualOnly")) && 
"Y".equals(prodCatalogPromoAppl.getString("manualOnly"))) {
                     // manual only promotions are not automatically evaluated 
(they must be explicitly selected by the user)
-                    if (Debug.verboseOn()) Debug.logVerbose("Skipping 
promotion with id [" + prodCatalogPromoAppl.getString("productPromoId") + "] 
because it is applied to the store with ID " + productStoreId + " as a manual 
only promotion.", module);
+                    if (Debug.verboseOn()) {
+                        Debug.logVerbose("Skipping promotion with id [" + 
prodCatalogPromoAppl.getString("productPromoId") + "] because it is applied to 
the store with ID " + productStoreId + " as a manual only promotion.", module);
+                    }
                     continue;
                 }
                 GenericValue productPromo = 
prodCatalogPromoAppl.getRelatedOne("ProductPromo", true);
@@ -241,7 +253,7 @@ public final class ProductPromoWorker {
     }
 
     public static List<GenericValue> getAgreementPromotions(ShoppingCart cart, 
Timestamp nowTimestamp, LocalDispatcher dispatcher) {
-        List<GenericValue> productPromoList = new LinkedList<GenericValue>();
+        List<GenericValue> productPromoList = new LinkedList<>();
 
         Delegator delegator = cart.getDelegator();
 
@@ -273,7 +285,9 @@ public final class ProductPromoWorker {
             agreementPromoApplsList = 
EntityUtil.filterByDate(agreementPromoApplsList, nowTimestamp);
 
             if (UtilValidate.isEmpty(agreementPromoApplsList)) {
-                if (Debug.verboseOn()) Debug.logVerbose("Not doing promotions, 
none applied to agreement with ID " + agreementId, module);
+                if (Debug.verboseOn()) {
+                    Debug.logVerbose("Not doing promotions, none applied to 
agreement with ID " + agreementId, module);
+                }
             }
 
             Iterator<GenericValue> agreementPromoAppls = 
UtilMisc.toIterator(agreementPromoApplsList);
@@ -325,14 +339,14 @@ public final class ProductPromoWorker {
 
             // NOTE: we can easily recognize the promos for the order total: 
they are the ones with usage set to 0
             Iterator<ProductPromoUseInfo> promoUses = 
cart.getProductPromoUseInfoIter();
-            List<ProductPromoUseInfo> sortedPromoUses = new 
ArrayList<ProductPromoUseInfo>();
+            List<ProductPromoUseInfo> sortedPromoUses = new ArrayList<>();
             while (promoUses.hasNext()) {
                 ProductPromoUseInfo promoUse = promoUses.next();
                 sortedPromoUses.add(promoUse);
             }
             Collections.sort(sortedPromoUses);
-            List<GenericValue> sortedExplodedProductPromoList = new 
ArrayList<GenericValue>(sortedPromoUses.size());
-            Map<String, Long> usesPerPromo = new HashMap<String, Long>();
+            List<GenericValue> sortedExplodedProductPromoList = new 
ArrayList<>(sortedPromoUses.size());
+            Map<String, Long> usesPerPromo = new HashMap<>();
             int indexOfFirstOrderTotalPromo = -1;
             for (ProductPromoUseInfo promoUse: sortedPromoUses) {
                 GenericValue productPromo = 
EntityQuery.use(delegator).from("ProductPromo").where("productPromoId", 
promoUse.getProductPromoId()).cache().queryOne();
@@ -432,7 +446,9 @@ public final class ProductPromoWorker {
                         // always have a useLimit to avoid unlimited looping, 
default to 1 if no other is specified
                         Long candidateUseLimit = 
getProductPromoUseLimit(productPromo, partyId, delegator);
                         Long useLimit = candidateUseLimit;
-                        if (Debug.verboseOn()) Debug.logVerbose("Running 
promotion [" + productPromoId + "], useLimit=" + useLimit + ", # of rules=" + 
productPromoRules.size(), module);
+                        if (Debug.verboseOn()) {
+                            Debug.logVerbose("Running promotion [" + 
productPromoId + "], useLimit=" + useLimit + ", # of rules=" + 
productPromoRules.size(), module);
+                        }
 
                         boolean requireCode = 
"Y".equals(productPromo.getString("requireCode"));
                         // check if promo code required
@@ -623,7 +639,7 @@ public final class ProductPromoWorker {
                     }
 
                     // check email address in ProductPromoCodeEmail
-                    List<EntityCondition> validEmailCondList = new 
LinkedList<EntityCondition>();
+                    List<EntityCondition> validEmailCondList = new 
LinkedList<>();
                     
validEmailCondList.add(EntityCondition.makeCondition("partyId", 
EntityOperator.EQUALS, partyId));
                     
validEmailCondList.add(EntityCondition.makeCondition("productPromoCodeId", 
EntityOperator.EQUALS, productPromoCodeId));
                     
validEmailCondList.add(EntityCondition.makeCondition("fromDate", 
EntityOperator.LESS_THAN_EQUAL_TO, nowTimestamp));
@@ -658,8 +674,8 @@ public final class ProductPromoWorker {
         if (productPromo == null) {
             return "";
         }
-        List<String> partyClassificationsIncluded = new ArrayList<String>();
-        List<String> partyClassificationsExcluded = new ArrayList<String>();
+        List<String> partyClassificationsIncluded = new ArrayList<>();
+        List<String> partyClassificationsExcluded = new ArrayList<>();
         StringBuilder promoDescBuf = new StringBuilder();
         List<GenericValue> productPromoRules = 
productPromo.getRelated("ProductPromoRule", null, null, true);
         Iterator<GenericValue> promoRulesIter = productPromoRules.iterator();
@@ -715,8 +731,12 @@ public final class ProductPromoWorker {
 
                 Map<String, Object> messageContext = UtilMisc.<String, 
Object>toMap("quantity", productPromoAction.get("quantity"), "amount", 
productPromoAction.get("amount"), "productId", productId, "partyId", 
productPromoAction.get("partyId"));
 
-                if (UtilValidate.isEmpty(messageContext.get("productId"))) 
messageContext.put("productId", "any");
-                if (UtilValidate.isEmpty(messageContext.get("partyId"))) 
messageContext.put("partyId", "any");
+                if (UtilValidate.isEmpty(messageContext.get("productId"))) {
+                    messageContext.put("productId", "any");
+                }
+                if (UtilValidate.isEmpty(messageContext.get("partyId"))) {
+                    messageContext.put("partyId", "any");
+                }
                 GenericValue product = 
EntityQuery.use(delegator).from("Product").where("productId", 
productId).cache().queryOne();
                 if (product != null) {
                     messageContext.put("productName", 
ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", locale, 
dispatcher, "html"));
@@ -738,7 +758,9 @@ public final class ProductPromoWorker {
 
         if (promoDescBuf.length() > 0) {
             // remove any trailing space
-            if (promoDescBuf.charAt(promoDescBuf.length() - 1) == ' ') 
promoDescBuf.deleteCharAt(promoDescBuf.length() - 1);
+            if (promoDescBuf.charAt(promoDescBuf.length() - 1) == ' ') {
+                promoDescBuf.deleteCharAt(promoDescBuf.length() - 1);
+            }
             // add a period
             promoDescBuf.append(". ");
             // capitalize the first letter
@@ -799,7 +821,9 @@ public final class ProductPromoWorker {
                 List<GenericValue> productPromoConds = 
EntityQuery.use(delegator).from("ProductPromoCond").where("productPromoId", 
productPromo.get("productPromoId")).orderBy("productPromoCondSeqId").cache(true).queryList();
                 productPromoConds = EntityUtil.filterByAnd(productPromoConds, 
UtilMisc.toMap("productPromoRuleId", 
productPromoRule.get("productPromoRuleId")));
                 // using the other method to consolidate cache entries because 
the same cache is used elsewhere: List productPromoConds = 
productPromoRule.getRelated("ProductPromoCond", null, 
UtilMisc.toList("productPromoCondSeqId"), true);
-                if (Debug.verboseOn()) Debug.logVerbose("Checking " + 
productPromoConds.size() + " conditions for rule " + productPromoRule, module);
+                if (Debug.verboseOn()) {
+                    Debug.logVerbose("Checking " + productPromoConds.size() + 
" conditions for rule " + productPromoRule, module);
+                }
 
                 Iterator<GenericValue> productPromoCondIter = 
UtilMisc.toIterator(productPromoConds);
                 while (productPromoCondIter != null && 
productPromoCondIter.hasNext()) {
@@ -859,7 +883,7 @@ public final class ProductPromoWorker {
     }
 
     private static Map<ShoppingCartItem,BigDecimal> 
prepareProductUsageInfoMap(ShoppingCart cart) {
-        Map<ShoppingCartItem,BigDecimal> usageInfoMap = new 
HashMap<ShoppingCartItem, BigDecimal>();
+        Map<ShoppingCartItem,BigDecimal> usageInfoMap = new HashMap<>();
         List<ShoppingCartItem> lineOrderedByBasePriceList = 
cart.getLineListOrderedByBasePrice(false);
         for (ShoppingCartItem cartItem : lineOrderedByBasePriceList) {
             BigDecimal used = cartItem.getPromoQuantityUsed();
@@ -871,7 +895,7 @@ public final class ProductPromoWorker {
     }
 
     private static Map<ShoppingCartItem,BigDecimal> 
prepareDeltaProductUsageInfoMap(Map<ShoppingCartItem,BigDecimal> oldMap, 
Map<ShoppingCartItem,BigDecimal> newMap) {
-        Map<ShoppingCartItem,BigDecimal> deltaUsageInfoMap = new 
HashMap<ShoppingCartItem, BigDecimal>(newMap);
+        Map<ShoppingCartItem,BigDecimal> deltaUsageInfoMap = new 
HashMap<>(newMap);
 
         for (Entry<ShoppingCartItem, BigDecimal> entry : oldMap.entrySet()) {
             ShoppingCartItem key = entry.getKey();
@@ -904,7 +928,9 @@ public final class ProductPromoWorker {
             userLogin = cart.getAutoUserLogin();
         }
 
-        if (Debug.verboseOn()) Debug.logVerbose("Checking promotion condition: 
" + productPromoCond, module);
+        if (Debug.verboseOn()) {
+            Debug.logVerbose("Checking promotion condition: " + 
productPromoCond, module);
+        }
         Integer compareBase = null;
 
         if ("PPIP_SERVICE".equals(inputParamEnumId)) {
@@ -1103,7 +1129,7 @@ public final class ProductPromoWorker {
             compareBase = Integer.valueOf(1);
             GenericValue shippingAddress = cart.getShippingAddress();
             if (UtilValidate.isNotEmpty(condValue) && shippingAddress != null) 
{
-                if(condValue.equals(shippingAddress.getString("countryGeoId")) 
|| condValue.equals(shippingAddress.getString("countyGeoId")) 
+                if(condValue.equals(shippingAddress.getString("countryGeoId")) 
|| condValue.equals(shippingAddress.getString("countyGeoId"))
                         || 
condValue.equals(shippingAddress.getString("postalCodeGeoId")) || 
condValue.equals(shippingAddress.getString("stateProvinceGeoId"))) {
                     compareBase = Integer.valueOf(0);
                 } else {
@@ -1285,7 +1311,9 @@ public final class ProductPromoWorker {
         productPromoConds = EntityUtil.filterByAnd(productPromoConds, 
UtilMisc.toMap("productPromoRuleId", 
productPromoRule.get("productPromoRuleId")));
         for (GenericValue productPromoCond: productPromoConds) {
             boolean passed = checkConditionForItem(productPromoCond, cart, 
cartItem, delegator, dispatcher, nowTimestamp);
-            if (!passed) return false;
+            if (!passed) {
+                return false;
+            }
         }
         return true;
     }
@@ -1333,17 +1361,29 @@ public final class ProductPromoWorker {
         if (compareBase != null) {
             int compare = compareBase.intValue();
             if ("PPC_EQ".equals(operatorEnumId)) {
-                if (compare == 0) return true;
+                if (compare == 0) {
+                    return true;
+                }
             } else if ("PPC_NEQ".equals(operatorEnumId)) {
-                if (compare != 0) return true;
+                if (compare != 0) {
+                    return true;
+                }
             } else if ("PPC_LT".equals(operatorEnumId)) {
-                if (compare < 0) return true;
+                if (compare < 0) {
+                    return true;
+                }
             } else if ("PPC_LTE".equals(operatorEnumId)) {
-                if (compare <= 0) return true;
+                if (compare <= 0) {
+                    return true;
+                }
             } else if ("PPC_GT".equals(operatorEnumId)) {
-                if (compare > 0) return true;
+                if (compare > 0) {
+                    return true;
+                }
             } else if ("PPC_GTE".equals(operatorEnumId)) {
-                if (compare >= 0) return true;
+                if (compare >= 0) {
+                    return true;
+                }
             } else {
                 
Debug.logWarning(UtilProperties.getMessage(resource_error,"OrderAnUnSupportedProductPromoCondCondition",
 UtilMisc.toMap("operatorEnumId",operatorEnumId) , cart.getLocale()), module);
                 return false;
@@ -1413,7 +1453,9 @@ public final class ProductPromoWorker {
 
             Integer itemLoc = findPromoItem(productPromoAction, cart);
             if (!allowMultipleGwp && itemLoc != null) {
-                if (Debug.verboseOn()) Debug.logVerbose("Not adding promo 
item, already there; action: " + productPromoAction, module);
+                if (Debug.verboseOn()) {
+                    Debug.logVerbose("Not adding promo item, already there; 
action: " + productPromoAction, module);
+                }
                 actionResultInfo.ranAction = false;
             } else {
                 BigDecimal quantity;
@@ -1433,7 +1475,7 @@ public final class ProductPromoWorker {
                     }
                 }
 
-                List<String> optionProductIds = new LinkedList<String>();
+                List<String> optionProductIds = new LinkedList<>();
                 String productId = productPromoAction.getString("productId");
 
                 GenericValue product = null;
@@ -1560,7 +1602,9 @@ public final class ProductPromoWorker {
 
                 // set promo after create; note that to setQuantity we must 
clear this flag, setQuantity, then re-set the flag
                 gwpItem.setIsPromo(true);
-                if (Debug.verboseOn()) Debug.logVerbose("gwpItem adjustments: 
" + gwpItem.getAdjustments(), module);
+                if (Debug.verboseOn()) {
+                    Debug.logVerbose("gwpItem adjustments: " + 
gwpItem.getAdjustments(), module);
+                }
 
                 actionResultInfo.ranAction = true;
                 actionResultInfo.totalDiscountAmount = discountAmount;
@@ -1613,7 +1657,9 @@ public final class ProductPromoWorker {
                 
cart.resetPromoRuleUse(productPromoAction.getString("productPromoId"), 
productPromoAction.getString("productPromoRuleId"));
             } else {
                 BigDecimal totalAmount = getCartItemsUsedTotalAmount(cart, 
productPromoAction);
-                if (Debug.verboseOn()) Debug.logVerbose("Applying promo [" + 
productPromoAction.getPrimaryKey() + "]\n totalAmount=" + totalAmount + ", 
discountAmountTotal=" + discountAmountTotal, module);
+                if (Debug.verboseOn()) {
+                    Debug.logVerbose("Applying promo [" + 
productPromoAction.getPrimaryKey() + "]\n totalAmount=" + totalAmount + ", 
discountAmountTotal=" + discountAmountTotal, module);
+                }
                 distributeDiscountAmount(discountAmountTotal, totalAmount, 
getCartItemsUsed(cart, productPromoAction), productPromoAction, delegator);
                 actionResultInfo.ranAction = true;
                 actionResultInfo.totalDiscountAmount = discountAmountTotal;
@@ -1658,7 +1704,9 @@ public final class ProductPromoWorker {
                 actionResultInfo.ranAction = false;
             } else {
                 BigDecimal totalAmount = getCartItemsUsedTotalAmount(cart, 
productPromoAction);
-                if (Debug.verboseOn()) Debug.logVerbose("Applying promo [" + 
productPromoAction.getPrimaryKey() + "]\n totalAmount=" + totalAmount + ", 
discountAmountTotal=" + discountAmountTotal, module);
+                if (Debug.verboseOn()) {
+                    Debug.logVerbose("Applying promo [" + 
productPromoAction.getPrimaryKey() + "]\n totalAmount=" + totalAmount + ", 
discountAmountTotal=" + discountAmountTotal, module);
+                }
                 distributeDiscountAmount(discountAmountTotal, totalAmount, 
getCartItemsUsed(cart, productPromoAction), productPromoAction, delegator);
                 actionResultInfo.ranAction = true;
                 actionResultInfo.totalDiscountAmount = discountAmountTotal;
@@ -1672,7 +1720,7 @@ public final class ProductPromoWorker {
 
             Set<String> productIds = 
ProductPromoWorker.getPromoRuleActionProductIds(productPromoAction, delegator, 
nowTimestamp);
 
-            List<ShoppingCartItem> cartItemsUsed = new 
LinkedList<ShoppingCartItem>();
+            List<ShoppingCartItem> cartItemsUsed = new LinkedList<>();
             List<ShoppingCartItem> lineOrderedByBasePriceList = 
cart.getLineListOrderedByBasePrice(false);
             Iterator<ShoppingCartItem> lineOrderedByBasePriceIter = 
lineOrderedByBasePriceList.iterator();
             while (quantityDesired.compareTo(BigDecimal.ZERO) > 0 && 
lineOrderedByBasePriceIter.hasNext()) {
@@ -1800,7 +1848,7 @@ public final class ProductPromoWorker {
     }
 
     private static List<ShoppingCartItem> getCartItemsUsed(ShoppingCart cart, 
GenericValue productPromoAction) {
-        List<ShoppingCartItem> cartItemsUsed = new 
LinkedList<ShoppingCartItem>();
+        List<ShoppingCartItem> cartItemsUsed = new LinkedList<>();
         for (ShoppingCartItem cartItem : cart) {
             BigDecimal quantityUsed = 
cartItem.getPromoQuantityCandidateUseActionAndAllConds(productPromoAction);
             if (quantityUsed.compareTo(BigDecimal.ZERO) > 0) {
@@ -1874,7 +1922,7 @@ public final class ProductPromoWorker {
         List<GenericValue> adjustments = cartItem.getAdjustments();
         if (UtilValidate.isNotEmpty(adjustments)) {
             for(GenericValue adjustment : adjustments) {
-                
if("PROMOTION_ADJUSTMENT".equals(adjustment.getString("orderAdjustmentTypeId")) 
&& 
+                
if("PROMOTION_ADJUSTMENT".equals(adjustment.getString("orderAdjustmentTypeId")) 
&&
                         
productPromoAction.get("productPromoId").equals(adjustment.getString("productPromoId"))
 &&
                         
productPromoAction.get("productPromoRuleId").equals(adjustment.getString("productPromoRuleId"))
 &&
                         
productPromoAction.get("productPromoActionSeqId").equals(adjustment.getString("productPromoActionSeqId")))
 {
@@ -1945,7 +1993,7 @@ public final class ProductPromoWorker {
         List<GenericValue> productPromoProducts = 
EntityUtil.filterByAnd(productPromoProductsAll, 
UtilMisc.toMap("productPromoRuleId", "_NA_", "productPromoCondSeqId", "_NA_"));
         
productPromoProducts.addAll(EntityUtil.filterByAnd(productPromoProductsAll, 
UtilMisc.toMap("productPromoRuleId", 
productPromoCond.get("productPromoRuleId"), "productPromoCondSeqId", 
productPromoCond.get("productPromoCondSeqId"))));
 
-        Set<String> productIds = new HashSet<String>();
+        Set<String> productIds = new HashSet<>();
         makeProductPromoIdSet(productIds, productPromoCategories, 
productPromoProducts, delegator, nowTimestamp, false);
         return productIds;
     }
@@ -1960,7 +2008,7 @@ public final class ProductPromoWorker {
         List<GenericValue> productPromoProducts = 
EntityUtil.filterByAnd(productPromoProductsAll, 
UtilMisc.toMap("productPromoRuleId", "_NA_", "productPromoActionSeqId", 
"_NA_"));
         
productPromoProducts.addAll(EntityUtil.filterByAnd(productPromoProductsAll, 
UtilMisc.toMap("productPromoRuleId", 
productPromoAction.get("productPromoRuleId"), "productPromoActionSeqId", 
productPromoAction.get("productPromoActionSeqId"))));
 
-        Set<String> productIds = new HashSet<String>();
+        Set<String> productIds = new HashSet<>();
         makeProductPromoIdSet(productIds, productPromoCategories, 
productPromoProducts, delegator, nowTimestamp, false);
         return productIds;
     }
@@ -1991,10 +2039,10 @@ public final class ProductPromoWorker {
         List<GenericValue> productPromoCategoriesAll = 
EntityQuery.use(delegator).from("ProductPromoCategory").where("productPromoId", 
productPromoId).cache(true).queryList();
         List<GenericValue> productPromoProductsAll = 
EntityQuery.use(delegator).from("ProductPromoProduct").where("productPromoId", 
productPromoId).cache(true).queryList();
 
-        List<GenericValue> productPromoProductsCond = new 
LinkedList<GenericValue>();
-        List<GenericValue> productPromoCategoriesCond = new 
LinkedList<GenericValue>();
-        List<GenericValue> productPromoProductsAction = new 
LinkedList<GenericValue>();
-        List<GenericValue> productPromoCategoriesAction = new 
LinkedList<GenericValue>();
+        List<GenericValue> productPromoProductsCond = new LinkedList<>();
+        List<GenericValue> productPromoCategoriesCond = new LinkedList<>();
+        List<GenericValue> productPromoProductsAction = new LinkedList<>();
+        List<GenericValue> productPromoCategoriesAction = new LinkedList<>();
 
         for (GenericValue productPromoProduct : productPromoProductsAll) {
             // if the rule id is null then this is a global promo one, so 
always include
@@ -2049,12 +2097,12 @@ public final class ProductPromoWorker {
 
     private static void handleProductPromoCategories(Set<String> productIds, 
List<GenericValue> productPromoCategories, String productPromoApplEnumId, 
Delegator delegator, Timestamp nowTimestamp) throws GenericEntityException {
         boolean include = !"PPPA_EXCLUDE".equals(productPromoApplEnumId);
-        Set<String> productCategoryIds = new HashSet<String>();
-        Map<String, List<Set<String>>> productCategoryGroupSetListMap = new 
HashMap<String, List<Set<String>>>();
+        Set<String> productCategoryIds = new HashSet<>();
+        Map<String, List<Set<String>>> productCategoryGroupSetListMap = new 
HashMap<>();
 
         for (GenericValue productPromoCategory : productPromoCategories) {
             if 
(productPromoApplEnumId.equals(productPromoCategory.getString("productPromoApplEnumId")))
 {
-                Set<String> tempCatIdSet = new HashSet<String>();
+                Set<String> tempCatIdSet = new HashSet<>();
                 if 
("Y".equals(productPromoCategory.getString("includeSubCategories"))) {
                     
ProductSearch.getAllSubCategoryIds(productPromoCategory.getString("productCategoryId"),
 tempCatIdSet, delegator, nowTimestamp);
                 } else {
@@ -2097,11 +2145,11 @@ public final class ProductPromoWorker {
         for (Map.Entry<String, List<Set<String>>> entry : 
productCategoryGroupSetListMap.entrySet()) {
             List<Set<String>> catIdSetList = entry.getValue();
             // get all productIds for this catIdSetList
-            List<Set<String>> productIdSetList = new LinkedList<Set<String>>();
+            List<Set<String>> productIdSetList = new LinkedList<>();
 
             for (Set<String> catIdSet : catIdSetList) {
                 // make a Set of productIds including all ids from all 
categories
-                Set<String> groupProductIdSet = new HashSet<String>();
+                Set<String> groupProductIdSet = new HashSet<>();
                 getAllProductIds(catIdSet, groupProductIdSet, delegator, 
nowTimestamp, true);
                 productIdSetList.add(groupProductIdSet);
             }


Reply via email to