RFR (JAXP): 8033980 : Xerces Update: datatype XMLGregorianCalendarImpl and DurationImpl
huizhe wang
huizhe.wang at oracle.com
Wed Feb 12 04:26:41 UTC 2014
Hi Lance, Daniel,
I suggest we take this incompatibility and document it in the release
notes (we'll likely have more). I reversed DurationImpl and then
realized why the Xerces engineers made the incompatibility change when I
started on XMLGregorianCalendarImpl. It was because
XMLGregorianCalendarImpl did not implement what was recommended, using
the lexical form for serialization. In the original implementation
therefore, the impl between XMLGregorianCalendarImpl and DurationImpl
was not consistent.
Keeping this Xerces revision makes the serialization consistent in both
classes and adds the benefit of having the same source as that of Xerces.
Thanks,
Joe
On 2/11/2014 10:56 AM, huizhe wang wrote:
>
> On 2/11/2014 9:05 AM, Daniel Fuchs wrote:
>> On 2/11/14 5:55 PM, Lance @ Oracle wrote:
>>> Hi joe
>>>
>>> It looks like you changed the serialversionuid in Durationimpl, did
>>> it get changed incorrectly previously?
>>
>> I noticed that as well, but I'm not sure it matters since Duration
>> uses writeReplace to serialize itself as an instance of
>> SerializedDuration. Is that correct Joe?
>
> Yes, it's serialized as an instance of SerializedDuration, similar to
> the calendar where it's SerializedXMLGregorianCalendar.
>
>>
>> If I'm not mistaken it also means that the serialization forms
>> (before & after the change) are not compatible - but is that an
>> issue for such internal classes?
>
> Indeed, it's probably an issue since the binary is not compatible. It
> looks like this change should be rolled back.
>
> -Joe
>
>>
>> best regards,
>>
>> -- daniel
>>
>>>
>>>
>>> Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
>>> Oracle Java Engineering
>>> 1 Network Drive
>>> Burlington, MA 01803
>>> Lance.Andersen at oracle.com
>>> Sent from my iPad
>>>
>>> On Feb 10, 2014, at 6:53 PM, huizhe wang <huizhe.wang at oracle.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> This is an update from Xerces for two datatype classes
>>>> XMLGregorianCalendarImpl and DurationImpl. For details, please
>>>> refer to:
>>>> https://bugs.openjdk.java.net/browse/JDK-8033980
>>>>
>>>> webrevs: http://cr.openjdk.java.net/~joehw/jdk9/8033980/webrev/
>>>>
>>>> Tests included for: 1243, 1416, 1097 (Note that JDK did not have
>>>> this bug)
>>>>
>>>> No test:
>>>> 1343: remove unused code
>>>>
>>>> Existing tests: JAXP SQE and Unit tests passed.
>>>>
>>>> Thanks,
>>>> Joe
>>
>
More information about the core-libs-dev
mailing list