You beat me on it Divesh, cool :o) !

Jacques

From: "Divesh Dutta" <[email protected]>
Hello David,

Hope you are doing well.

Just wanted to know whether this fix should also go in release 10.04 ?

Thanks
--
Divesh Dutta.


On Oct 20, 2010, at 2:27 PM, [email protected] wrote:

Author: jonesde
Date: Wed Oct 20 08:57:01 2010
New Revision: 1024553

URL: http://svn.apache.org/viewvc?rev=1024553&view=rev
Log:
Fixed an occasional NPE, seems to happen when promo items are being 
added/removed

Modified:
   
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java

Modified: 
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java?rev=1024553&r1=1024552&r2=1024553&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java
 (original)
+++ 
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartServices.java
 Wed Oct 20 08:57:01 2010
@@ -551,7 +551,6 @@ public class ShoppingCartServices {
            if (UtilValidate.isNotEmpty(orderItems)) {
                int itemIndex = 0;
                for (GenericValue item : orderItems) {
-
                    List<GenericValue> orderItemAdjustments = 
orh.getOrderItemAdjustments(item);
                    // set the item's ship group info
                    List<GenericValue> shipGroupAssocs = 
orh.getOrderItemShipGroupAssocs(item);
@@ -574,11 +573,16 @@ public class ShoppingCartServices {

List<GenericValue> shipGroupItemAdjustments = EntityUtil.filterByAnd(orderItemAdjustments, UtilMisc.toMap("shipGroupSeqId", cartShipGroupIndexStr));
                        ShoppingCart.CartShipInfo csi = 
cart.getShipInfo(cartShipGroupIndex);
-                        List itemTaxAdj = 
csi.getShipItemInfo(cart.findCartItem(itemIndex)).itemTaxAdj;
-                        for(GenericValue shipGroupItemAdjustment : 
shipGroupItemAdjustments) {
-                            if 
("SALES_TAX".equals(shipGroupItemAdjustment.get("orderAdjustmentTypeId"))) {
-                                itemTaxAdj.add(shipGroupItemAdjustment);
-                                continue;
+                        ShoppingCartItem cartItem = 
cart.findCartItem(itemIndex);
+                        if (cartItem == null) {
+ Debug.logWarning("In loadCartFromOrder could not find cart item for itemIndex=" + itemIndex + ", for orderId=" + orderId, module);
+                        } else {
+                            List itemTaxAdj = 
csi.getShipItemInfo(cartItem).itemTaxAdj;
+                            for(GenericValue shipGroupItemAdjustment : 
shipGroupItemAdjustments) {
+                                if 
("SALES_TAX".equals(shipGroupItemAdjustment.get("orderAdjustmentTypeId"))) {
+                                    itemTaxAdj.add(shipGroupItemAdjustment);
+                                    continue;
+                                }
                            }
                        }
                    }







Reply via email to