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