Difference between revisions of "EclipseLink/Development/MOXy"

From Eclipsepedia

Jump to: navigation, search
(EclipseLink2.5)
m (EclipseLink 2.6)
Line 5: Line 5:
 
** [http://wiki.eclipse.org/EclipseLink/DesignDocs/384399 Design doc]
 
** [http://wiki.eclipse.org/EclipseLink/DesignDocs/384399 Design doc]
 
*** Separate MOXy bundles from other EclipseLink components to reduce install size and simplify bundling with other 3rd party products.
 
*** Separate MOXy bundles from other EclipseLink components to reduce install size and simplify bundling with other 3rd party products.
 +
* '''Java API for JSON Processing'''
 +
** [http://bugs.eclipse.org/405161
 
* '''Generate JSON Schema from MOXy Annotated Model'''
 
* '''Generate JSON Schema from MOXy Annotated Model'''
 
** [http://bugs.eclipse.org/404452 Bug 404452 - Enhancement Request: Generate JSON Schema from MOXy Annotated Model]
 
** [http://bugs.eclipse.org/404452 Bug 404452 - Enhancement Request: Generate JSON Schema from MOXy Annotated Model]

Revision as of 14:47, 8 April 2013

Contents

Roadmap

EclipseLink 2.6

The theme of this release is reducing MOXy's install footprint and supporting JSON schema.


EclipseLink2.5

The theme of this release is RESTful services. Much of the work that was done was to make it easier for users to create RESTful services with MOXy easier either standalone or by leveraging JPA-RS.


EclipseLink2.4

  • Object binding to JSON
  • Glassfish/WLS Service Integrations
    • JAX-RS
      • Develop set of JAX-RS server tests for execution across supported app servers (starting with WLS, GF)
    • JAX-WS
      • JAX-WS CTS, TCK tests running using MOXy as JAXB binding provider in WLS environment
  • Feature extensions
    • Set of feature mirroring JAXB RI extensions - each of these need to be validated and approved.
    • NamespacePrefixMapper (Matt)
      • The MOXy equivalent would be a interface that users could Implement to configure the NamespaceResolver.
    • @com.sun.xml.bind.annotation.OverrideAnnotationOf
    • @com.sun.xml.bind.annotation.XmlIsSet
      • This is comparable to existing @XmlIsSetNullPolicy
    • @com.sun.xml.bind.annotation.XmlLocation
      • This annotation is placed on a field /property of type Locator, and is used to capture the XML location of where the object is unmarshalled from.
    • com.sun.xml.bind.CycleRecoverable
      • Similar to MOXy’s @XmlInverseReference, except that it is an interface implemented by the POJO instead of an annotation.
    • com.sun.xml.bind.v2.model.annotation Locatable
      • Locatable forms a tree structure, where each Locatable points back to the upstream Locatable. For example, imagine Locatable X that points to a particular annotation, whose upstream is Locatable Y, which points to a particular method (on which the annotation is put), whose upstream is Locatable Z, which points to a particular class (in which the method is defined), whose upstream is Locatable W, which points to another class (which refers to the class Z), and so on.
    • com.sun.xml.bind.v2.runtime.reflect.AccessorFactory
      • Provides a way to provide a custom AttributeAccessor.
    • IDResolver
  • Bug backlog

EclipseLink2.3

  • JPA RESTful services
  • Extend entities
    • Allow a user to start with a predesigned JAXBContext and add mappings to the entities without the need for the context to be recreated.
    • 339373 - Enhancement: Multiple Binding File Support.
    • 339383 - Enhancement: Persist metadata modifications made at runtime
    • 339377 - Enhancement: Programmatic means of adding mapping to an initialized XMLDescriptor at runtime
    • 339381 - Enhancement: XML Extensions.
  • Mapping enhancements
    • Externalize Mappings
    • MOXy support for mapping with predicates
    • MOXy support for multiple eclipselink-oxm.xml mapping files
    • MOXy support for custom XML name conversions
  • Integration points
    • JAX-WS2.0: TCK passing when using EclipseLink as JAXB provider
  • Performance, Memory usage
    • Improvements to memory footprint associated with SDOHelperContext
    • Analysis of memory footprint when running in a Cloud service environment
  • Customizable Name Mangling Algorithm
  • Bug backlog

EclipseLink2.2


Backlog of development items (MOXY, SDO)

  1. Diagnostics, Logging
    1. Similarly, need to improve this when being invoked within a Cloud service
  2. JAXB extensions
    1. Identify features to continue to align ourselves with reference implementation
  3. Integration points
    1. JAXB on Glassfish: Test our current level of support
    2. Improve large document support
  4. OSGi testing strategy
    1. Ability to create pure JAXB bundle
  5. Performance
    1. Reduce use of Lexical Handler
    2. SDO: Improve post processing of unmarshalling SDO Objects
  6. SDO3.0 feature work
    • New bootstrap API
    • Improve class generation to include new SDO 3.0 annotations
    • Enhanced key based relationships
      • Composite keys
      • Embedded key objects
    • Property Improvements
      • XML XPath based property access
      • Orphan properties
      • Enum support
    • Import - Moving DataObjects between HelperContexts
  7. Bug backlog