Updated Branches:
  refs/heads/master a5368b3a9 -> 5adf0eb13

ISIS-396: further fix for BigDecimal parsing

when an action parameter.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/fb4b0602
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/fb4b0602
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/fb4b0602

Branch: refs/heads/master
Commit: fb4b0602c498ad09796c2bdb35e097c4ba88824f
Parents: a5368b3
Author: Dan Haywood <[email protected]>
Authored: Thu May 9 16:36:00 2013 +0200
Committer: Dan Haywood <[email protected]>
Committed: Thu May 9 16:36:00 2013 +0200

----------------------------------------------------------------------
 .../scalars/jdkmath/BigDecimalConverter.java       |    5 +++--
 .../scalars/jdkmath/BigDecimalConverterTest.java   |   10 ++++++++++
 2 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/fb4b0602/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverter.java
----------------------------------------------------------------------
diff --git 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverter.java
 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverter.java
index e66e167..27b978b 100644
--- 
a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverter.java
+++ 
b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverter.java
@@ -14,9 +14,10 @@ final class BigDecimalConverter implements 
IConverter<BigDecimal> {
     }
 
     @Override
-    public BigDecimal convertToObject(String value, Locale locale) {
+    public BigDecimal convertToObject(String valueStr, Locale locale) {
         try {
-            return new BigDecimal(value).setScale(scale);
+            final BigDecimal value = new BigDecimal(valueStr);
+            return scale != null? value.setScale(scale): value;
         } catch (Exception e) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/isis/blob/fb4b0602/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverterTest.java
----------------------------------------------------------------------
diff --git 
a/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverterTest.java
 
b/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverterTest.java
index 8b6e1c6..a31c26b 100644
--- 
a/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverterTest.java
+++ 
b/component/viewer/wicket/ui/src/test/java/org/apache/isis/viewer/wicket/ui/components/scalars/jdkmath/BigDecimalConverterTest.java
@@ -32,5 +32,15 @@ public class BigDecimalConverterTest {
         Assert.assertEquals(bd_123_45_scale4, actual);
     }
     
+    @Test
+    public void test_scaleNull() {
+        final BigDecimal actual = new 
BigDecimalConverter(null).convertToObject("123.45", null);
+        Assert.assertEquals(bd_123_4500_scale2, actual);
+        Assert.assertEquals(bd_123_45_scale2, actual);
+        
+        Assert.assertNotEquals(bd_123_4500_scale4, actual);
+        Assert.assertNotEquals(bd_123_45_scale4, actual);
+    }
+    
 
 }

Reply via email to