Author: jochen
Date: Wed May 10 02:26:25 2006
New Revision: 405689

URL: http://svn.apache.org/viewcvs?rev=405689&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/b0_5/src/xs/org/apache/ws/jaxme/xs/junit/FormatTest.java
    
webservices/jaxme/branches/b0_5/src/xs/org/apache/ws/jaxme/xs/util/XsDateTimeFormat.java
    webservices/jaxme/branches/b0_5/status.xml

Modified: 
webservices/jaxme/branches/b0_5/src/xs/org/apache/ws/jaxme/xs/junit/FormatTest.java
URL: 
http://svn.apache.org/viewcvs/webservices/jaxme/branches/b0_5/src/xs/org/apache/ws/jaxme/xs/junit/FormatTest.java?rev=405689&r1=405688&r2=405689&view=diff
==============================================================================
--- 
webservices/jaxme/branches/b0_5/src/xs/org/apache/ws/jaxme/xs/junit/FormatTest.java
 (original)
+++ 
webservices/jaxme/branches/b0_5/src/xs/org/apache/ws/jaxme/xs/junit/FormatTest.java
 Wed May 10 02:26:25 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/b0_5/src/xs/org/apache/ws/jaxme/xs/util/XsDateTimeFormat.java
URL: 
http://svn.apache.org/viewcvs/webservices/jaxme/branches/b0_5/src/xs/org/apache/ws/jaxme/xs/util/XsDateTimeFormat.java?rev=405689&r1=405688&r2=405689&view=diff
==============================================================================
--- 
webservices/jaxme/branches/b0_5/src/xs/org/apache/ws/jaxme/xs/util/XsDateTimeFormat.java
 (original)
+++ 
webservices/jaxme/branches/b0_5/src/xs/org/apache/ws/jaxme/xs/util/XsDateTimeFormat.java
 Wed May 10 02:26:25 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/b0_5/status.xml
URL: 
http://svn.apache.org/viewcvs/webservices/jaxme/branches/b0_5/status.xml?rev=405689&r1=405688&r2=405689&view=diff
==============================================================================
--- webservices/jaxme/branches/b0_5/status.xml (original)
+++ webservices/jaxme/branches/b0_5/status.xml Wed May 10 02:26:25 2006
@@ -38,6 +38,10 @@
         The TaminoAPI4JPM wasn't supporting query parameters.
         (Theo Straeten, theo.straeten at softwareag.com)
       </action>
+      <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.1" date="06-Jan-2006">
       <action dev="JW" type="enhancement" context="js">



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to