Author: deepak Date: Thu Mar 26 11:05:41 2015 New Revision: 1669317 URL: http://svn.apache.org/r1669317 Log: OFBIZ-2146: Found issue in ShoppingCart.getDisplaySubTotal() method, its throwing stack overflow error, Ideally this code changes should belongs to ShoppingCart.getDisplayGrandTotal().
Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java?rev=1669317&r1=1669316&r2=1669317&view=diff ============================================================================== --- ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java (original) +++ ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java Thu Mar 26 11:05:41 2015 @@ -2702,14 +2702,14 @@ public class ShoppingCart implements Ite // Debug.logInfo("Subtotal:" + this.getSubTotal() + " Shipping:" + this.getTotalShipping() + "SalesTax: "+ this.getTotalSalesTax() + " others: " + this.getOrderOtherAdjustmentTotal(),module); BigDecimal grandTotal = this.getSubTotal().add(this.getTotalShipping()).add(this.getTotalSalesTax()).add(this.getOrderOtherAdjustmentTotal()); // Debug.logInfo("Grand Total before rounding:" + grandTotal, module); - grandTotal = this.getSubTotal().add(this.getTotalShipping()).add(this.getTotalSalesTax()).add(this.getOrderOtherAdjustmentTotal()).add(getOrderGlobalAdjusments()); + grandTotal = this.getSubTotal().add(this.getTotalShipping()).add(this.getTotalSalesTax()).add(this.getOrderOtherAdjustmentTotal()).add(this.getOrderGlobalAdjusments()); return grandTotal; } public BigDecimal getDisplaySubTotal() { BigDecimal itemsTotal = BigDecimal.ZERO; for (ShoppingCartItem cartItem : this.cartLines) { - itemsTotal = this.getDisplaySubTotal().add(this.getTotalShipping()).add(this.getTotalSalesTax()).add(this.getOrderOtherAdjustmentTotal()).add(getOrderGlobalAdjusments()); + itemsTotal = itemsTotal.add(cartItem.getDisplayItemSubTotal()); } return itemsTotal; } @@ -2742,7 +2742,7 @@ public class ShoppingCart implements Ite /** Returns the total from the cart, including tax/shipping. */ public BigDecimal getDisplayGrandTotal() { - return this.getDisplaySubTotal().add(this.getTotalShipping()).add(this.getTotalSalesTax()).add(this.getOrderOtherAdjustmentTotal()); + return this.getDisplaySubTotal().add(this.getTotalShipping()).add(this.getTotalSalesTax()).add(this.getOrderOtherAdjustmentTotal()).add(this.getOrderGlobalAdjusments()); } public BigDecimal getOrderOtherAdjustmentTotal() {