| Summary: | MOXy: Attributes not handled correctly for choice mappings containing object references during unmarshal | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | David McCann <david.mccann> | ||||||
| Component: | Eclipselink | Assignee: | Nobody - feel free to take it <nobody> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | ||||||||
| Version: | unspecified | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
We will most-likely require this fix in the collection case as well. Created attachment 184371 [details]
Proposed fix
Created attachment 184372 [details]
Supporting tests + updated build.xml
build.xml was updated to exclude the choice tests for deployment xml.
Reviewed by: matt.macivor@oracle.com Tests: all SDO/MOXy unit tests pass as expected; oxm/mappings/choice/ref/XMLChoiceWithReferenceTestCases Revision: 8601 Fixed. The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink |
For unmarshal in the single case, where an attribute is used to set up an underlying reference mapping, we should be calling attribute() on the XMLChoiceObjectMappingNodeValue - which will simply call attribute() on the underlying choice element node value. For example: /** * The underlying choice element node value will handle attributes. * */ public void attribute(UnmarshalRecord unmarshalRecord, String URI, String localName, String value) { this.choiceElementNodeValue.attribute(unmarshalRecord, URI, localName, value); }