Author: jochen Date: Wed May 10 02:39:46 2006 New Revision: 405692 URL: http://svn.apache.org/viewcvs?rev=405692&view=rev Log: The classes XsDateTimeFormat, and XsTimeFormat have been parsing the milliseconds wrong, if the string contained less than three digits.
Modified: webservices/jaxme/branches/MAVEN/.classpath webservices/jaxme/branches/MAVEN/projects/xs/src/main/java/org/apache/ws/jaxme/xs/util/XsDateTimeFormat.java webservices/jaxme/branches/MAVEN/projects/xs/src/test/java/org/apache/ws/jaxme/xs/junit/FormatTest.java webservices/jaxme/branches/MAVEN/projects/xs/xdocs/changes.xml Modified: webservices/jaxme/branches/MAVEN/.classpath URL: http://svn.apache.org/viewcvs/webservices/jaxme/branches/MAVEN/.classpath?rev=405692&r1=405691&r2=405692&view=diff ============================================================================== --- webservices/jaxme/branches/MAVEN/.classpath (original) +++ webservices/jaxme/branches/MAVEN/.classpath Wed May 10 02:39:46 2006 @@ -22,5 +22,6 @@ <classpathentry kind="src" path="projects/xs/src/main/java"/> <classpathentry kind="src" path="projects/xs/src/test/java"/> <classpathentry kind="src" path="projects/jm/target/test-classes"/> + <classpathentry kind="src" path="projects/pm/target/test-classes"/> <classpathentry kind="output" path="bin"/> </classpath> Modified: webservices/jaxme/branches/MAVEN/projects/xs/src/main/java/org/apache/ws/jaxme/xs/util/XsDateTimeFormat.java URL: http://svn.apache.org/viewcvs/webservices/jaxme/branches/MAVEN/projects/xs/src/main/java/org/apache/ws/jaxme/xs/util/XsDateTimeFormat.java?rev=405692&r1=405691&r2=405692&view=diff ============================================================================== --- webservices/jaxme/branches/MAVEN/projects/xs/src/main/java/org/apache/ws/jaxme/xs/util/XsDateTimeFormat.java (original) +++ webservices/jaxme/branches/MAVEN/projects/xs/src/main/java/org/apache/ws/jaxme/xs/util/XsDateTimeFormat.java Wed May 10 02:39:46 2006 @@ -172,6 +172,13 @@ offset = parseInt(pString, offset, digits); if (digits.length() > 0) { millis = Integer.parseInt(digits.toString()); + if (millis > 999) { + pParsePosition.setErrorIndex(offset); + return null; + } + for (int i = digits.length(); i < 3; i++) { + millis *= 10; + } } else { millis = 0; } Modified: webservices/jaxme/branches/MAVEN/projects/xs/src/test/java/org/apache/ws/jaxme/xs/junit/FormatTest.java URL: http://svn.apache.org/viewcvs/webservices/jaxme/branches/MAVEN/projects/xs/src/test/java/org/apache/ws/jaxme/xs/junit/FormatTest.java?rev=405692&r1=405691&r2=405692&view=diff ============================================================================== --- webservices/jaxme/branches/MAVEN/projects/xs/src/test/java/org/apache/ws/jaxme/xs/junit/FormatTest.java (original) +++ webservices/jaxme/branches/MAVEN/projects/xs/src/test/java/org/apache/ws/jaxme/xs/junit/FormatTest.java Wed May 10 02:39:46 2006 @@ -16,6 +16,7 @@ */ package org.apache.ws.jaxme.xs.junit; +import java.text.Format; import java.text.ParseException; import java.util.Calendar; import java.util.TimeZone; @@ -181,5 +182,19 @@ expect = getCalendar(TimeZone.getTimeZone("GMT-03:00")); Calendar got = (Calendar) format.parseObject(dateTime); assertEqualTime(expect, got); + } + + /** Tests, whether e zero as suffix matters in milliseconds. + */ + public void testZeroSuffix() throws Exception { + Format format = new XsDateTimeFormat(); + Calendar c1 = (Calendar) format.parseObject("2006-05-03T15:29:17.15Z"); + Calendar c2 = (Calendar) format.parseObject("2006-05-03T15:29:17.150Z"); + assertEquals(c1, c2); + + format = new XsTimeFormat(); + c1 = (Calendar) format.parseObject("15:29:17.15Z"); + c2 = (Calendar) format.parseObject("15:29:17.150Z"); + assertEquals(c1, c2); } } Modified: webservices/jaxme/branches/MAVEN/projects/xs/xdocs/changes.xml URL: http://svn.apache.org/viewcvs/webservices/jaxme/branches/MAVEN/projects/xs/xdocs/changes.xml?rev=405692&r1=405691&r2=405692&view=diff ============================================================================== --- webservices/jaxme/branches/MAVEN/projects/xs/xdocs/changes.xml (original) +++ webservices/jaxme/branches/MAVEN/projects/xs/xdocs/changes.xml Wed May 10 02:39:46 2006 @@ -20,7 +20,13 @@ <title>Releases</title> </properties> <body> - <release version="0.5" date="Not yet published"> + <release version="0.6-dev" date="Not yet published"> + <action dev="JW" type="fix" context="xs"> + The classes XsDateTimeFormat, and XsTimeFormat have been parsing the milliseconds wrong, + if the string contained less than three digits. + </action> + </release> + <release version="0.5" date="2005-Aug-08"> </release> <release version="0.5beta" date="2005-Jul-13"> </release> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]