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 2015/09/19 12:45:14 UTC
svn commit: r1703977 -
/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCart.java
Author: mbrohl
Date: Sat Sep 19 10:45:13 2015
New Revision: 1703977
URL: http://svn.apache.org/viewvc?rev=1703977&view=rev
Log:
Applied patch for OFBIZ-6629: Duplicate calculation and typo in ShoppingCart.getGrandTotal().
This removes duplicate code, fixes a methode name typo and adds type safety to an iterator.
Thanks Martin Becker for spotting this and providing the patch.
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=1703977&r1=1703976&r2=1703977&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 Sat Sep 19 10:45:13 2015
@@ -2696,11 +2696,8 @@ public class ShoppingCart implements Ite
/** Returns the total from the cart, including tax/shipping. */
public BigDecimal getGrandTotal() {
// sales tax and shipping are not stored as adjustments but rather as part of the ship group
- // 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(this.getOrderGlobalAdjusments());
- return grandTotal;
+ // Debug.logInfo("Subtotal:" + this.getSubTotal() + " Shipping:" + this.getTotalShipping() + "SalesTax: "+ this.getTotalSalesTax() + " others: " + this.getOrderOtherAdjustmentTotal() + " global: " + this.getOrderGlobalAdjustments(), module);
+ return this.getSubTotal().add(this.getTotalShipping()).add(this.getTotalSalesTax()).add(this.getOrderOtherAdjustmentTotal()).add(this.getOrderGlobalAdjustments());
}
public BigDecimal getDisplaySubTotal() {
@@ -2710,11 +2707,11 @@ public class ShoppingCart implements Ite
}
return itemsTotal;
}
- public BigDecimal getOrderGlobalAdjusments() {
+ public BigDecimal getOrderGlobalAdjustments() {
List<GenericValue> cartAdjustments = this.getAdjustments();
List<GenericValue> tempAdjustmentsList = new LinkedList<GenericValue>();
if (cartAdjustments != null) {
- Iterator cartAdjustmentIter = cartAdjustments.iterator();
+ Iterator<GenericValue> cartAdjustmentIter = cartAdjustments.iterator();
while (cartAdjustmentIter.hasNext()) {
GenericValue checkOrderAdjustment = (GenericValue) cartAdjustmentIter.next();
if (UtilValidate.isEmpty(checkOrderAdjustment.getString("shipGroupSeqId")) || DataModelConstants.SEQ_ID_NA.equals(checkOrderAdjustment.getString("shipGroupSeqId"))) {
@@ -2739,7 +2736,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()).add(this.getOrderGlobalAdjusments());
+ return this.getDisplaySubTotal().add(this.getTotalShipping()).add(this.getTotalSalesTax()).add(this.getOrderOtherAdjustmentTotal()).add(this.getOrderGlobalAdjustments());
}
public BigDecimal getOrderOtherAdjustmentTotal() {
@@ -4904,7 +4901,7 @@ public class ShoppingCart implements Ite
}
if ("Y".equals(splitPayPrefPerShpGrp) && cart.paymentInfo.size() == 1) {
for (CartShipInfo csi : cart.getShipGroups()) {
- maxAmount = csi.getTotal().add(cart.getOrderOtherAdjustmentTotal().add(cart.getOrderGlobalAdjusments()).divide(new BigDecimal(cart.getShipGroupSize()), generalRounding)).add(csi.getShipEstimate().add(csi.getTotalTax(cart)));
+ maxAmount = csi.getTotal().add(cart.getOrderOtherAdjustmentTotal().add(cart.getOrderGlobalAdjustments()).divide(new BigDecimal(cart.getShipGroupSize()), generalRounding)).add(csi.getShipEstimate().add(csi.getTotalTax(cart)));
maxAmount = maxAmount.setScale(scale, rounding);
// create the OrderPaymentPreference record