Task #7846

Story #7832: migrate from JibX to JAXB for XML binding / codegen

set up types to use JAXB, add JAXB logic to TypeMarshaller

Added by Rob Nahf almost 6 years ago. Updated almost 6 years ago.

Target version:
Start date:
Due date:
% Done:


Product Version:
Story Points:


add annotations, ObjectFactory, for each namespace (v1, v1_1, v2)

Associated revisions

Revision 18215
Added by Rob Nahf almost 6 years ago

refs: #7844, #7845, #7846. Added JAXB annotations and ObjectFactories, and refactored TypeMarshaller to use JAXB.
JibX logic has not been removed yet (but is not used).

Revision 18250
Added by Rob Nahf almost 6 years ago

refs #7846: refactored types to use new DateMarshallingAdapter. refs #7852: performance testing. Added Marshaller, Unmarshaller caching logic to TypeMarshaller for performance testing, as well as peformance tests to TypeMarshallerTestCase.


#1 Updated by Rob Nahf almost 6 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 30

used xjc to generate template class files
copied annotations into existing class files in d1_common_java

Copied over the generated ObjectFactory and package-info classes into the d1_common_java.

The v1_1 types were generated in the v1 package, but I kept our existing structure (types.v1, types.v1_1, types.v2). This meant that I had to create a v1_1 ObjectFactory by extracting methods related to v1_1 classes from the v1.ObjectFactory.

The autogenerated classes did not create annotations for @XmlRootElement for most classes, which will have to be addressed for cloning.
Also, ObjectFormatIdentifier was coded as a string, so needs some extra annotations to have it serialize properly.

XML dates were also mapped to XmlGregorianCalendar Java class, which I simplified to java.util.Date.
Some special test will need to be made to make sure it was legit to do this without an adapter.

#2 Updated by Rob Nahf almost 6 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 30 to 100
  • translation missing: en.field_remaining_hours set to 0.0

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)