Community
Participate
Working Groups
Please see attached test case. The OXM file specifies that the ComputerAdapter should handle marshalling/unmarshalling fields of type Computer (this is a package-level XMLAdapter). We set up the XMLAdapter on the property, but because the 'computer' element is defined in the OXM, the property gets overwritten and the XMLAdapter information is lost. If the 'computer' element definition is removed from the OXM, the correct result is marshalled: <?xml version="1.0" encoding="UTF-8"?> <ns0:person ...> <person-name>Jim Watson</person-name> <computer>121531298::48261593::C</computer> </ns0:person> Note that in addition, the the Dynamic case, we must make sure that the type information from the OXM is applied before we process the XMLAdapter, so that the proper type information will be in place (otherwise all attributes will still be typed as Object).
Created attachment 180674 [details] Test Case demonstrating bug.
Created attachment 182497 [details] Proposed fix and readded test case
Attached patch checked into SVN
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink