You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mb...@apache.org on 2017/12/15 20:33:57 UTC

svn commit: r1818329 [3/3] - /ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/

Modified: ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartEvents.java?rev=1818329&r1=1818328&r2=1818329&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartEvents.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartEvents.java Fri Dec 15 20:33:56 2017
@@ -111,7 +111,7 @@ public class ShoppingCartEvents {
                 if (!productPromoCode.isEmpty()) {
                     String productPromoId = productPromoCode.getString("productPromoId");
                     GenericValue productPromoAction = null;
-                    Map<String, String> productPromoActionMap = new HashMap<String, String>();
+                    Map<String, String> productPromoActionMap = new HashMap<>();
                     productPromoActionMap.put("productPromoId", productPromoId);
                     productPromoActionMap.put("productPromoRuleId", "01");
                     productPromoActionMap.put("productPromoActionSeqId", "01");
@@ -206,7 +206,7 @@ public class ShoppingCartEvents {
         // not used right now: Map attributes = null;
         String catalogId = CatalogWorker.getCurrentCatalogId(request);
         Locale locale = UtilHttp.getLocale(request);
-       
+
         // Get the parameters as a MAP, remove the productId and quantity params.
         Map<String, Object> paramMap = UtilHttp.getCombinedMap(request);
 
@@ -297,10 +297,9 @@ public class ShoppingCartEvents {
                 request.setAttribute("product_id", productId);
                 request.setAttribute("_EVENT_MESSAGE_", UtilProperties.getMessage(resource_error, "cart.addToCart.configureProductBeforeAddingToCart", locale));
                 return "product";
-            } else {
-                // load the Config Id
-                ProductConfigWorker.storeProductConfigWrapper(configWrapper, delegator);
             }
+            // load the Config Id
+            ProductConfigWorker.storeProductConfigWrapper(configWrapper, delegator);
         }
 
 
@@ -309,7 +308,7 @@ public class ShoppingCartEvents {
 
             if ("VV_FEATURETREE".equals(ProductWorker.getProductVirtualVariantMethod(delegator, productId))) {
                 // get the selected features.
-                List<String> selectedFeatures = new LinkedList<String>();
+                List<String> selectedFeatures = new LinkedList<>();
                 Enumeration<String> paramNames = UtilGenerics.cast(request.getParameterNames());
                 while (paramNames.hasMoreElements()) {
                     String paramName = paramNames.nextElement();
@@ -353,7 +352,7 @@ public class ShoppingCartEvents {
         if (priceStr == null) {
             priceStr = "0";  // default price is 0
         }
-        
+
         if ("ASSET_USAGE_OUT_IN".equals(ProductWorker.getProductTypeId(delegator, productId))) {
             if (paramMap.containsKey("numberOfDay")) {
                 numberOfDay = (String) paramMap.remove("numberOfDay");
@@ -361,13 +360,15 @@ public class ShoppingCartEvents {
                 reservEnd = UtilDateTime.addDaysToTimestamp(reservStart, Integer.parseInt(numberOfDay));
             }
         }
-        
+
         // get the renting data
         if ("ASSET_USAGE".equals(ProductWorker.getProductTypeId(delegator, productId)) || "ASSET_USAGE_OUT_IN".equals(ProductWorker.getProductTypeId(delegator, productId))) {
             if (paramMap.containsKey("reservStart")) {
                 reservStartStr = (String) paramMap.remove("reservStart");
-                if (reservStartStr.length() == 10) // only date provided, no time string?
+                if (reservStartStr.length() == 10)
+                 {
                     reservStartStr += " 00:00:00.000000000"; // should have format: yyyy-mm-dd hh:mm:ss.fffffffff
+                }
                 if (reservStartStr.length() > 0) {
                     try {
                         reservStart = java.sql.Timestamp.valueOf(reservStartStr);
@@ -378,13 +379,17 @@ public class ShoppingCartEvents {
                         request.setAttribute("_ERROR_MESSAGE_", UtilProperties.getMessage(resource_error, "cart.addToCart.rental.startDate", locale));
                         return "error";
                     }
-                } else reservStart = null;
+                } else {
+                    reservStart = null;
+                }
             }
 
             if (paramMap.containsKey("reservEnd")) {
                 reservEndStr = (String) paramMap.remove("reservEnd");
-                if (reservEndStr.length() == 10) // only date provided, no time string?
+                if (reservEndStr.length() == 10)
+                 {
                     reservEndStr += " 00:00:00.000000000"; // should have format: yyyy-mm-dd hh:mm:ss.fffffffff
+                }
                 if (reservEndStr.length() > 0) {
                     try {
                         reservEnd = java.sql.Timestamp.valueOf(reservEndStr);
@@ -394,7 +399,9 @@ public class ShoppingCartEvents {
                         request.setAttribute("_ERROR_MESSAGE_", UtilProperties.getMessage(resource_error, "cart.addToCart.rental.endDate", locale));
                         return "error";
                     }
-                } else reservEnd = null;
+                } else {
+                    reservEnd = null;
+                }
             }
 
             if (reservStart != null && reservEnd != null) {
@@ -461,7 +468,7 @@ public class ShoppingCartEvents {
         // parse the quantity
         try {
             quantity = (BigDecimal) ObjectType.simpleTypeConvert(quantityStr, "BigDecimal", null, locale);
-            //For quantity we should test if we allow to add decimal quantity for this product an productStore : 
+            //For quantity we should test if we allow to add decimal quantity for this product an productStore :
             // if not and if quantity is in decimal format then return error.
             if(! ProductWorker.isDecimalQuantityOrderAllowed(delegator, productId, cart.getProductStoreId())){
                 BigDecimal remainder = quantity.remainder(BigDecimal.ONE);
@@ -510,7 +517,9 @@ public class ShoppingCartEvents {
         // get the ship before date (handles both yyyy-mm-dd input and full timestamp)
         shipBeforeDateStr = (String) paramMap.remove("shipBeforeDate");
         if (UtilValidate.isNotEmpty(shipBeforeDateStr)) {
-            if (shipBeforeDateStr.length() == 10) shipBeforeDateStr += " 00:00:00.000";
+            if (shipBeforeDateStr.length() == 10) {
+                shipBeforeDateStr += " 00:00:00.000";
+            }
             try {
                 shipBeforeDate = java.sql.Timestamp.valueOf(shipBeforeDateStr);
             } catch (IllegalArgumentException e) {
@@ -522,7 +531,9 @@ public class ShoppingCartEvents {
         // get the ship after date (handles both yyyy-mm-dd input and full timestamp)
         shipAfterDateStr = (String) paramMap.remove("shipAfterDate");
         if (UtilValidate.isNotEmpty(shipAfterDateStr)) {
-            if (shipAfterDateStr.length() == 10) shipAfterDateStr += " 00:00:00.000";
+            if (shipAfterDateStr.length() == 10) {
+                shipAfterDateStr += " 00:00:00.000";
+            }
             try {
                 shipAfterDate = java.sql.Timestamp.valueOf(shipAfterDateStr);
             } catch (IllegalArgumentException e) {
@@ -577,7 +588,7 @@ public class ShoppingCartEvents {
                             EntityCondition.makeCondition(EntityCondition.makeCondition("productId", EntityOperator.EQUALS, productId), EntityOperator.OR, EntityCondition.makeCondition("productIdTo", EntityOperator.EQUALS, productId)),
                             EntityCondition.makeCondition("productAssocTypeId", EntityOperator.EQUALS, "PRODUCT_INCOMPATABLE")), EntityOperator.AND);
                     productAssocs = EntityQuery.use(delegator).from("ProductAssoc").where(cond).filterByDate().queryList();
-                    List<String> productList = new LinkedList<String>();
+                    List<String> productList = new LinkedList<>();
                     for (GenericValue productAssoc : productAssocs) {
                         if (productId.equals(productAssoc.getString("productId"))) {
                             productList.add(productAssoc.getString("productIdTo"));
@@ -617,7 +628,7 @@ public class ShoppingCartEvents {
                 Debug.logError(e.getMessage(), module);
             }
         }
-        
+
         // check for alternative packing
         if(ProductWorker.isAlternativePacking(delegator, productId , parentProductId)){
             GenericValue parentProduct = null;
@@ -661,13 +672,11 @@ public class ShoppingCartEvents {
         // Determine where to send the browser
         if (controlDirective.equals(ERROR)) {
             return "error";
-        } else {
-            if (cart.viewCartOnAdd()) {
-                return "viewcart";
-            } else {
-                return "success";
-            }
         }
+        if (cart.viewCartOnAdd()) {
+            return "viewcart";
+        }
+        return "success";
     }
 
     public static String addToCartFromOrder(HttpServletRequest request, HttpServletResponse response) {
@@ -689,9 +698,8 @@ public class ShoppingCartEvents {
         //Determine where to send the browser
         if (controlDirective.equals(ERROR)) {
             return "error";
-        } else {
-            return "success";
         }
+        return "success";
     }
 
     /** Adds all products in a category according to quantity request parameter
@@ -715,9 +723,8 @@ public class ShoppingCartEvents {
         //Determine where to send the browser
         if (controlDirective.equals(ERROR)) {
             return "error";
-        } else {
-            return "success";
         }
+        return "success";
     }
 
     public static String quickInitPurchaseOrder(HttpServletRequest request, HttpServletResponse response) {
@@ -726,7 +733,7 @@ public class ShoppingCartEvents {
         HttpSession session = request.getSession();
         Locale locale = UtilHttp.getLocale(request);
         String supplierPartyId = request.getParameter("supplierPartyId_o_0");
-        
+
         // check the preferred currency of the supplier, if set, use that for the cart, otherwise use system defaults.
         ShoppingCart cart = null;
         try {
@@ -739,7 +746,7 @@ public class ShoppingCartEvents {
         } catch (GenericEntityException e) {
             Debug.logError(e.getMessage(), module);
         }
-        
+
         // TODO: the code below here needs some cleanups
         String billToCustomerPartyId = request.getParameter("billToCustomerPartyId_o_0");
         if (UtilValidate.isEmpty(billToCustomerPartyId) && UtilValidate.isEmpty(supplierPartyId)) {
@@ -810,9 +817,8 @@ public class ShoppingCartEvents {
         //Determine where to send the browser
         if (controlDirective.equals(ERROR)) {
             return "error";
-        } else {
-            return "success";
         }
+        return "success";
     }
 
     /** Adds all products in a category according to default quantity on ProductCategoryMember
@@ -838,16 +844,16 @@ public class ShoppingCartEvents {
         //Determine where to send the browser
         if (controlDirective.equals(ERROR)) {
             return "error";
-        } else {
-            totalQuantity = (BigDecimal)result.get("totalQuantity");
-            Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("totalQuantity", UtilFormatOut.formatQuantity(totalQuantity.doubleValue()));
-
-            request.setAttribute("_EVENT_MESSAGE_",
-                                  UtilProperties.getMessage(resource_error, "cart.add_category_defaults",
-                                          messageMap, locale));
-
-            return "success";
         }
+        totalQuantity = (BigDecimal) result.get("totalQuantity");
+        Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("totalQuantity", UtilFormatOut.formatQuantity(
+                totalQuantity.doubleValue()));
+
+        request.setAttribute("_EVENT_MESSAGE_",
+                UtilProperties.getMessage(resource_error, "cart.add_category_defaults",
+                        messageMap, locale));
+
+        return "success";
     }
 
     /** Delete an item from the shopping cart. */
@@ -865,9 +871,8 @@ public class ShoppingCartEvents {
         //Determine where to send the browser
         if (controlDirective.equals(ERROR)) {
             return "error";
-        } else {
-            return "success";
         }
+        return "success";
     }
 
     /** Update the items in the shopping cart. */
@@ -892,9 +897,8 @@ public class ShoppingCartEvents {
         //Determine where to send the browser
         if (controlDirective.equals(ERROR)) {
             return "error";
-        } else {
-            return "success";
         }
+        return "success";
     }
 
     /** Empty the shopping cart. */
@@ -907,7 +911,7 @@ public class ShoppingCartEvents {
         GenericValue userLogin = (GenericValue) session.getAttribute("userLogin");
         if (userLogin != null && "anonymous".equals(userLogin.get("userLoginId"))) {
             Locale locale = UtilHttp.getLocale(session);
-            
+
             // here we want to do a full logout, but not using the normal logout stuff because it saves things in the UserLogin record that we don't want changed for the anonymous user
             session.invalidate();
             session = request.getSession(true);
@@ -983,7 +987,7 @@ public class ShoppingCartEvents {
         }
         List<ShoppingCart> cartList = UtilGenerics.checkList(session.getAttribute("shoppingCartList"));
         if (UtilValidate.isEmpty(cartList)) {
-            cartList = new LinkedList<ShoppingCart>();
+            cartList = new LinkedList<>();
             session.setAttribute("shoppingCartList", cartList);
         }
         ShoppingCart currentCart = (ShoppingCart) session.getAttribute("shoppingCart");
@@ -1126,7 +1130,7 @@ public class ShoppingCartEvents {
         ShoppingCart cart = getCartObject(request);
         String partyId = request.getParameter("additionalPartyId");
         String roleTypeId[] = request.getParameterValues("additionalRoleTypeId");
-        List<String> eventList = new LinkedList<String>();
+        List<String> eventList = new LinkedList<>();
         Locale locale = UtilHttp.getLocale(request);
         int i;
 
@@ -1158,7 +1162,7 @@ public class ShoppingCartEvents {
         ShoppingCart cart = getCartObject(request);
         String partyId = request.getParameter("additionalPartyId");
         String roleTypeId[] = request.getParameterValues("additionalRoleTypeId");
-        List<String> eventList = new LinkedList<String>();
+        List<String> eventList = new LinkedList<>();
         Locale locale = UtilHttp.getLocale(request);
         int i;
 
@@ -1222,12 +1226,10 @@ public class ShoppingCartEvents {
             request.setAttribute("_ERROR_MESSAGE_", errMsg.toString());
             if (result.get(ModelService.RESPONSE_MESSAGE).equals(ModelService.RESPOND_SUCCESS)) {
                 return NON_CRITICAL_ERROR;
-            } else {
-                return ERROR;
             }
-        } else {
-            return NO_ERROR;
+            return ERROR;
         }
+        return NO_ERROR;
     }
 
     /** Assign agreement **/
@@ -1462,7 +1464,7 @@ public class ShoppingCartEvents {
             cart.removeAdjustmentByType("PROMOTION_ADJUSTMENT");
             String shipGroupSeqId = null;
             long groupIndex = cart.getShipInfoSize();
-            List<GenericValue> orderAdjustmentList = new ArrayList<GenericValue>();
+            List<GenericValue> orderAdjustmentList = new ArrayList<>();
             List<GenericValue> orderAdjustments = cart.getAdjustments();
             try {
                 orderAdjustmentList = EntityQuery.use(delegator).from("OrderAdjustment").where("orderId", orderId).queryList();
@@ -1471,7 +1473,7 @@ public class ShoppingCartEvents {
             }
             for (long itr = 1; itr <= groupIndex; itr++) {
                 shipGroupSeqId = UtilFormatOut.formatPaddedNumber(itr, 5);
-                List<GenericValue> duplicateAdjustmentList = new ArrayList<GenericValue>();
+                List<GenericValue> duplicateAdjustmentList = new ArrayList<>();
                 for (GenericValue adjustment: orderAdjustmentList) {
                     if ("PROMOTION_ADJUSTMENT".equals(adjustment.get("orderAdjustmentTypeId"))) {
                         cart.addAdjustment(adjustment);
@@ -1692,11 +1694,10 @@ public class ShoppingCartEvents {
                 if (thisParty == null) {
                     request.setAttribute("_ERROR_MESSAGE_", UtilProperties.getMessage(resource_error,"OrderCouldNotLocateTheSelectedParty", locale));
                     return "error";
-                } else {
-                    cart.setOrderPartyId(partyId);
-                    if ("PURCHASE_ORDER".equals(cart.getOrderType())) {
-                        cart.setBillFromVendorPartyId(partyId);
-                    }
+                }
+                cart.setOrderPartyId(partyId);
+                if ("PURCHASE_ORDER".equals(cart.getOrderType())) {
+                    cart.setBillFromVendorPartyId(partyId);
                 }
             } else if (partyId != null && partyId.length() == 0) {
                 cart.setOrderPartyId("_NA_");
@@ -1704,7 +1705,9 @@ public class ShoppingCartEvents {
             }
         } else {
             partyId = cart.getPartyId();
-            if (partyId != null && "_NA_".equals(partyId)) partyId = null;
+            if (partyId != null && "_NA_".equals(partyId)) {
+                partyId = null;
+            }
         }
 
         return "success";
@@ -1732,7 +1735,7 @@ public class ShoppingCartEvents {
         LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
         Delegator delegator = (Delegator) request.getAttribute("delegator");
         ShoppingCart cart = getCartObject(request);
-        List<GenericValue> manualPromotions = new LinkedList<GenericValue>();
+        List<GenericValue> manualPromotions = new LinkedList<>();
 
         // iterate through the context and find all keys that start with "productPromoId_"
         Map<String, Object> context = UtilHttp.getParameterMap(request);
@@ -1812,7 +1815,7 @@ public class ShoppingCartEvents {
                 }
 
                 try {
-                    //For quantity we should test if we allow to add decimal quantity for this product an productStore : 
+                    //For quantity we should test if we allow to add decimal quantity for this product an productStore :
                     // if not and if quantity is in decimal format then return error.
                     if(! ProductWorker.isDecimalQuantityOrderAllowed(delegator, productId, cart.getProductStoreId())){
                         BigDecimal remainder = quantity.remainder(BigDecimal.ONE);
@@ -1905,7 +1908,7 @@ public class ShoppingCartEvents {
         // set the agreement if specified otherwise set the currency
         if (UtilValidate.isNotEmpty(agreementId)) {
             result = cartHelper.selectAgreement(agreementId);
-        } 
+        }
         if (UtilValidate.isNotEmpty(cart.getCurrency()) && UtilValidate.isNotEmpty(currencyUomId)) {
             result = cartHelper.setCurrency(currencyUomId);
         }
@@ -1942,15 +1945,21 @@ public class ShoppingCartEvents {
         // set the default ship before and after dates if supplied
         try {
             if (UtilValidate.isNotEmpty(shipBeforeDateStr)) {
-                if (shipBeforeDateStr.length() == 10) shipBeforeDateStr += " 00:00:00.000";
+                if (shipBeforeDateStr.length() == 10) {
+                    shipBeforeDateStr += " 00:00:00.000";
+                }
                 cart.setDefaultShipBeforeDate(java.sql.Timestamp.valueOf(shipBeforeDateStr));
             }
             if (UtilValidate.isNotEmpty(shipAfterDateStr)) {
-                if (shipAfterDateStr.length() == 10) shipAfterDateStr += " 00:00:00.000";
+                if (shipAfterDateStr.length() == 10) {
+                    shipAfterDateStr += " 00:00:00.000";
+                }
                 cart.setDefaultShipAfterDate(java.sql.Timestamp.valueOf(shipAfterDateStr));
             }
             if (UtilValidate.isNotEmpty(cancelBackOrderDateStr)) {
-                if (cancelBackOrderDateStr.length() == 10) cancelBackOrderDateStr += " 00:00:00.000";
+                if (cancelBackOrderDateStr.length() == 10) {
+                    cancelBackOrderDateStr += " 00:00:00.000";
+                }
                 cart.setCancelBackOrderDate(java.sql.Timestamp.valueOf(cancelBackOrderDateStr));
             }
         } catch (IllegalArgumentException e) {
@@ -2060,7 +2069,7 @@ public class ShoppingCartEvents {
                             ", quantity = " + quantity + ", itemType = " + itemType + " and itemDescription = " + itemDescription, module);
                     HttpSession session = request.getSession();
                     GenericValue userLogin = (GenericValue) session.getAttribute("userLogin");
-                    Map<String, Object> appendOrderItemMap = new HashMap<String, Object>();
+                    Map<String, Object> appendOrderItemMap = new HashMap<>();
                     appendOrderItemMap.put("productId", productId);
                     appendOrderItemMap.put("quantity", quantity);
                     appendOrderItemMap.put("orderId", orderId);

Modified: ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartHelper.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartHelper.java?rev=1818329&r1=1818328&r2=1818329&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartHelper.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartHelper.java Fri Dec 15 20:33:56 2017
@@ -180,11 +180,12 @@ public class ShoppingCartHelper {
         }
 
         // Create a HashMap of product attributes - From ShoppingCartItem.attributeNames[]
-        for (int namesIdx = 0; namesIdx < ShoppingCartItem.attributeNames.length; namesIdx++) {
-            if (attributes == null)
-                attributes = new HashMap<String, Object>();
-            if (context.containsKey(ShoppingCartItem.attributeNames[namesIdx])) {
-                attributes.put(ShoppingCartItem.attributeNames[namesIdx], context.get(ShoppingCartItem.attributeNames[namesIdx]));
+        for (String attributeName : ShoppingCartItem.attributeNames) {
+            if (attributes == null) {
+                attributes = new HashMap<>();
+            }
+            if (context.containsKey(attributeName)) {
+                attributes.put(attributeName, context.get(attributeName));
             }
         }
 
@@ -205,7 +206,7 @@ public class ShoppingCartHelper {
 
         // Get the additional features selected for the product (if any)
         Map<String, Object> selectedFeatures = UtilHttp.makeParamMapWithPrefix(context, null, "FT", null);
-        Map<String, GenericValue> additionalFeaturesMap = new HashMap<String, GenericValue>();
+        Map<String, GenericValue> additionalFeaturesMap = new HashMap<>();
         for (Entry<String, Object> entry : selectedFeatures.entrySet()) {
             String selectedFeatureType = entry.getKey();
             String selectedFeatureValue = (String) entry.getValue();
@@ -227,7 +228,7 @@ public class ShoppingCartHelper {
         }
 
         // get order item attributes
-        Map<String, String> orderItemAttributes = new HashMap<String, String>();
+        Map<String, String> orderItemAttributes = new HashMap<>();
         String orderItemAttributePrefix = EntityUtilProperties.getPropertyValue("order", "order.item.attr.prefix", delegator);
         for (Entry<String, ? extends Object> entry : context.entrySet()) {
             if (entry.getKey().contains(orderItemAttributePrefix) && UtilValidate.isNotEmpty(entry.getValue())) {
@@ -276,7 +277,7 @@ public class ShoppingCartHelper {
     }
 
     public Map<String, Object> addToCartFromOrder(String catalogId, String orderId, String[] itemIds, boolean addAll, String itemGroupNumber) {
-        List<String> errorMsgs = new ArrayList<String>();
+        List<String> errorMsgs = new ArrayList<>();
         Map<String, Object> result;
         String errMsg = null;
 
@@ -320,8 +321,9 @@ public class ShoppingCartHelper {
                 orderItemTypeId = orderItem.getString("orderItemTypeId");
                 productId = orderItem.getString("productId");
                 // do not store rental items
-                if ("RENTAL_ORDER_ITEM".equals(orderItemTypeId))
+                if ("RENTAL_ORDER_ITEM".equals(orderItemTypeId)) {
                     continue;
+                }
                 if (UtilValidate.isNotEmpty(productId) && orderItem.get("quantity") != null) {
                     BigDecimal amount = orderItem.getBigDecimal("selectedAmount");
                     ProductConfigWrapper configWrapper = null;
@@ -341,9 +343,7 @@ public class ShoppingCartHelper {
                         this.cart.addOrIncreaseItem(UtilValidate.isNotEmpty(aggregatedProdId) ? aggregatedProdId :  productId, amount, orderItem.getBigDecimal("quantity"),
                                 null, null, null, null, null, null, null, catalogId, configWrapper, orderItemTypeId, itemGroupNumber, null, dispatcher);
                         noItems = false;
-                    } catch (CartItemModifyException e) {
-                        errorMsgs.add(e.getMessage());
-                    } catch (ItemNotFoundException e) {
+                    } catch (CartItemModifyException | ItemNotFoundException e) {
                         errorMsgs.add(e.getMessage());
                     }
                 }
@@ -393,7 +393,7 @@ public class ShoppingCartHelper {
             String quantStr = null;
             String itemGroupNumberToUse = itemGroupNumber;
             String originalProductId = null;
-            if (entry.getKey() instanceof String) {
+            if (UtilValidate.isNotEmpty(entry.getKey())) {
                 String key = entry.getKey();
                 int ignIndex = key.indexOf(ignSeparator);
                 if (ignIndex > 0) {
@@ -440,7 +440,7 @@ public class ShoppingCartHelper {
                     }
 
                     try {
-                        //For quantity we should test if we allow to add decimal quantity for this product an productStore : 
+                        //For quantity we should test if we allow to add decimal quantity for this product an productStore :
                         // if not and if quantity is in decimal format then return error.
                         if(! ProductWorker.isDecimalQuantityOrderAllowed(delegator, productId, cart.getProductStoreId())){
                             BigDecimal remainder = quantity.remainder(BigDecimal.ONE);
@@ -460,11 +460,11 @@ public class ShoppingCartHelper {
                     }
 
                     try {
-                        if (Debug.verboseOn()) Debug.logVerbose("Bulk Adding to cart [" + quantity + "] of [" + productId + "] in Item Group [" + itemGroupNumber + "]", module);
+                        if (Debug.verboseOn()) {
+                            Debug.logVerbose("Bulk Adding to cart [" + quantity + "] of [" + productId + "] in Item Group [" + itemGroupNumber + "]", module);
+                        }
                         this.cart.addOrIncreaseItem(productId, null, quantity, null, null, null, null, null, null, null, catalogId, null, null, itemGroupNumberToUse, originalProductId, dispatcher);
-                    } catch (CartItemModifyException e) {
-                        return ServiceUtil.returnError(e.getMessage());
-                    } catch (ItemNotFoundException e) {
+                    } catch (CartItemModifyException | ItemNotFoundException e) {
                         return ServiceUtil.returnError(e.getMessage());
                     }
                 }
@@ -519,8 +519,8 @@ public class ShoppingCartHelper {
                     Debug.logError(gee, module);
                 }
                 if (requirement == null) {
-                    return ServiceUtil.returnFailure(UtilProperties.getMessage(resource, 
-                            "OrderRequirementDoesNotExists", 
+                    return ServiceUtil.returnFailure(UtilProperties.getMessage(resource,
+                            "OrderRequirementDoesNotExists",
                             UtilMisc.toMap("requirementId", requirementId), cart.getLocale()));
                 }
 
@@ -542,18 +542,20 @@ public class ShoppingCartHelper {
                             }
                         }
                         if (requirementAlreadyInCart) {
-                            if (Debug.warningOn()) Debug.logWarning(UtilProperties.getMessage(resource_error, "OrderTheRequirementIsAlreadyInTheCartNotAdding", UtilMisc.toMap("requirementId",requirementId), cart.getLocale()), module);
+                            if (Debug.warningOn()) {
+                                Debug.logWarning(UtilProperties.getMessage(resource_error, "OrderTheRequirementIsAlreadyInTheCartNotAdding", UtilMisc.toMap("requirementId",requirementId), cart.getLocale()), module);
+                            }
                             continue;
                         }
 
                         try {
-                            if (Debug.verboseOn()) Debug.logVerbose("Bulk Adding to cart requirement [" + quantity + "] of [" + productId + "]", module);
+                            if (Debug.verboseOn()) {
+                                Debug.logVerbose("Bulk Adding to cart requirement [" + quantity + "] of [" + productId + "]", module);
+                            }
                             int index = this.cart.addOrIncreaseItem(productId, null, quantity, null, null, null, requirement.getTimestamp("requiredByDate"), null, null, null, catalogId, null, null, itemGroupNumber, null, dispatcher);
                             ShoppingCartItem sci = this.cart.items().get(index);
                             sci.setRequirementId(requirementId);
-                        } catch (CartItemModifyException e) {
-                            return ServiceUtil.returnError(e.getMessage());
-                        } catch (ItemNotFoundException e) {
+                        } catch (CartItemModifyException | ItemNotFoundException e) {
                             return ServiceUtil.returnError(e.getMessage());
                         }
                     }
@@ -570,7 +572,7 @@ public class ShoppingCartHelper {
      * quantity is 0, do not add
      */
     public Map<String, Object> addCategoryDefaults(String catalogId, String categoryId, String itemGroupNumber) {
-        List<String> errorMsgs = new ArrayList<String>();
+        List<String> errorMsgs = new ArrayList<>();
         Map<String, Object> result = null;
         String errMsg = null;
 
@@ -610,9 +612,7 @@ public class ShoppingCartHelper {
                             null, quantity, null, null, null, null, null, null, null,
                             catalogId, null, null, itemGroupNumber, null, dispatcher);
                     totalQuantity = totalQuantity.add(quantity);
-                } catch (CartItemModifyException e) {
-                    errorMsgs.add(e.getMessage());
-                } catch (ItemNotFoundException e) {
+                } catch (CartItemModifyException | ItemNotFoundException e) {
                     errorMsgs.add(e.getMessage());
                 }
             }
@@ -631,7 +631,7 @@ public class ShoppingCartHelper {
     /** Delete an item from the shopping cart. */
     public Map<String, Object> deleteFromCart(Map<String, ? extends Object> context) {
         Map<String, Object> result = null;
-        List<String> errorMsgs = new ArrayList<String>();
+        List<String> errorMsgs = new ArrayList<>();
         for (String o : context.keySet()) {
             if (o.toUpperCase(Locale.getDefault()).startsWith("DELETE")) {
                 try {
@@ -664,8 +664,8 @@ public class ShoppingCartHelper {
             locale = this.cart.getLocale();
         }
 
-        List<ShoppingCartItem> deleteList = new ArrayList<ShoppingCartItem>();
-        List<String> errorMsgs = new ArrayList<String>();
+        List<ShoppingCartItem> deleteList = new ArrayList<>();
+        List<String> errorMsgs = new ArrayList<>();
 
         BigDecimal oldQuantity;
         String oldDescription = "";
@@ -693,7 +693,9 @@ public class ShoppingCartHelper {
                     BigDecimal quantity = BigDecimal.ONE.negate();
                     String itemDescription = "";
                     String itemComment = "";
-                    if (quantString != null) quantString = quantString.trim();
+                    if (quantString != null) {
+                        quantString = quantString.trim();
+                    }
 
                     // get the cart item
                     ShoppingCartItem item = this.cart.findCartItem(index);
@@ -737,15 +739,17 @@ public class ShoppingCartHelper {
                     } else if (parameterName.startsWith("shipBeforeDate")) {
                         if (UtilValidate.isNotEmpty(quantString)) {
                             // input is either yyyy-mm-dd or a full timestamp
-                            if (quantString.length() == 10)
+                            if (quantString.length() == 10) {
                                 quantString += " 00:00:00.000";
+                            }
                             item.setShipBeforeDate(Timestamp.valueOf(quantString));
                         }
                     } else if (parameterName.startsWith("shipAfterDate")) {
                         if (UtilValidate.isNotEmpty(quantString)) {
                             // input is either yyyy-mm-dd or a full timestamp
-                            if (quantString.length() == 10)
+                            if (quantString.length() == 10) {
                                 quantString += " 00:00:00.000";
+                            }
                             item.setShipAfterDate(Timestamp.valueOf(quantString));
                         }
                     } else if (parameterName.startsWith("amount")) {
@@ -765,7 +769,7 @@ public class ShoppingCartHelper {
                         }
                     } else {
                         quantity = (BigDecimal) ObjectType.simpleTypeConvert(quantString, "BigDecimal", null, locale);
-                        //For quantity we should test if we allow to add decimal quantity for this product an productStore : 
+                        //For quantity we should test if we allow to add decimal quantity for this product an productStore :
                         // if not and if quantity is in decimal format then return error.
                         if (!ProductWorker.isDecimalQuantityOrderAllowed(delegator, item.getProductId(), cart.getProductStoreId()) && parameterName.startsWith("update")) {
                             BigDecimal remainder = quantity.remainder(BigDecimal.ONE);
@@ -776,7 +780,7 @@ public class ShoppingCartHelper {
                                 return result;
                             }
                             quantity = quantity.setScale(0, UtilNumber.getBigDecimalRoundingMode("order.rounding"));
-                        }                
+                        }
                         else {
                             quantity = quantity.setScale(UtilNumber.getBigDecimalScale("order.decimals"), UtilNumber.getBigDecimalRoundingMode("order.rounding"));
                         }
@@ -890,7 +894,7 @@ public class ShoppingCartHelper {
                     }
                 } catch (NumberFormatException nfe) {
                     Debug.logWarning(nfe, UtilProperties.getMessage(resource_error, "OrderCaughtNumberFormatExceptionOnCartUpdate", cart.getLocale()));
-                } catch (Exception e) {
+                } catch (GeneralException e) {
                     Debug.logWarning(e, UtilProperties.getMessage(resource_error, "OrderCaughtExceptionOnCartUpdate", cart.getLocale()));
                 }
             } // else not a parameter we need
@@ -898,8 +902,7 @@ public class ShoppingCartHelper {
 
         // get a list of the items to delete
         if (removeSelected) {
-            for (int si = 0; si < selectedItems.length; si++) {
-                String indexStr = selectedItems[si];
+            for (String indexStr : selectedItems) {
                 ShoppingCartItem item = null;
                 try {
                     int index = Integer.parseInt(indexStr);
@@ -916,8 +919,9 @@ public class ShoppingCartHelper {
         for (ShoppingCartItem item : deleteList) {
             int itemIndex = this.cart.getItemIndex(item);
 
-            if (Debug.infoOn())
+            if (Debug.infoOn()) {
                 Debug.logInfo("Removing item index: " + itemIndex, module);
+            }
             try {
                 this.cart.removeCartItem(itemIndex, dispatcher);
                 cart.setShipmentMethodTypeId(itemIndex, null);

Modified: ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartItem.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartItem.java?rev=1818329&r1=1818328&r2=1818329&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartItem.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartItem.java Fri Dec 15 20:33:56 2017
@@ -141,18 +141,18 @@ public class ShoppingCartItem implements
     private Timestamp estimatedShipDate = null;
     private Timestamp cancelBackOrderDate = null;
 
-    private Map<String, String> contactMechIdsMap = new HashMap<String, String>();
+    private Map<String, String> contactMechIdsMap = new HashMap<>();
     private List<GenericValue> orderItemPriceInfos = null;
-    private List<GenericValue> itemAdjustments = new LinkedList<GenericValue>();
+    private List<GenericValue> itemAdjustments = new LinkedList<>();
     private boolean isPromo = false;
     private BigDecimal promoQuantityUsed = BigDecimal.ZERO;
-    private Map<GenericPK, BigDecimal> quantityUsedPerPromoCandidate = new HashMap<GenericPK, BigDecimal>();
-    private Map<GenericPK, BigDecimal> quantityUsedPerPromoFailed = new HashMap<GenericPK, BigDecimal>();
-    private Map<GenericPK, BigDecimal> quantityUsedPerPromoActual = new HashMap<GenericPK, BigDecimal>();
-    private Map<String, GenericValue> additionalProductFeatureAndAppls = new HashMap<String, GenericValue>();
+    private Map<GenericPK, BigDecimal> quantityUsedPerPromoCandidate = new HashMap<>();
+    private Map<GenericPK, BigDecimal> quantityUsedPerPromoFailed = new HashMap<>();
+    private Map<GenericPK, BigDecimal> quantityUsedPerPromoActual = new HashMap<>();
+    private Map<String, GenericValue> additionalProductFeatureAndAppls = new HashMap<>();
     private List<String> alternativeOptionProductIds = null;
     private ProductConfigWrapper configWrapper = null;
-    private List<GenericValue> featuresForSupplier = new LinkedList<GenericValue>();
+    private List<GenericValue> featuresForSupplier = new LinkedList<>();
 
     /**
      * Makes a ShoppingCartItem for a purchase order item and adds it to the cart.
@@ -385,7 +385,7 @@ public class ShoppingCartItem implements
             ShoppingCart cart, Boolean triggerExternalOpsBool, Boolean triggerPriceRulesBool, GenericValue parentProduct, Boolean skipInventoryChecks, Boolean skipProductChecks) throws CartItemModifyException {
 
         ShoppingCartItem newItem = new ShoppingCartItem(product, additionalProductFeatureAndAppls, attributes, prodCatalogId, configWrapper, cart.getLocale(), itemType, itemGroup, parentProduct);
-        
+
         selectedAmount = selectedAmount == null ? BigDecimal.ZERO : selectedAmount;
         unitPrice = unitPrice == null ? BigDecimal.ZERO : unitPrice;
         reservLength = reservLength == null ? BigDecimal.ZERO : reservLength;
@@ -440,11 +440,13 @@ public class ShoppingCartItem implements
              }
              newItem.setReservPersons(reservPersons);
 
-             if (product.get("reserv2ndPPPerc") != null)
-                 newItem.setReserv2ndPPPerc(product.getBigDecimal("reserv2ndPPPerc"));
+             if (product.get("reserv2ndPPPerc") != null) {
+                newItem.setReserv2ndPPPerc(product.getBigDecimal("reserv2ndPPPerc"));
+            }
 
-             if (product.get("reservNthPPPerc") != null)
-                 newItem.setReservNthPPPerc(product.getBigDecimal("reservNthPPPerc"));
+             if (product.get("reservNthPPPerc") != null) {
+                newItem.setReservNthPPPerc(product.getBigDecimal("reservNthPPPerc"));
+            }
 
              if ((accommodationMapId != null) && (accommodationSpotId != null)) {
                 newItem.setAccommodationId(accommodationMapId,accommodationSpotId);
@@ -495,7 +497,8 @@ public class ShoppingCartItem implements
         return newItem;
     }
 
-    public static GenericValue findProduct(Delegator delegator, boolean skipProductChecks, String prodCatalogId, String productId, Locale locale) throws CartItemModifyException, ItemNotFoundException {
+    public static GenericValue findProduct(Delegator delegator, boolean skipProductChecks, String prodCatalogId,
+            String productId, Locale locale) throws ItemNotFoundException {
         GenericValue product;
 
         try {
@@ -658,28 +661,28 @@ public class ShoppingCartItem implements
         this.orderItemAssocTypeId = item.getOrderItemAssocTypeId();
         this.setStatusId(item.getStatusId());
         if (UtilValidate.isEmpty(item.getOrderItemAttributes())) {
-            this.orderItemAttributes =  new HashMap<String, String>();
+            this.orderItemAttributes =  new HashMap<>();
             this.orderItemAttributes.putAll(item.getOrderItemAttributes());
         }
-        this.attributes = item.getAttributes() == null ? new HashMap<String, Object>() : new HashMap<String, Object>(item.getAttributes());
+        this.attributes = item.getAttributes() == null ? new HashMap<>() : new HashMap<>(item.getAttributes());
         this.setOrderItemSeqId(item.getOrderItemSeqId());
         this.locale = item.locale;
         this.setShipBeforeDate(item.getShipBeforeDate());
         this.setShipAfterDate(item.getShipAfterDate());
         this.setEstimatedShipDate(item.getEstimatedShipDate());
         this.setCancelBackOrderDate(item.getCancelBackOrderDate());
-        this.contactMechIdsMap = item.getOrderItemContactMechIds() == null ? null : new HashMap<String, String>(item.getOrderItemContactMechIds());
-        this.orderItemPriceInfos = item.getOrderItemPriceInfos() == null ? null : new LinkedList<GenericValue>(item.getOrderItemPriceInfos());
+        this.contactMechIdsMap = item.getOrderItemContactMechIds() == null ? null : new HashMap<>(item.getOrderItemContactMechIds());
+        this.orderItemPriceInfos = item.getOrderItemPriceInfos() == null ? null : new LinkedList<>(item.getOrderItemPriceInfos());
         this.itemAdjustments.addAll(item.getAdjustments());
         this.isPromo = item.getIsPromo();
         this.promoQuantityUsed = item.promoQuantityUsed;
-        this.quantityUsedPerPromoCandidate = new HashMap<GenericPK, BigDecimal>(item.quantityUsedPerPromoCandidate);
-        this.quantityUsedPerPromoFailed = new HashMap<GenericPK, BigDecimal>(item.quantityUsedPerPromoFailed);
-        this.quantityUsedPerPromoActual = new HashMap<GenericPK, BigDecimal>(item.quantityUsedPerPromoActual);
+        this.quantityUsedPerPromoCandidate = new HashMap<>(item.quantityUsedPerPromoCandidate);
+        this.quantityUsedPerPromoFailed = new HashMap<>(item.quantityUsedPerPromoFailed);
+        this.quantityUsedPerPromoActual = new HashMap<>(item.quantityUsedPerPromoActual);
         this.additionalProductFeatureAndAppls = item.getAdditionalProductFeatureAndAppls() == null ?
-                null : new HashMap<String, GenericValue>(item.getAdditionalProductFeatureAndAppls());
+                null : new HashMap<>(item.getAdditionalProductFeatureAndAppls());
         if (item.getAlternativeOptionProductIds() != null) {
-            List<String> tempAlternativeOptionProductIds = new LinkedList<String>();
+            List<String> tempAlternativeOptionProductIds = new LinkedList<>();
             tempAlternativeOptionProductIds.addAll(item.getAlternativeOptionProductIds());
             this.setAlternativeOptionProductIds(tempAlternativeOptionProductIds);
         }
@@ -692,15 +695,16 @@ public class ShoppingCartItem implements
     /** Cannot create shopping cart item with no parameters */
     protected ShoppingCartItem() {}
 
-    /** Creates new ShoppingCartItem object. 
+    /** Creates new ShoppingCartItem object.
      * @deprecated Use {@link #ShoppingCartItem(GenericValue, Map, Map, String, Locale, String, ShoppingCartItemGroup, LocalDispatcher)} instead*/
+    @Deprecated
     protected ShoppingCartItem(GenericValue product, Map<String, GenericValue> additionalProductFeatureAndAppls, Map<String, Object> attributes, String prodCatalogId, Locale locale, String itemType, ShoppingCart.ShoppingCartItemGroup itemGroup) {
         this(product, additionalProductFeatureAndAppls, attributes, prodCatalogId, locale, itemType, itemGroup, null);
     }
 
-    /** Creates new ShoppingCartItem object. 
+    /** Creates new ShoppingCartItem object.
      * @param dispatcher TODO*/
-    protected ShoppingCartItem(GenericValue product, Map<String, GenericValue> additionalProductFeatureAndAppls, Map<String, Object> attributes, String prodCatalogId, Locale locale, 
+    protected ShoppingCartItem(GenericValue product, Map<String, GenericValue> additionalProductFeatureAndAppls, Map<String, Object> attributes, String prodCatalogId, Locale locale,
             String itemType, ShoppingCart.ShoppingCartItemGroup itemGroup, LocalDispatcher dispatcher) {
         this(product, additionalProductFeatureAndAppls, attributes, prodCatalogId, null, locale, itemType, itemGroup, null);
         String productName = ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", this.locale, dispatcher, "html");
@@ -724,8 +728,9 @@ public class ShoppingCartItem implements
         this._product = product;
         this.productId = _product.getString("productId");
         this._parentProduct = parentProduct;
-        if (parentProduct != null)
+        if (parentProduct != null) {
             this.parentProductId = _parentProduct.getString("productId");
+        }
         if (UtilValidate.isEmpty(itemType)) {
             if (UtilValidate.isNotEmpty(_product.getString("productTypeId"))) {
                 if ("ASSET_USAGE".equals(_product.getString("productTypeId"))) {
@@ -744,7 +749,7 @@ public class ShoppingCartItem implements
         }
         this.itemGroup = itemGroup;
         this.prodCatalogId = prodCatalogId;
-        this.attributes = (attributes == null ? new HashMap<String, Object>() : attributes);
+        this.attributes = (attributes == null ? new HashMap<>() : attributes);
         this.delegator = _product.getDelegator();
         this.delegatorName = _product.getDelegator().getDelegatorName();
         this.addAllProductFeatureAndAppls(additionalProductFeatureAndAppls);
@@ -768,7 +773,7 @@ public class ShoppingCartItem implements
             this.setBasePrice(basePrice);
             this.setDisplayPrice(basePrice);
         }
-        this.attributes = (attributes == null ? new HashMap<String, Object>() : attributes);
+        this.attributes = (attributes == null ? new HashMap<>() : attributes);
         this.prodCatalogId = prodCatalogId;
         this.delegatorName = delegator.getDelegatorName();
         this.locale = locale;
@@ -916,12 +921,11 @@ public class ShoppingCartItem implements
             if (fixedAsset.getBigDecimal("productionCapacity").compareTo(quantity) >= 0) {
                 String msg = UtilProperties.getMessage(resource_error, "item.availableOk", cart.getLocale());
                 return msg;
-            } else {
-                Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("quantityReq", quantity,
-                                                "quantityAvail", fixedAsset.getString("productionCapacity"));
-                String msg = UtilProperties.getMessage(resource_error, "item.availableQnt", messageMap , cart.getLocale());
-                return msg;
             }
+            Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("quantityReq", quantity,
+                    "quantityAvail", fixedAsset.getString("productionCapacity"));
+            String msg = UtilProperties.getMessage(resource_error, "item.availableQnt", messageMap, cart.getLocale());
+            return msg;
         }
         // now find all the dates and check the availabilty for each date
         // please note that calendarId is the same for (TechData)Calendar, CalendarExcDay and CalendarExWeek
@@ -937,21 +941,25 @@ public class ShoppingCartItem implements
                 Debug.logWarning(e, module);
             }
             if (techDataCalendarExcDay == null) {
-                if (fixedAsset.get("productionCapacity") != null && fixedAsset.getBigDecimal("productionCapacity").compareTo(quantity) < 0)
+                if (fixedAsset.get("productionCapacity") != null && fixedAsset.getBigDecimal("productionCapacity").compareTo(quantity) < 0) {
                     resultMessage = resultMessage.concat(exceptionDateStartTime.toString().substring(0, 10) + ", ");
+                }
             } else {
                 // see if we can get the number of assets available
                 // first try techDataCalendarExcDay(exceptionCapacity) and then FixedAsset(productionCapacity)
                 // if still zero, do not check availability
                 BigDecimal exceptionCapacity = BigDecimal.ZERO;
-                if (techDataCalendarExcDay.get("exceptionCapacity") != null)
+                if (techDataCalendarExcDay.get("exceptionCapacity") != null) {
                     exceptionCapacity = techDataCalendarExcDay.getBigDecimal("exceptionCapacity");
-                if (exceptionCapacity.compareTo(BigDecimal.ZERO) == 0 && fixedAsset.get("productionCapacity") != null)
+                }
+                if (exceptionCapacity.compareTo(BigDecimal.ZERO) == 0 && fixedAsset.get("productionCapacity") != null) {
                     exceptionCapacity = fixedAsset.getBigDecimal("productionCapacity");
+                }
                 if (exceptionCapacity.compareTo(BigDecimal.ZERO) != 0) {
                     BigDecimal usedCapacity = BigDecimal.ZERO;
-                    if (techDataCalendarExcDay.get("usedCapacity") != null)
+                    if (techDataCalendarExcDay.get("usedCapacity") != null) {
                         usedCapacity = techDataCalendarExcDay.getBigDecimal("usedCapacity");
+                    }
                     if (exceptionCapacity.compareTo(quantity.add(usedCapacity)) < 0) {
                         resultMessage = resultMessage.concat(exceptionDateStartTime.toString().substring(0, 10) + ", ");
                         Debug.logInfo("No rental fixed Asset available: " + exceptionCapacity +
@@ -965,11 +973,9 @@ public class ShoppingCartItem implements
             String msg = UtilProperties.getMessage(resource_error, "item.availableOk", cart.getLocale());
             return msg;
         }
-        else {
-            Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("resultMessage", resultMessage);
-            String msg = UtilProperties.getMessage(resource_error, "item.notAvailable", messageMap, cart.getLocale());
-            return msg;
-        }
+        Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("resultMessage", resultMessage);
+        String msg = UtilProperties.getMessage(resource_error, "item.notAvailable", messageMap, cart.getLocale());
+        return msg;
     }
 
     protected boolean isInventoryAvailableOrNotRequired(BigDecimal quantity, String productStoreId, LocalDispatcher dispatcher) throws CartItemModifyException {
@@ -1008,7 +1014,7 @@ public class ShoppingCartItem implements
             // check inventory if new quantity is greater than old quantity; don't worry about inventory getting pulled out from under, that will be handled at checkout time
             if (_product != null && quantity.compareTo(this.quantity) > 0) {
                 if (!isInventoryAvailableOrNotRequired(quantity, productStoreId, dispatcher)) {
-                    Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("requestedQuantity", UtilFormatOut.formatQuantity(quantity.doubleValue()), 
+                    Map<String, Object> messageMap = UtilMisc.<String, Object>toMap("requestedQuantity", UtilFormatOut.formatQuantity(quantity.doubleValue()),
                             "productName",this.getName(dispatcher), "productId", productId);
                     String excMsg = UtilProperties.getMessage(resource, "OrderDoNotHaveEnoughProducts", messageMap , cart.getLocale());
                     Debug.logWarning(excMsg, module);
@@ -1056,7 +1062,7 @@ public class ShoppingCartItem implements
         // set basePrice using the calculateProductPrice service
         if (_product != null && isModifiedPrice == false) {
             try {
-                Map<String, Object> priceContext = new HashMap<String, Object>();
+                Map<String, Object> priceContext = new HashMap<>();
 
                 String partyId = cart.getPartyId();
                 if (partyId != null) {
@@ -1067,16 +1073,18 @@ public class ShoppingCartItem implements
                 BigDecimal pieces = BigDecimal.ONE;
                 if(isAlternativePacking && UtilValidate.isNotEmpty(this.getParentProduct())){
                     GenericValue originalProduct = this.getParentProduct();
-                    if (originalProduct != null) pieces = new BigDecimal(originalProduct.getLong("piecesIncluded"));
+                    if (originalProduct != null) {
+                        pieces = new BigDecimal(originalProduct.getLong("piecesIncluded"));
+                    }
                     priceContext.put("product", originalProduct);
                     this._parentProduct = null;
                 }else{
                     priceContext.put("product", this.getProduct());
                 }
-                
+
                 priceContext.put("quantity", this.getQuantity());
                 priceContext.put("amount", this.getSelectedAmount());
-                
+
                 if ("PURCHASE_ORDER".equals(cart.getOrderType())) {
                     priceContext.put("currencyUomId", cart.getCurrency());
                     Map<String, Object> priceResult = dispatcher.runSync("calculatePurchasePrice", priceContext);
@@ -1087,13 +1095,13 @@ public class ShoppingCartItem implements
                     if (!validPriceFound.booleanValue()) {
                         throw new CartItemModifyException("Could not find a valid price for the product with ID [" + this.getProductId() + "] and supplier with ID [" + partyId + "], not adding to cart.");
                     }
-                    
+
                     if(isAlternativePacking){
                         this.setBasePrice(((BigDecimal) priceResult.get("price")).divide(pieces, RoundingMode.HALF_UP));
                     }else{
                         this.setBasePrice(((BigDecimal) priceResult.get("price")));
                     }
-                    
+
                     this.setDisplayPrice(this.basePrice);
                     this.orderItemPriceInfos = UtilGenerics.checkList(priceResult.get("orderItemPriceInfos"));
                 } else {
@@ -1140,7 +1148,7 @@ public class ShoppingCartItem implements
                     if (Boolean.FALSE.equals(validPriceFound)) {
                         throw new CartItemModifyException("Could not find a valid price for the product with ID [" + this.getProductId() + "], not adding to cart.");
                     }
-                    
+
                     //set alternative product price
                     if(isAlternativePacking){
                         int decimals = 2;
@@ -1171,10 +1179,10 @@ public class ShoppingCartItem implements
                         if (priceResult.get("price") != null) {
                             this.setDisplayPrice(((BigDecimal) priceResult.get("price")));
                         }
-                        
+
                         this.setSpecialPromoPrice((BigDecimal) priceResult.get("specialPromoPrice"));
                     }
-                    
+
                     this.orderItemPriceInfos = UtilGenerics.checkList(priceResult.get("orderItemPriceInfos"));
 
                     // If product is configurable, the price is taken from the configWrapper.
@@ -1194,7 +1202,7 @@ public class ShoppingCartItem implements
                     }
 
                     // no try to do a recurring price calculation; not all products have recurring prices so may be null
-                    Map<String, Object> recurringPriceContext = new HashMap<String, Object>();
+                    Map<String, Object> recurringPriceContext = new HashMap<>();
                     recurringPriceContext.putAll(priceContext);
                     recurringPriceContext.put("productPricePurposeId", "RECURRING_CHARGE");
                     Map<String, Object> recurringPriceResult = dispatcher.runSync("calculateProductPrice", recurringPriceContext);
@@ -1230,14 +1238,13 @@ public class ShoppingCartItem implements
     }
     /** Returns the reservation start date with a number of days added. */
     public Timestamp getReservStart(BigDecimal addDays) {
-        if (addDays.compareTo(BigDecimal.ZERO) == 0)
-                return this.reservStart != null ? (Timestamp) this.reservStart.clone() : null;
-        else    {
-            if (this.reservStart != null)
-                return new Timestamp((long)(this.reservStart.getTime() + (addDays.doubleValue() * 86400000.0)));
-            else
-                return null;
+        if (addDays.compareTo(BigDecimal.ZERO) == 0) {
+            return this.reservStart != null ? (Timestamp) this.reservStart.clone() : null;
+        }
+        if (this.reservStart != null) {
+            return new Timestamp((long) (this.reservStart.getTime() + (addDays.doubleValue() * 86400000.0)));
         }
+        return null;
     }
     /** Returns the reservation length. */
     public BigDecimal getReservLength() {
@@ -1260,17 +1267,15 @@ public class ShoppingCartItem implements
     public synchronized BigDecimal getPromoQuantityUsed() {
         if (this.getIsPromo()) {
             return this.quantity;
-        } else {
-            return this.promoQuantityUsed;
         }
+        return this.promoQuantityUsed;
     }
 
     public synchronized BigDecimal getPromoQuantityAvailable() {
         if (this.getIsPromo()) {
             return BigDecimal.ZERO;
-        } else {
-            return this.quantity.subtract(this.promoQuantityUsed);
         }
+        return this.quantity.subtract(this.promoQuantityUsed);
     }
 
     public Iterator<Map.Entry<GenericPK, BigDecimal>> getQuantityUsedPerPromoActualIter() {
@@ -1286,7 +1291,9 @@ public class ShoppingCartItem implements
     }
 
     public synchronized BigDecimal addPromoQuantityCandidateUse(BigDecimal quantityDesired, GenericValue productPromoCondAction, boolean checkAvailableOnly) {
-        if (quantityDesired.compareTo(BigDecimal.ZERO) == 0) return BigDecimal.ZERO;
+        if (quantityDesired.compareTo(BigDecimal.ZERO) == 0) {
+            return BigDecimal.ZERO;
+        }
         BigDecimal promoQuantityAvailable = this.getPromoQuantityAvailable();
         BigDecimal promoQuantityToUse = quantityDesired;
         if (promoQuantityAvailable.compareTo(BigDecimal.ZERO) > 0) {
@@ -1308,9 +1315,8 @@ public class ShoppingCartItem implements
             }
 
             return promoQuantityToUse;
-        } else {
-            return BigDecimal.ZERO;
         }
+        return BigDecimal.ZERO;
     }
 
     public BigDecimal getPromoQuantityCandidateUse(GenericValue productPromoCondAction) {
@@ -1318,9 +1324,8 @@ public class ShoppingCartItem implements
         BigDecimal existingValue = this.quantityUsedPerPromoCandidate.get(productPromoCondActionPK);
         if (existingValue == null) {
             return BigDecimal.ZERO;
-        } else {
-            return existingValue;
         }
+        return existingValue;
     }
 
     public BigDecimal getPromoQuantityCandidateUseActionAndAllConds(GenericValue productPromoAction) {
@@ -1503,8 +1508,12 @@ public class ShoppingCartItem implements
     }
 
     public boolean isInItemGroup(String groupNumber) {
-        if (this.itemGroup == null) return false;
-        if (this.itemGroup.getGroupNumber().equals(groupNumber)) return true;
+        if (this.itemGroup == null) {
+            return false;
+        }
+        if (this.itemGroup.getGroupNumber().equals(groupNumber)) {
+            return true;
+        }
         return false;
     }
 
@@ -1630,10 +1639,9 @@ public class ShoppingCartItem implements
         GenericValue product = getProduct();
         if (product != null) {
             return ProductWorker.shippingApplies(product);
-        } else {
-            // we don't ship non-product items
-            return false;
         }
+        // we don't ship non-product items
+        return false;
     }
 
     /** Returns true if tax charges apply to this item. */
@@ -1641,10 +1649,9 @@ public class ShoppingCartItem implements
         GenericValue product = getProduct();
         if (product != null) {
             return ProductWorker.taxApplies(product);
-        } else {
-            // we do tax non-product items
-            return true;
         }
+        // we do tax non-product items
+        return true;
     }
 
     /** Returns the item's productId. */
@@ -1671,18 +1678,19 @@ public class ShoppingCartItem implements
     public void setName(String itemName) {
         this.itemDescription = itemName;
     }
-    /** Returns the item's description. 
-    * @deprecated use getName(LocalDispatcher dispatcher) 
+    /** Returns the item's description.
+    * @deprecated use getName(LocalDispatcher dispatcher)
     **/
+    @Deprecated
     public String getName() {
         return itemDescription;
     }
-    
+
     /** Returns the item's description or PRODUCT_NAME from content. */
     public String getName(LocalDispatcher dispatcher) {
        if (itemDescription != null) {
           return itemDescription;
-       } else {
+        }
         GenericValue product = getProduct();
         if (product != null) {
             String productName = ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", this.locale, dispatcher, "html");
@@ -1695,13 +1703,10 @@ public class ShoppingCartItem implements
             }
             if (productName == null) {
                 return "";
-            } else {
-                return productName;
-            }
-        } else {
-               return "";
             }
+            return productName;
         }
+        return "";
     }
 
     /** Returns the item's description. */
@@ -1721,12 +1726,10 @@ public class ShoppingCartItem implements
 
             if (description == null) {
                 return "";
-            } else {
-                return description;
             }
-        } else {
-            return null;
+            return description;
         }
+        return null;
     }
 
     public ProductConfigWrapper getConfigWrapper() {
@@ -1742,18 +1745,18 @@ public class ShoppingCartItem implements
             // if the weight is null, see if there is an associated virtual product and get the weight of that product
             if (weight == null) {
                 GenericValue parentProduct = this.getParentProduct();
-                if (parentProduct != null) weight = parentProduct.getBigDecimal("productWeight");
+                if (parentProduct != null) {
+                    weight = parentProduct.getBigDecimal("productWeight");
+                }
             }
 
             if (weight == null) {
                 return BigDecimal.ZERO;
-            } else {
-                return weight;
             }
-        } else {
-            // non-product items have 0 weight
-            return BigDecimal.ZERO;
+            return weight;
         }
+        // non-product items have 0 weight
+        return BigDecimal.ZERO;
     }
 
     /** Returns the item's pieces included */
@@ -1765,23 +1768,23 @@ public class ShoppingCartItem implements
             // if the piecesIncluded is null, see if there is an associated virtual product and get the piecesIncluded of that product
             if (pieces == null) {
                 GenericValue parentProduct = this.getParentProduct();
-                if (parentProduct != null) pieces = parentProduct.getLong("piecesIncluded");
+                if (parentProduct != null) {
+                    pieces = parentProduct.getLong("piecesIncluded");
+                }
             }
 
             if (pieces == null) {
                 return 1;
-            } else {
-                return pieces.longValue();
             }
-        } else {
-            // non-product item assumed 1 piece
-            return 1;
+            return pieces.longValue();
         }
+        // non-product item assumed 1 piece
+        return 1;
     }
 
     /** Returns a Set of the item's features */
     public Set<String> getFeatureSet() {
-        Set<String> featureSet = new LinkedHashSet<String>();
+        Set<String> featureSet = new LinkedHashSet<>();
         GenericValue product = this.getProduct();
         if (product != null) {
             List<GenericValue> featureAppls = null;
@@ -1853,24 +1856,29 @@ public class ShoppingCartItem implements
                 }
             }
 
-            if (height == null) height = BigDecimal.ZERO;
-            if (width == null) width = BigDecimal.ZERO;
-            if (depth == null) depth = BigDecimal.ZERO;
+            if (height == null) {
+                height = BigDecimal.ZERO;
+            }
+            if (width == null) {
+                width = BigDecimal.ZERO;
+            }
+            if (depth == null) {
+                depth = BigDecimal.ZERO;
+            }
 
             // determine girth (longest field is length)
             BigDecimal[] sizeInfo = { height, width, depth };
             Arrays.sort(sizeInfo);
 
             return (sizeInfo[0].add(sizeInfo[0])).add(sizeInfo[1].add(sizeInfo[1])).add(sizeInfo[2]);
-        } else {
-            // non-product items have 0 size
-            return BigDecimal.ZERO;
         }
+        // non-product items have 0 size
+        return BigDecimal.ZERO;
     }
 
 
     public Map<String, Object> getItemProductInfo() {
-        Map<String, Object> itemInfo = new HashMap<String, Object>();
+        Map<String, Object> itemInfo = new HashMap<>();
         itemInfo.put("productId", this.getProductId());
         itemInfo.put("weight", this.getWeight());
         itemInfo.put("weightUomId", this.getProduct().getString("weightUomId"));
@@ -1919,13 +1927,14 @@ public class ShoppingCartItem implements
     }
 
     public BigDecimal getRecurringBasePrice() {
-        if (this.recurringBasePrice == null) return null;
+        if (this.recurringBasePrice == null) {
+            return null;
+        }
 
         if (selectedAmount.compareTo(BigDecimal.ZERO) > 0) {
             return this.recurringBasePrice.multiply(selectedAmount);
-        } else {
-            return this.recurringBasePrice;
         }
+        return this.recurringBasePrice;
     }
 
     public BigDecimal getRecurringDisplayPrice() {
@@ -1935,9 +1944,8 @@ public class ShoppingCartItem implements
 
         if (selectedAmount.compareTo(BigDecimal.ZERO) > 0) {
             return this.recurringDisplayPrice.multiply(this.selectedAmount);
-        } else {
-            return this.recurringDisplayPrice;
         }
+        return this.recurringDisplayPrice;
     }
 
     /** Returns the list price. */
@@ -2036,20 +2044,26 @@ public class ShoppingCartItem implements
 
     public BigDecimal getDisplayItemRecurringSubTotalNoAdj() {
         BigDecimal curRecurringDisplayPrice = this.getRecurringDisplayPrice();
-        if (curRecurringDisplayPrice == null) return BigDecimal.ZERO;
+        if (curRecurringDisplayPrice == null) {
+            return BigDecimal.ZERO;
+        }
 
         return curRecurringDisplayPrice.multiply(this.getQuantity());
     }
 
     public void addAllProductFeatureAndAppls(Map<String, GenericValue> productFeatureAndApplsToAdd) {
-        if (productFeatureAndApplsToAdd == null) return;
+        if (productFeatureAndApplsToAdd == null) {
+            return;
+        }
         for (GenericValue additionalProductFeatureAndAppl : productFeatureAndApplsToAdd.values()) {
             this.putAdditionalProductFeatureAndAppl(additionalProductFeatureAndAppl);
         }
     }
 
     public void putAdditionalProductFeatureAndAppl(GenericValue additionalProductFeatureAndAppl) {
-        if (additionalProductFeatureAndAppl == null) return;
+        if (additionalProductFeatureAndAppl == null) {
+            return;
+        }
 
         // if one already exists with the given type, remove it with the corresponding adjustment
         removeAdditionalProductFeatureAndAppl(additionalProductFeatureAndAppl.getString("productFeatureTypeId"));
@@ -2084,12 +2098,16 @@ public class ShoppingCartItem implements
     }
 
     public GenericValue getAdditionalProductFeatureAndAppl(String productFeatureTypeId) {
-        if (this.additionalProductFeatureAndAppls == null) return null;
+        if (this.additionalProductFeatureAndAppls == null) {
+            return null;
+        }
         return this.additionalProductFeatureAndAppls.get(productFeatureTypeId);
     }
 
     public GenericValue removeAdditionalProductFeatureAndAppl(String productFeatureTypeId) {
-        if (this.additionalProductFeatureAndAppls == null) return null;
+        if (this.additionalProductFeatureAndAppls == null) {
+            return null;
+        }
 
         GenericValue oldAdditionalProductFeatureAndAppl = this.additionalProductFeatureAndAppls.remove(productFeatureTypeId);
 
@@ -2105,7 +2123,7 @@ public class ShoppingCartItem implements
     }
 
     public Map<String, BigDecimal> getFeatureIdQtyMap(BigDecimal quantity) {
-        Map<String, BigDecimal> featureMap = new HashMap<String, BigDecimal>();
+        Map<String, BigDecimal> featureMap = new HashMap<>();
         GenericValue product = this.getProduct();
         if (product != null) {
             List<GenericValue> featureAppls = null;
@@ -2171,18 +2189,22 @@ public class ShoppingCartItem implements
 
     /** Creates an OrderItemAttribute entry. */
     public void setOrderItemAttribute(String name, String value) {
-        if (orderItemAttributes == null) orderItemAttributes = new HashMap<String, String>();
+        if (orderItemAttributes == null) {
+            orderItemAttributes = new HashMap<>();
+        }
         this.orderItemAttributes.put(name, value);
     }
 
     /** Return an OrderItemAttribute. */
     public String getOrderItemAttribute(String name) {
-        if (orderItemAttributes == null) return null;
+        if (orderItemAttributes == null) {
+            return null;
+        }
         return this.orderItemAttributes.get(name);
     }
 
     public Map<String, String> getOrderItemAttributes() {
-        Map<String, String> attrs = new HashMap<String, String>();
+        Map<String, String> attrs = new HashMap<>();
         if (orderItemAttributes != null) {
             attrs.putAll(orderItemAttributes);
         }
@@ -2208,7 +2230,9 @@ public class ShoppingCartItem implements
     }
 
     public void removeFeatureAdjustment(String productFeatureId) {
-        if (productFeatureId == null) return;
+        if (productFeatureId == null) {
+            return;
+        }
         Iterator<GenericValue> itemAdjustmentsIter = itemAdjustments.iterator();
 
         while (itemAdjustmentsIter.hasNext()) {
@@ -2226,7 +2250,9 @@ public class ShoppingCartItem implements
 
     /** Add a contact mech to this purpose; the contactMechPurposeTypeId is required */
     public void addContactMech(String contactMechPurposeTypeId, String contactMechId) {
-        if (contactMechPurposeTypeId == null) throw new IllegalArgumentException("You must specify a contactMechPurposeTypeId to add a ContactMech");
+        if (contactMechPurposeTypeId == null) {
+            throw new IllegalArgumentException("You must specify a contactMechPurposeTypeId to add a ContactMech");
+        }
         contactMechIdsMap.put(contactMechPurposeTypeId, contactMechId);
     }
 
@@ -2260,14 +2286,18 @@ public class ShoppingCartItem implements
     }
 
     public boolean equals(ShoppingCartItem item) {
-        if (item == null) return false;
+        if (item == null) {
+            return false;
+        }
         return this.equals(item.getProductId(), item.additionalProductFeatureAndAppls, item.attributes, item.prodCatalogId, item.selectedAmount, item.getItemType(), item.getItemGroup(), item.getIsPromo());
     }
 
+    @Override
     public boolean equals(Object obj) {
         return super.equals(obj);
     }
 
+    @Override
     public int hashCode() {
         return super.hashCode();
     }
@@ -2423,18 +2453,16 @@ public class ShoppingCartItem implements
         GenericValue parentProduct = this.getParentProduct();
         if (parentProduct != null) {
             return parentProduct.getString("productId");
-        } else {
-            return null;
         }
+        return null;
     }
 
     public Map<String, List<GenericValue>> getOptionalProductFeatures() {
         if (_product != null) {
             return ProductWorker.getOptionalProductFeatures(getDelegator(), this.productId);
-        } else {
-            // non-product items do not have features
-            return new HashMap<String, List<GenericValue>>();
         }
+        // non-product items do not have features
+        return new HashMap<>();
     }
 
     public Delegator getDelegator() {
@@ -2449,7 +2477,7 @@ public class ShoppingCartItem implements
 
     public List<ShoppingCartItem> explodeItem(ShoppingCart cart, LocalDispatcher dispatcher) throws CartItemModifyException {
         BigDecimal baseQuantity = this.getQuantity();
-        List<ShoppingCartItem> newItems = new ArrayList<ShoppingCartItem>();
+        List<ShoppingCartItem> newItems = new ArrayList<>();
 
         if (baseQuantity.compareTo(BigDecimal.ONE) > 0) {
             for (int i = 1; i < baseQuantity.intValue(); i++) {
@@ -2470,8 +2498,9 @@ public class ShoppingCartItem implements
                             BigDecimal adjAmount = newAdjustment.getBigDecimal("amount");
 
                             // we use != because adjustments can be +/-
-                            if (adjAmount != null && adjAmount.compareTo(BigDecimal.ZERO) != 0)
+                            if (adjAmount != null && adjAmount.compareTo(BigDecimal.ZERO) != 0) {
                                 newAdjustment.set("amount", adjAmount.divide(baseQuantity, generalRounding));
+                            }
                             Debug.logInfo("Cloned adj: " + newAdjustment, module);
                             item.addAdjustment(newAdjustment);
                         } else {
@@ -2499,8 +2528,9 @@ public class ShoppingCartItem implements
                         BigDecimal adjAmount = newAdjustment.getBigDecimal("amount");
 
                         // we use != becuase adjustments can be +/-
-                        if (adjAmount != null && adjAmount.compareTo(BigDecimal.ZERO) != 0)
+                        if (adjAmount != null && adjAmount.compareTo(BigDecimal.ZERO) != 0) {
                             newAdjustment.set("amount", adjAmount.divide(baseQuantity, generalRounding));
+                        }
                         Debug.logInfo("Updated adj: " + newAdjustment, module);
                         this.addAdjustment(newAdjustment);
                     }

Modified: ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartServices.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartServices.java?rev=1818329&r1=1818328&r2=1818329&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartServices.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartServices.java Fri Dec 15 20:33:56 2017
@@ -373,12 +373,14 @@ public class ShoppingCartServices {
                     Debug.logError(e, module);
                     return ServiceUtil.returnError(e.getMessage());
                 }
-                if ("ITEM_REJECTED".equals(item.getString("statusId")) || "ITEM_CANCELLED".equals(item.getString("statusId"))) continue;
+                if ("ITEM_REJECTED".equals(item.getString("statusId")) || "ITEM_CANCELLED".equals(item.getString("statusId"))) {
+                    continue;
+                }
                 try {
                     product = EntityQuery.use(delegator).from("Product").where("productId", productId).queryOne();
                     if ("DIGITAL_GOOD".equals(product.getString("productTypeId"))) {
-                        Map<String, Object> surveyResponseMap = new HashMap<String, Object>();
-                        Map<String, Object> answers = new HashMap<String, Object>();
+                        Map<String, Object> surveyResponseMap = new HashMap<>();
+                        Map<String, Object> answers = new HashMap<>();
                         List<GenericValue> surveyResponseAndAnswers = EntityQuery.use(delegator).from("SurveyResponseAndAnswer").where("orderId", orderId, "orderItemSeqId", orderItemSeqId).queryList();
                         if (UtilValidate.isNotEmpty(surveyResponseAndAnswers)) {
                             String surveyId = EntityUtil.getFirst(surveyResponseAndAnswers).getString("surveyId");
@@ -390,12 +392,9 @@ public class ShoppingCartServices {
                             surveyResponseResult = dispatcher.runSync("createSurveyResponse", surveyResponseMap);
                         }
                     }
-                } catch (GenericEntityException e) {
+                } catch (GenericEntityException | GenericServiceException e) {
                     Debug.logError(e, module);
                     return ServiceUtil.returnError(e.getMessage());
-                } catch (GenericServiceException e) {
-                    Debug.logError(e.toString(), module);
-                    return ServiceUtil.returnError(e.toString());
                 }
 
                 // do not include PROMO items
@@ -489,10 +488,7 @@ public class ShoppingCartServices {
                     }
                     try {
                         itemIndex = cart.addItemToEnd(productId, amount, quantity, unitPrice, reservStart, reservLength, reservPersons,accommodationMapId,accommodationSpotId, null, null, prodCatalogId, configWrapper, item.getString("orderItemTypeId"), dispatcher, null, unitPrice == null ? null : false, skipInventoryChecks, skipProductChecks);
-                    } catch (ItemNotFoundException e) {
-                        Debug.logError(e, module);
-                        return ServiceUtil.returnError(e.getMessage());
-                    } catch (CartItemModifyException e) {
+                    } catch (ItemNotFoundException | CartItemModifyException e) {
                         Debug.logError(e, module);
                         return ServiceUtil.returnError(e.getMessage());
                     }
@@ -568,7 +564,9 @@ public class ShoppingCartServices {
                 List<GenericValue> itemAdjustments = orh.getOrderItemAdjustments(item);
                 if (itemAdjustments != null) {
                     for (GenericValue itemAdjustment : itemAdjustments) {
-                        if (!isTaxAdjustment(itemAdjustment)) cartItem.addAdjustment(itemAdjustment);
+                        if (!isTaxAdjustment(itemAdjustment)) {
+                            cartItem.addAdjustment(itemAdjustment);
+                        }
                     }
                 }
             }
@@ -578,7 +576,9 @@ public class ShoppingCartServices {
                 int itemIndex = 0;
                 for (GenericValue item : orderItems) {
                     // if rejected or cancelled ignore, just like above otherwise all indexes will be off by one!
-                    if ("ITEM_REJECTED".equals(item.getString("statusId")) || "ITEM_CANCELLED".equals(item.getString("statusId"))) continue;
+                    if ("ITEM_REJECTED".equals(item.getString("statusId")) || "ITEM_CANCELLED".equals(item.getString("statusId"))) {
+                        continue;
+                    }
 
                     List<GenericValue> orderItemAdjustments = orh.getOrderItemAdjustments(item);
                     // set the item's ship group info
@@ -628,7 +628,9 @@ public class ShoppingCartServices {
                             } else {
                                 List<GenericValue> itemTaxAdj = cartShipItemInfo.itemTaxAdj;
                                 for (GenericValue shipGroupItemAdjustment : shipGroupItemAdjustments) {
-                                    if (isTaxAdjustment(shipGroupItemAdjustment)) itemTaxAdj.add(shipGroupItemAdjustment);
+                                    if (isTaxAdjustment(shipGroupItemAdjustment)) {
+                                        itemTaxAdj.add(shipGroupItemAdjustment);
+                                    }
                                 }
                             }
                         }
@@ -774,11 +776,11 @@ public class ShoppingCartServices {
 
         // Convert the quote adjustment to order header adjustments and
         // put them in a map: the key/values pairs are quoteItemSeqId/List of adjs
-        Map<String, List<GenericValue>> orderAdjsMap = new HashMap<String, List<GenericValue>>() ;
+        Map<String, List<GenericValue>> orderAdjsMap = new HashMap<>() ;
         for (GenericValue quoteAdj : quoteAdjs) {
             List<GenericValue> orderAdjs = orderAdjsMap.get(UtilValidate.isNotEmpty(quoteAdj.getString("quoteItemSeqId")) ? quoteAdj.getString("quoteItemSeqId") : quoteId);
             if (orderAdjs == null) {
-                orderAdjs = new LinkedList<GenericValue>();
+                orderAdjs = new LinkedList<>();
                 orderAdjsMap.put(UtilValidate.isNotEmpty(quoteAdj.getString("quoteItemSeqId")) ? quoteAdj.getString("quoteItemSeqId") : quoteId, orderAdjs);
             }
             // convert quote adjustments to order adjustments
@@ -878,10 +880,7 @@ public class ShoppingCartServices {
                     try {
                             itemIndex = cart.addItemToEnd(productId, amount, quantity, quoteUnitPrice, reservStart, reservLength, reservPersons,null,null, null, null, null, configWrapper, null, dispatcher, Boolean.valueOf(!applyQuoteAdjustments), Boolean.valueOf(quoteUnitPrice.compareTo(BigDecimal.ZERO) == 0), Boolean.FALSE, Boolean.FALSE);
 
-                    } catch (ItemNotFoundException e) {
-                        Debug.logError(e, module);
-                        return ServiceUtil.returnError(e.getMessage());
-                    } catch (CartItemModifyException e) {
+                    } catch (ItemNotFoundException | CartItemModifyException e) {
                         Debug.logError(e, module);
                         return ServiceUtil.returnError(e.getMessage());
                     }
@@ -915,8 +914,11 @@ public class ShoppingCartServices {
 
             if (adjs != null) {
                 for (GenericValue adj : adjs) {
-                    if (isTaxAdjustment( adj )) shipInfo.shipTaxAdj.add(adj);
-                    else cartAdjs.add(adj);
+                    if (isTaxAdjustment( adj )) {
+                        shipInfo.shipTaxAdj.add(adj);
+                    } else {
+                        cartAdjs.add(adj);
+                    }
                 }
             }
 
@@ -934,10 +936,14 @@ public class ShoppingCartServices {
                             if (isTaxAdjustment( adj )) {
                                 CartShipItemInfo csii = shipInfo.getShipItemInfo(item);
 
-                                if (csii.itemTaxAdj == null) shipInfo.setItemInfo(item, UtilMisc.toList(adj));
-                                else csii.itemTaxAdj.add(adj);
+                                if (csii.itemTaxAdj == null) {
+                                    shipInfo.setItemInfo(item, UtilMisc.toList(adj));
+                                } else {
+                                    csii.itemTaxAdj.add(adj);
+                                }
+                            } else {
+                                item.addAdjustment(adj);
                             }
-                            else item.addAdjustment(adj);
                         }
                     }
                 }
@@ -1060,10 +1066,7 @@ public class ShoppingCartServices {
                     }
                     try {
                         itemIndex = cart.addItemToEnd(productId, null, quantity, null, null, null, null, null, configWrapper, dispatcher, Boolean.TRUE, Boolean.TRUE);
-                    } catch (ItemNotFoundException e) {
-                        Debug.logError(e, module);
-                        return ServiceUtil.returnError(e.getMessage());
-                    } catch (CartItemModifyException e) {
+                    } catch (ItemNotFoundException | CartItemModifyException e) {
                         Debug.logError(e, module);
                         return ServiceUtil.returnError(e.getMessage());
                     }
@@ -1120,7 +1123,7 @@ public class ShoppingCartServices {
             result.put("displayGrandTotalCurrencyFormatted",org.apache.ofbiz.base.util.UtilFormatOut.formatCurrency(shoppingCart.getDisplayGrandTotal(), isoCode, locale));
             BigDecimal orderAdjustmentsTotal = OrderReadHelper.calcOrderAdjustments(OrderReadHelper.getOrderHeaderAdjustments(shoppingCart.getAdjustments(), null), shoppingCart.getSubTotal(), true, true, true);
             result.put("displayOrderAdjustmentsTotalCurrencyFormatted", org.apache.ofbiz.base.util.UtilFormatOut.formatCurrency(orderAdjustmentsTotal, isoCode, locale));
-            Map<String, Object> cartItemData = new HashMap<String, Object>();
+            Map<String, Object> cartItemData = new HashMap<>();
             for (ShoppingCartItem cartLine : shoppingCart) {
                 int cartLineIndex = shoppingCart.getItemIndex(cartLine);
                 cartItemData.put("displayItemQty_" + cartLineIndex, cartLine.getQuantity());
@@ -1173,7 +1176,7 @@ public class ShoppingCartServices {
             Debug.logError(e.toString(), module);
             return ServiceUtil.returnError(e.toString());
         }
-        Map<String, Object> vendorMap = new HashMap<String, Object>();
+        Map<String, Object> vendorMap = new HashMap<>();
         for (ShoppingCartItem item : cart) {
             GenericValue vendorProduct = null;
             String productId = item.getParentProductId();