[ https://issues.apache.org/jira/browse/OFBIZ-249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jacques Le Roux closed OFBIZ-249. --------------------------------- Resolution: Fixed Fix Version/s: Release Branch 4.0 SVN trunk I checked, all is done here > Re-factor BigDecimal calculations > --------------------------------- > > Key: OFBIZ-249 > URL: https://issues.apache.org/jira/browse/OFBIZ-249 > Project: OFBiz > Issue Type: Bug > Components: accounting, order > Reporter: Jacopo Cappellato > Assignee: Jacques Le Roux > Fix For: SVN trunk, Release Branch 4.0 > > > Copy of a set of related issues created in the old server by Si (and others): > 1. In applications/accounting/src/ re-factor to use arithmetic.properties > instead of > 2. Per comments of Bradley Plies, > The following files have something like: > ... = new BigDecimal("0"); > \applications\accounting\src\org\ofbiz\accounting > \invoice\InvoiceServices.java (11 matches) > \invoice\InvoiceWorker.java (4 matches) > \payment\PaymentWorker.java > \tax\TaxAuthorityServices.java > \applications\accounting\webapp\accounting\WEB-INF\actions\invoice\createItemList.bsh > (4 matches) > \applications\order\src\org\ofbiz\order > \order\OrderReadHelper.java > \order\OrderReturnServices.java > \shoppingcart\CheckOutHelper.java > However BigDecimal already provides a constant BigDecimal.ZERO (as well as > BigDecimal.ONE which are both inherited from superclass BigInteger) such that > doing this is unnecessary (but not incorrect) and just creates more objects. > The scale of the mathematical results will not be unaffected, as described in > the JDK. http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigDecimal.html > All Comments Work Log Change History > Sort Order: [navigator.ascending.order] > Comment by Leon Torres [08/Mar/06 12:33 PM] > [ Permlink ] > There is no BigDecimal.ZERO. I tried compiling, got an error, looked at the > javadoc and realized it is only BigInteger.ZERO. We're better off setting a > static ZERO ourselves somewhere, preferably at the top of the Java file along > with the scale and rounding mode. > Look at InvoiceServices.java for example. Also, I was setting the scale of > zero out of paranoia in that code, it probably isn't necessary. > =================================================== > Re-factor the following to use arithmetic.properties instead of setting them > directly: > org/ofbiz/accounting/tax/TaxAuthorityServices.java: taxTotal.setScale(2, > BigDecimal.ROUND_CEILING); > org/ofbiz/accounting/tax/TaxAuthorityServices.java: priceWithTax.setScale(2, > BigDecimal.ROUND_CEILING); > org/ofbiz/accounting/invoice/InvoiceWorker.java: invoiceTotal = > invoiceTotal.add( amount.multiply(quantity)).setScale(2,4); -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.