Index: src/test/verifiers/xpp3/expected.xml
===================================================================
--- src/test/verifiers/xpp3/expected.xml (r‚vision 607)
+++ src/test/verifiers/xpp3/expected.xml (copie de travail)
@@ -6,7 +6,7 @@
3
4.5
5.6
- Friday, 6 January 2006 12:00:00 AM EST
+ Friday, January 6, 2006 12:00:00 AM EST
Maven
Index: src/test/verifiers/xpp3/Xpp3Verifier.java
===================================================================
--- src/test/verifiers/xpp3/Xpp3Verifier.java (r‚vision 607)
+++ src/test/verifiers/xpp3/Xpp3Verifier.java (copie de travail)
@@ -43,8 +43,12 @@
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
+import java.text.DateFormat;
+import java.util.Calendar;
import java.util.List;
+import java.util.Locale;
import java.util.Properties;
+import java.util.TimeZone;
/**
* @author Trygve Laugstøl
@@ -59,6 +63,8 @@
public void verify()
throws IOException, XmlPullParserException
{
+ TimeZone.setDefault(TimeZone.getTimeZone("America/New_York"));
+
verifyWriter();
verifyReader();
@@ -216,6 +222,7 @@
{
throw new XmlPullParserException( "Couldn't set date: " + e.getMessage() );
}
+
expected.setTypeTester( typeTester );
Repository repository = new Repository();
@@ -293,6 +300,32 @@
Model actual = reader.read( new StringReader( xml ) );
assertModel( expected, actual );
+
+ // ----------------------------------------------------------------------
+ // Test that dates are correctly read back from xml
+ // ----------------------------------------------------------------------
+
+ StringBuffer dateXml = new StringBuffer();
+ dateXml.append("\n\n");
+ dateXml.append("Friday, January 6, 2006 12:00:00 AM EST\n");
+ dateXml.append("\n");
+
+ expected = new Model();
+
+ TypeTester typeTester = new TypeTester();
+
+ Calendar calendar = Calendar.getInstance();
+
+ calendar.clear();
+ calendar.set(2006,01,06,12,0);
+
+ typeTester.setDate(calendar.getTime());
+
+ expected.setTypeTester(typeTester);
+
+ actual = reader.read( new StringReader( dateXml.toString() ) );
+
+ assertModel( expected, actual );
}
public void verifyReaderAliases()
Index: src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ReaderGenerator.java
===================================================================
--- src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ReaderGenerator.java (r‚vision 607)
+++ src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3ReaderGenerator.java (copie de travail)
@@ -133,6 +133,8 @@
jClass.addImport( "java.util.regex.Pattern" );
+ jClass.addImport( "java.util.Locale" );
+
addModelImports( jClass, null );
// ----------------------------------------------------------------------
@@ -1380,7 +1382,7 @@
sc.indent();
- sc.add( "DateFormat dateParser = DateFormat.getDateTimeInstance( DateFormat.FULL, DateFormat.FULL );" );
+ sc.add( "DateFormat dateParser = DateFormat.getDateTimeInstance( DateFormat.FULL, DateFormat.FULL , Locale.US );" );
sc.add( "dateParser.setLenient( true );" );
Index: src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3WriterGenerator.java
===================================================================
--- src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3WriterGenerator.java (r‚vision 607)
+++ src/main/java/org/codehaus/modello/plugin/xpp3/Xpp3WriterGenerator.java (copie de travail)
@@ -113,6 +113,8 @@
jClass.addImport( "java.util.Iterator" );
+ jClass.addImport( "java.util.Locale" );
+
jClass.addField( new JField( new JClass( "org.codehaus.plexus.util.xml.pull.XmlSerializer" ), "serializer" ) );
jClass.addField( new JField( new JClass( "String" ), "NAMESPACE" ) );
@@ -464,7 +466,7 @@
if ( "Date".equals( type ) )
{
textValue =
- "DateFormat.getDateTimeInstance( DateFormat.FULL, DateFormat.FULL ).format( " + textValue + " )";
+ "DateFormat.getDateTimeInstance( DateFormat.FULL, DateFormat.FULL , Locale.US ).format( " + textValue + " )";
}
else if ( !"String".equals( type ) )
{
@@ -472,6 +474,7 @@
}
return textValue;
+
}
private String getValueChecker( String type, String value, ModelField field )