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]