Hi Claus,

I checked the module class JsonDataFormat. As it just provide common option 
settings for json-xstream, json-jackson and json-gson, I’m afraid I cannot add 
enableJaxbAnnotation option there. 


--  
Willem Jiang

Red Hat, Inc.
Web: http://www.redhat.com
Blog: http://willemjiang.blogspot.com (English)
http://jnn.iteye.com (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem



On September 24, 2014 at 5:11:28 PM, Claus Ibsen ([email protected]) wrote:
> 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, 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  
> > Authored: Wed Sep 24 17:01:40 2014 +0800
> > Committer: Willem Jiang  
> > 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