You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jaxme-dev@ws.apache.org by jo...@apache.org on 2006/05/10 11:39:47 UTC

svn commit: r405692 - in /webservices/jaxme/branches/MAVEN: .classpath projects/xs/src/main/java/org/apache/ws/jaxme/xs/util/XsDateTimeFormat.java projects/xs/src/test/java/org/apache/ws/jaxme/xs/junit/FormatTest.java projects/xs/xdocs/changes.xml

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: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org