Author: jleroux
Date: Fri Nov 10 15:34:58 2017
New Revision: 1814875

URL: http://svn.apache.org/viewvc?rev=1814875&view=rev
Log:
"Applied fix from trunk framework for revision: 1814873" 
------------------------------------------------------------------------
r1814873 | jleroux | 2017-11-10 16:34:27 +0100 (ven., 10 nov. 2017) | 11 lines

Fixed: ShippingEvents.getShipGroupEstimate() method gives untraceable null
 pointer exception for BigDecimal comparison
(OFBIZ-9975)

The compareTo() method of BigDecimal is not null safe. 
When totalAllowance value is null it throws null pointer exception which may be 
difficult to trace sometimes.
Valid null pointer checks should be there before using compareTo() if the 
variable may have a null value in any of the case.

Thanks: Aditya
------------------------------------------------------------------------


Modified:
    ofbiz/branches/release16.11/   (props changed)
    
ofbiz/branches/release16.11/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/shipping/ShippingEvents.java

Propchange: ofbiz/branches/release16.11/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Nov 10 15:34:58 2017
@@ -10,5 +10,5 @@
 /ofbiz/branches/json-integration-refactoring:1634077-1635900
 /ofbiz/branches/multitenant20100310:921280-927264
 /ofbiz/branches/release13.07:1547657
-/ofbiz/ofbiz-framework/trunk:1783202,1783388,1784549,1784558,1784708,1785882,1785925,1786079,1786214,1786525,1787047,1787133,1787176,1787535,1787906-1787911,1787949,1789665,1789863,1789874,1790396,1790810,1791277,1791288,1791342,1791346,1791490,1791496,1791625,1791634,1791791,1791804,1792270,1792272,1792275,1792432,1792609,1792638,1794008,1794132,1796047,1796262,1797733,1798668,1798682,1798796,1798803,1798808,1799088,1799183,1799327,1799417,1799687,1799767,1799793,1799859,1800250,1800780,1800832,1800853,1801094,1801262-1801263,1801273-1801274,1801303,1801318-1801319,1801336,1801340,1801346,1801359,1801742,1802657,1802766,1803525,1804656,1804843,1804847,1804859,1805143,1805558,1805880,1806036,1806220,1806266,1806269,1806951,1807597,1807890,1808834,1809399,1809429,1809594,1809741,1810102,1811794,1812387,1813600,1813617,1813647,1813833,1814277,1814319,1814349,1814501,1814591,1814642,1814644,1814709
+/ofbiz/ofbiz-framework/trunk:1783202,1783388,1784549,1784558,1784708,1785882,1785925,1786079,1786214,1786525,1787047,1787133,1787176,1787535,1787906-1787911,1787949,1789665,1789863,1789874,1790396,1790810,1791277,1791288,1791342,1791346,1791490,1791496,1791625,1791634,1791791,1791804,1792270,1792272,1792275,1792432,1792609,1792638,1794008,1794132,1796047,1796262,1797733,1798668,1798682,1798796,1798803,1798808,1799088,1799183,1799327,1799417,1799687,1799767,1799793,1799859,1800250,1800780,1800832,1800853,1801094,1801262-1801263,1801273-1801274,1801303,1801318-1801319,1801336,1801340,1801346,1801359,1801742,1802657,1802766,1803525,1804656,1804843,1804847,1804859,1805143,1805558,1805880,1806036,1806220,1806266,1806269,1806951,1807597,1807890,1808834,1809399,1809429,1809594,1809741,1810102,1811794,1812387,1813600,1813617,1813647,1813833,1814277,1814319,1814349,1814501,1814591,1814642,1814644,1814709,1814873
 
/ofbiz/trunk:1770481,1770490,1770540,1771440,1771448,1771516,1771935,1772346,1772880,1774772,1775441,1779724,1780659,1781109,1781125,1781979,1782498,1782520

Modified: 
ofbiz/branches/release16.11/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/shipping/ShippingEvents.java
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release16.11/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/shipping/ShippingEvents.java?rev=1814875&r1=1814874&r2=1814875&view=diff
==============================================================================
--- 
ofbiz/branches/release16.11/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/shipping/ShippingEvents.java
 (original)
+++ 
ofbiz/branches/release16.11/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/shipping/ShippingEvents.java
 Fri Nov 10 15:34:58 2017
@@ -253,7 +253,7 @@ public class ShippingEvents {
 
         // Calculate the allowance price(Already included in Product's 
default/list price)
         // using shippingAllowance percent and deduct it from Actual Shipping 
Cost.
-        if (BigDecimal.ZERO.compareTo(shippingTotal) < 0 && 
BigDecimal.ZERO.compareTo(totalAllowance) < 0) {
+        if (BigDecimal.ZERO.compareTo(shippingTotal) < 0 && 
UtilValidate.isNotEmpty(totalAllowance) && 
BigDecimal.ZERO.compareTo(totalAllowance) < 0) {
             BigDecimal shippingAllowancePercent = 
storeShipMethod.getBigDecimal("allowancePercent") != null ? 
storeShipMethod.getBigDecimal("allowancePercent") : BigDecimal.ZERO;
             totalAllowance = 
totalAllowance.multiply(shippingAllowancePercent.divide(BigDecimal.valueOf(100)));
             shippingTotal = shippingTotal.subtract(totalAllowance);


Reply via email to