svn commit: r1823876 - /ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1823876 - /ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java

jleroux@apache.org
Author: jleroux
Date: Sun Feb 11 18:51:07 2018
New Revision: 1823876

URL: http://svn.apache.org/viewvc?rev=1823876&view=rev
Log:
Fixed: UtilNumber.getBigDecimalRoundingMode() returns a wrong value
(OFBIZ-10218)

While working on OFBIZ-9571 I found that getBigDecimalRoundingMode() returns  
DEFAULT_BD_SCALE when the passed value for the file parameter is emtpy.
This has certainly be C/P from getBigDecimalScale() and never found before.

While at it I refactored a bit getBigDecimalRoundingMode()  and
getBigDecimalScale()

Modified:
    ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java

Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java?rev=1823876&r1=1823875&r2=1823876&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilNumber.java Sun Feb 11 18:51:07 2018
@@ -183,13 +183,10 @@ public final class UtilNumber {
      * @return  int - Scale factor to pass to BigDecimal's methods. Defaults to DEFAULT_BD_SCALE (2)
      */
     public static int getBigDecimalScale(String file, String property) {
-        if (UtilValidate.isEmpty(file)) {
+        if (UtilValidate.isEmpty(file) || UtilValidate.isEmpty(property)) {
             return DEFAULT_BD_SCALE;
         }
-        if (UtilValidate.isEmpty(property)) {
-            return DEFAULT_BD_SCALE;
-        }
-
+        
         int scale = -1;
         String value = UtilProperties.getPropertyValue(file, property);
             try {
@@ -217,10 +214,7 @@ public final class UtilNumber {
      * @return  int - Rounding mode to pass to BigDecimal's methods. Defaults to DEFAULT_BD_ROUNDING_MODE (BigDecimal.ROUND_HALF_UP)
      */
     public static int getBigDecimalRoundingMode(String file, String property) {
-        if (UtilValidate.isEmpty(file)) {
-            return DEFAULT_BD_SCALE;
-        }
-        if (UtilValidate.isEmpty(property)) {
+        if (UtilValidate.isEmpty(file) || UtilValidate.isEmpty(property)) {
             return DEFAULT_BD_ROUNDING_MODE;
         }