You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ofbiz.apache.org by "Jacques Le Roux (JIRA)" <ji...@apache.org> on 2017/11/10 15:36:01 UTC
[jira] [Closed] (OFBIZ-9975) ShippingEvents.getShipGroupEstimate()
method gives untraceable null pointer exception for BigDecimal comparison
[ https://issues.apache.org/jira/browse/OFBIZ-9975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jacques Le Roux closed OFBIZ-9975.
----------------------------------
Resolution: Fixed
Fix Version/s: 16.11.04
Thanks Aditya,
Your patch is in
trunk r1814873
R16.11 r1814875
> ShippingEvents.getShipGroupEstimate() method gives untraceable null pointer exception for BigDecimal comparison
> ---------------------------------------------------------------------------------------------------------------
>
> Key: OFBIZ-9975
> URL: https://issues.apache.org/jira/browse/OFBIZ-9975
> Project: OFBiz
> Issue Type: Bug
> Components: order
> Affects Versions: Trunk, Release Branch 16.11
> Reporter: Aditya Sharma
> Assignee: Jacques Le Roux
> Fix For: 16.11.04
>
> Attachments: OFBIZ-9975.patch
>
>
> The compareTo() method of BigDecimal is not null safe due to which in the following code:
> {code:java}
> if (BigDecimal.ZERO.compareTo(shippingTotal) < 0 && 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);
> }
> {code}
> 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.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)