| Summary: | Enhancement: Add ability to refresh JAXBContext based on metadata changes | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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: | eclipselink.oxm-inbox | ||||||||||||||||||||||||||||
| Version: | unspecified | ||||||||||||||||||||||||||||||
| Target Milestone: | --- | ||||||||||||||||||||||||||||||
| Hardware: | PC | ||||||||||||||||||||||||||||||
| OS: | Windows XP | ||||||||||||||||||||||||||||||
| Whiteboard: | |||||||||||||||||||||||||||||||
| Attachments: |
|
||||||||||||||||||||||||||||||
|
Description
Blaise Doughan
Created attachment 193878 [details]
Core - Fix
Created attachment 193879 [details]
MOXy - Fix
Created attachment 194104 [details]
Core - Fix (Phase 1)
In Phase 1:
- Introduced a new inner class on XMLContext called XMLContextState
- XMLContextState is responsible for holding onto all of an XMLContext's state, when the refresh is implemented this will allow a single object to be swapped.
- All of an XMLContexts operations are based on an instance of XMLContextState. If the XMLContextState were to be swapped, the operation would continue against the same XMLContextState it started with.
Created attachment 194105 [details]
MOXy - Fix (Phase 1)
In Phase 1:
- Introduced a new inner class on JAXBContext called JAXBContextState
- JAXBContextState is responsible for holding onto all of an JAXBContext's state, when the refresh is implemented this will allow a single object to be swapped.
- All of a JAXBContexts operations are based on an instance of JAXBContextState. If the JAXBContextState were to be swapped, the operation would continue against the same JAXBContextState it started with.
- Introduced a new inner class on JAXBContext called JAXBContextInput
- JAXBContextInput now contains the logic for creating a JAXBContext (atleast the state), that was previously the responsibility of JAXBContextFactory.
Phase #1 - Checked into trunk at rev: 9266 Created attachment 194164 [details]
Core - Fix (Phase 2)
Created attachment 194165 [details]
MOXy - Fix (Phase 2)
Created attachment 195400 [details]
Core - Fix (Phase 2)
Created attachment 195401 [details]
MOXy - Fix (Phase 2)
Created attachment 195428 [details]
MOXy - Test Cases
Created attachment 195522 [details]
Core - Fix (Phase 2)
Created attachment 195523 [details]
MOXy - Test Cases
Created attachment 195533 [details]
Core - Fix (Phase 2)
Created attachment 195534 [details]
MOXy - Test Cases
Fix checked into trunk at rev: 9371 Code reviewed by: Matt MacIvor Fix Details: - Added a refeshMetadata method to JAXBContext - Added accessors for XMLContextState on xmlContext - XMLBinder now copies the XMLContext passed to it, to protect itself from a refresh. The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink |