Project

General

Profile

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 over 7 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
2016-07-16
Due date:
% Done:

100%

Milestone:
None
Product Version:
*
Story Points:
Sprint:

Description

add annotations, ObjectFactory, package-info.java for each namespace (v1, v1_1, v2)

Associated revisions

Revision 18215
Added by Rob Nahf over 7 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 over 7 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.

History

#1 Updated by Rob Nahf over 7 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 over 7 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)