Priyanka Bharti created OLINGO-1373:
---------------------------------------
Summary: Olingo Liabrary is not able to parse DataTime with
nanosecond value which is other than 0 divisible by 1000000
Key: OLINGO-1373
URL: https://issues.apache.org/jira/browse/OLINGO-1373
Project: Olingo
Issue Type: Bug
Reporter: Priyanka Bharti
Fix For: V2 2.0.11, V2 2.0.10
Olingo is not able to parse DataTime value where nanosecond is not 0 or
divisible by 1000000
eg: 2014-01-10T20:02:08.8757980Z
I have debugged the issue, this issue is happening because of wrong validation
of DateTime format in olingo library.
Class: org.apache.olingo.odata2.core.edm.EdmDateTimeOffset.class
_if ((nanoSeconds % 1000000 != 0) &&
(!(returnType.isAssignableFrom(Timestamp.class)))) {_
_/* 119 */ throw new
EdmSimpleTypeException(EdmSimpleTypeException.LITERAL_ILLEGAL_CONTENT.addContent(new
Object[] \{ value }));_
_/* */ }_
As per above code olingo expects the nanosecond should always be 0 or divisible
by 1000000, Which is not the case in *StartDateTime* field of *Task*
businessObject.
*Valid payload:*
<d:DueDateTime m:type="c4codata.LOCALNORMALISED_DateTime">
<d:timeZoneCode/>
<d:content>2014-01-10T20:32:08.0000000Z</d:content>
</d:DueDateTime>
*Invalid Payload:*
**
<d:StartDateTime m:type="c4codata.LOCALNORMALISED_DateTime">
<d:timeZoneCode/>
<d:content>2014-01-10T20:02:08.8757980Z</d:content>
</d:StartDateTime>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)