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); + } + }
