Hi

You need to set a new option as well in the model class, so people can
configure it from xml dsl tool.

On Wed, Sep 24, 2014 at 11:02 AM,  <[email protected]> wrote:
> Repository: camel
> Updated Branches:
>   refs/heads/master 46ef7cd52 -> cff3b1174
>
>
> CAMEL-7858 Allow to disable Jaxb annotations in JacksonDataFormat
>
>
> Project: http://git-wip-us.apache.org/repos/asf/camel/repo
> Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/cff3b117
> Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/cff3b117
> Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/cff3b117
>
> Branch: refs/heads/master
> Commit: cff3b11749b45ea19c281b73df90c819936fa6b9
> Parents: 46ef7cd
> Author: Willem Jiang <[email protected]>
> Authored: Wed Sep 24 17:01:40 2014 +0800
> Committer: Willem Jiang <[email protected]>
> Committed: Wed Sep 24 17:02:02 2014 +0800
>
> ----------------------------------------------------------------------
>  .../component/jackson/JacksonDataFormat.java    | 21 +++++++++++++++++---
>  .../jackson/ListJacksonDataFormat.java          |  5 +++++
>  2 files changed, 23 insertions(+), 3 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/camel/blob/cff3b117/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
> ----------------------------------------------------------------------
> diff --git 
> a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
>  
> b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
> index fd50ca6..e567047 100644
> --- 
> a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
> +++ 
> b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/JacksonDataFormat.java
> @@ -73,13 +73,28 @@ public class JacksonDataFormat extends ServiceSupport 
> implements DataFormat {
>       *                 See also http://wiki.fasterxml.com/JacksonJsonViews
>       */
>      public JacksonDataFormat(Class<?> unmarshalType, Class<?> jsonView) {
> +        this(unmarshalType, jsonView, true);
> +    }
> +
> +    /**
> +     * Use the default Jackson {@link ObjectMapper} and with a custom
> +     * unmarshal type and JSON view
> +     *
> +     * @param unmarshalType the custom unmarshal type
> +     * @param jsonView marker class to specify properties to be included 
> during marshalling.
> +     *                 See also http://wiki.fasterxml.com/JacksonJsonViews
> +     * @param enableJaxbAnnotationModule if it is true, will enable the 
> JaxbAnnotationModule.
> +     */
> +    public JacksonDataFormat(Class<?> unmarshalType, Class<?> jsonView, 
> boolean enableJaxbAnnotationModule) {
>          this.objectMapper = new ObjectMapper();
>          this.unmarshalType = unmarshalType;
>          this.jsonView = jsonView;
>
> -        // Enables JAXB processing
> -        JaxbAnnotationModule module = new JaxbAnnotationModule();
> -        this.objectMapper.registerModule(module);
> +        if (enableJaxbAnnotationModule) {
> +            // Enables JAXB processing
> +            JaxbAnnotationModule module = new JaxbAnnotationModule();
> +            this.objectMapper.registerModule(module);
> +        }
>      }
>
>      /**
>
> http://git-wip-us.apache.org/repos/asf/camel/blob/cff3b117/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/ListJacksonDataFormat.java
> ----------------------------------------------------------------------
> diff --git 
> a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/ListJacksonDataFormat.java
>  
> b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/ListJacksonDataFormat.java
> index cfe78a0..f7ab2ec 100644
> --- 
> a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/ListJacksonDataFormat.java
> +++ 
> b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/ListJacksonDataFormat.java
> @@ -36,6 +36,11 @@ public class ListJacksonDataFormat extends 
> JacksonDataFormat {
>          super(unmarshalType, jsonView);
>          useList();
>      }
> +
> +    public ListJacksonDataFormat(Class<?> unmarshalType, Class<?> jsonView, 
> boolean enableJaxbAnnotationModule) {
> +        super(unmarshalType, jsonView, enableJaxbAnnotationModule);
> +        useList();
> +    }
>
>      public ListJacksonDataFormat(ObjectMapper mapper, Class<?> 
> unmarshalType) {
>          super(mapper, unmarshalType);
>



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: [email protected]
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/

Reply via email to