From 56d8b35be89603b46dda143b5e8fbac1edce8ca5 Mon Sep 17 00:00:00 2001 From: dsyer Date: Sat, 28 Feb 2009 14:05:06 +0000 Subject: [PATCH] RESOLVED - issue BATCH-935: Use NumberFormat when parsing real numbers Change default locale for number format to US to keep backwards compatibility --- .../batch/item/file/transform/DefaultFieldSet.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DefaultFieldSet.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DefaultFieldSet.java index d9396b9e8..fadfb7f2c 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DefaultFieldSet.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DefaultFieldSet.java @@ -24,6 +24,7 @@ import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; import java.util.List; +import java.util.Locale; import java.util.Properties; import org.springframework.util.Assert; @@ -50,7 +51,7 @@ public class DefaultFieldSet implements FieldSet { dateFormat.setLenient(false); } - private NumberFormat numberFormat = NumberFormat.getInstance(); + private NumberFormat numberFormat = NumberFormat.getInstance(Locale.US); /** * The fields wrapped by this 'FieldSet' instance. @@ -60,8 +61,8 @@ public class DefaultFieldSet implements FieldSet { private List names; /** - * The {@link NumberFormat} to use for parsing numbers. If unset the default - * locale will be used. + * The {@link NumberFormat} to use for parsing numbers. If unset the + * US locale will be used ('.' as decimal place). * @param numberFormat the {@link NumberFormat} to use for number parsing */ public void setNumberFormat(NumberFormat numberFormat) { @@ -632,12 +633,12 @@ public class DefaultFieldSet implements FieldSet { String pattern; if (dateFormat instanceof SimpleDateFormat) { pattern = ((SimpleDateFormat) dateFormat).toPattern(); - } else { + } + else { pattern = dateFormat.toString(); } throw new IllegalArgumentException(e.getMessage() + ", format: [" + pattern + "]"); } } - }