| Summary: | Externalized Metadata - Unnecessary Classes Processed | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Blaise Doughan <blaise.doughan> | ||||||
| Component: | Eclipselink | Assignee: | Nobody - feel free to take it <nobody> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | matt.macivor | ||||||
| Version: | unspecified | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
Created attachment 180740 [details]
sample projects that demonstrate the problem
one project is the jaxb-ri project that "works fine" and the other one (jaxb-moxy) is using moxy and externalized metadata.
The problem occurs irrespective of the placement of the XmlJavaTypeAdapter (the unmappable class itself, the package where the unamppable type is used or the unmappable property).
Created attachment 180829 [details]
Proposed Fix
Attached patch checked into SVN in trunk. Leaving bug open pending backport into 2.1.3 stream. The decision was made to not backport this fix to 2.1.3. The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink |
When externalized metadata is used it is possible that extra classes are unecessarily processed. For example: When processing annotated classes: public class Container { @XmlJavaTypeAdapter(adapters.UnmappableAdapter.class) private Unmappable containerProperty; } We do not process the Unmappable class. If however the XmlJavaTypeAdapter is specified in XML we will process the Unmappable class. If the Unmappable class is missing a default constructor MOXy will throw an exception.