You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2015/03/01 09:30:04 UTC

[jira] [Commented] (CAMEL-8332) Add component implementation to camel-dozer module

    [ https://issues.apache.org/jira/browse/CAMEL-8332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14342065#comment-14342065 ] 

Claus Ibsen commented on CAMEL-8332:
------------------------------------

Keith any last chance for code changes.

Also would be good if you get the chance to update the docs. Though that can also slip post the release, but ideally better to have the docs ready when its released.

> Add component implementation to camel-dozer module
> --------------------------------------------------
>
>                 Key: CAMEL-8332
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8332
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-dozer
>            Reporter: Keith Babo
>            Assignee: Claus Ibsen
>             Fix For: 2.15.0
>
>
> The camel-dozer component does not actually provide a Camel component implementation today.  Rather, it provides a converter loader which can be used in combination with a set of Dozer mapping files to register a global set of converters within a CamelContext.  This issue proposes the addition of a full-blown component implementation within camel-dozer.  Advantages of this approach include:
> * The ability to manage Dozer mapping configuration on a per-endpoint basis vs. global configuration via the converter registry.
> * Dozer handles direct field assignment quite well, but does not provide other common mapping functions OOTB.  Camel can enrich Dozer via standard Dozer extensions, e.g.
> ** Mapping constant values to target fields
> ** Support for lookup tables, using the source value as the key
> ** Convenience transformations for mappings (e.g. trim spaces, convertToLowerCase, regular expression evaluation)
> ** Allow Camel message/exchange headers to be mapped to target fields
> * The ability to surround dozer mappings with data formats to support a single, any-to-any transformation endpoint
> Here's an example of what the endpoint configuration would look like.
> {noformat}
> dozer:mytransform?mappingFile=dozerBeanMapping.xml&marshalId=json&unmarshalId=jaxb&targetModel=example.MyObject
> {noformat}
> An initial implementation of this component is available as a PR against the Camel GitHub repository.  Unit tests in the PR provide examples of various transformation use cases.  Many, but not all, of the features listed above are implemented already.  I can file follow-up JIRAs for additional features I have in mind.  I will also post a link to the PR and the topic branch in the issue comments.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)