diff --git a/org.springframework.context/src/main/java/org/springframework/ui/format/number/CurrencyFormatter.java b/org.springframework.context/src/main/java/org/springframework/ui/format/number/CurrencyFormatter.java index edfb4adae3a..e51037f9011 100644 --- a/org.springframework.context/src/main/java/org/springframework/ui/format/number/CurrencyFormatter.java +++ b/org.springframework.context/src/main/java/org/springframework/ui/format/number/CurrencyFormatter.java @@ -77,11 +77,13 @@ public final class CurrencyFormatter extends AbstractNumberFormatter { public BigDecimal parse(String formatted, Locale locale) throws ParseException { BigDecimal decimal = (BigDecimal) super.parse(formatted, locale); - if (this.roundingMode != null) { - decimal = decimal.setScale(this.fractionDigits, this.roundingMode); - } - else { - decimal = decimal.setScale(this.fractionDigits); + if (decimal != null) { + if (this.roundingMode != null) { + decimal = decimal.setScale(this.fractionDigits, this.roundingMode); + } + else { + decimal = decimal.setScale(this.fractionDigits); + } } return decimal; } diff --git a/org.springframework.context/src/test/java/org/springframework/ui/format/number/CurrencyFormatterTests.java b/org.springframework.context/src/test/java/org/springframework/ui/format/number/CurrencyFormatterTests.java index 9eb3c26ba5f..3c16afe69fe 100644 --- a/org.springframework.context/src/test/java/org/springframework/ui/format/number/CurrencyFormatterTests.java +++ b/org.springframework.context/src/test/java/org/springframework/ui/format/number/CurrencyFormatterTests.java @@ -1,14 +1,32 @@ +/* + * Copyright 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.springframework.ui.format.number; -import static org.junit.Assert.assertEquals; - import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.ParseException; import java.util.Locale; +import static org.junit.Assert.*; import org.junit.Test; -import org.springframework.ui.format.number.CurrencyFormatter; +/** + * @author Keith Donald + */ public class CurrencyFormatterTests { private CurrencyFormatter formatter = new CurrencyFormatter(); @@ -35,6 +53,7 @@ public class CurrencyFormatterTests { @Test public void parseValueDefaultRoundDown() throws ParseException { + this.formatter.setRoundingMode(RoundingMode.DOWN); assertEquals(new BigDecimal("23.56"), formatter.parse("$23.567", Locale.US)); } diff --git a/org.springframework.context/src/test/java/org/springframework/ui/format/number/DecimalFormatterTests.java b/org.springframework.context/src/test/java/org/springframework/ui/format/number/DecimalFormatterTests.java index 2842d6ba2ad..0e4bdf7de7c 100644 --- a/org.springframework.context/src/test/java/org/springframework/ui/format/number/DecimalFormatterTests.java +++ b/org.springframework.context/src/test/java/org/springframework/ui/format/number/DecimalFormatterTests.java @@ -1,3 +1,19 @@ +/* + * Copyright 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.springframework.ui.format.number; import static org.junit.Assert.assertEquals; @@ -9,6 +25,9 @@ import java.util.Locale; import org.junit.Test; import org.springframework.ui.format.number.DecimalFormatter; +/** + * @author Keith Donald + */ public class DecimalFormatterTests { private DecimalFormatter formatter = new DecimalFormatter(); diff --git a/org.springframework.context/src/test/java/org/springframework/ui/format/number/IntegerFormatterTests.java b/org.springframework.context/src/test/java/org/springframework/ui/format/number/IntegerFormatterTests.java index 60934f88cbe..7d39faa0119 100644 --- a/org.springframework.context/src/test/java/org/springframework/ui/format/number/IntegerFormatterTests.java +++ b/org.springframework.context/src/test/java/org/springframework/ui/format/number/IntegerFormatterTests.java @@ -1,3 +1,19 @@ +/* + * Copyright 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.springframework.ui.format.number; import static org.junit.Assert.assertEquals; @@ -8,6 +24,9 @@ import java.util.Locale; import org.junit.Test; import org.springframework.ui.format.number.IntegerFormatter; +/** + * @author Keith Donald + */ public class IntegerFormatterTests { private IntegerFormatter formatter = new IntegerFormatter(); diff --git a/org.springframework.context/src/test/java/org/springframework/ui/format/number/PercentFormatterTests.java b/org.springframework.context/src/test/java/org/springframework/ui/format/number/PercentFormatterTests.java index 025767affe8..dac95522f21 100644 --- a/org.springframework.context/src/test/java/org/springframework/ui/format/number/PercentFormatterTests.java +++ b/org.springframework.context/src/test/java/org/springframework/ui/format/number/PercentFormatterTests.java @@ -1,3 +1,19 @@ +/* + * Copyright 2002-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.springframework.ui.format.number; import static org.junit.Assert.assertEquals; @@ -9,6 +25,9 @@ import java.util.Locale; import org.junit.Test; import org.springframework.ui.format.number.PercentFormatter; +/** + * @author Keith Donald + */ public class PercentFormatterTests { private PercentFormatter formatter = new PercentFormatter();