Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
(Java) V4 4.0.0-beta-01
-
None
Description
EdmDate and EdmTimeOfDay both assume GMT for incoming string values - however when the convert from Java objects to string they use the local/default Calendar.
OData TC says parsing Date or Time should be exactly same in every time zone.
This highlights the issue with EdmDate:
TimeZone.setDefault(TimeZone.getTimeZone("GMT-1"));
java.sql.Timestamp date = EdmDate.getInstance().valueOfString("2000-01-01", true, 4000, 0, 0, true, java.sql.Timestamp.class);
assertEquals("1999-12-31 23:00:00.0", date.toString());
String val = EdmDate.getInstance().valueToString(date, true, 4000, 0, 0, true);
assertEquals("2000-01-01", date.toString());
The last line fails because the date will be "1999-12-31" instead.
Linked issue at https://issues.jboss.org/browse/TEIID-3938
Attachments
Issue Links
- relates to
-
OLINGO-887 Failure in EdmDateTest.valueToString:56
- Closed