private static DataFormatDefinition processDataFormatType(RouteContext routeContext, String ref, DataFormatDefinition dformatDefinition) { if ( dformatDefinition == null ) { if ( "json".equals( ref ) ) { dformatDefinition = new XStreamDataFormat(); ((XStreamDataFormat) dformatDefinition).setDriver( "json" ); } else if ( "xstream".equals( ref ) ) { dformatDefinition = new XStreamDataFormat(); } else if ( "jaxb".equals( ref ) ) { dformatDefinition = new JaxbDataFormat(); } else { dformatDefinition = routeContext.getCamelContext().resolveDataFormatDefinition( ref ); } } // always clone before changing dformatDefinition = new FastCloner().deepClone( dformatDefinition ); if ( dformatDefinition instanceof JaxbDataFormat ) { dformatDefinition = augmentJaxbDataFormatDefinition( (JaxbDataFormat) dformatDefinition ); } else if ( dformatDefinition instanceof XStreamDataFormat ) { XStreamDataFormat xstreamDataFormat = (XStreamDataFormat) dformatDefinition; if ( "json".equals( xstreamDataFormat.getDriver() ) ) { dformatDefinition = XStreamJson.newJSonMarshaller( xstreamDataFormat );; } else { dformatDefinition = XStreamXml.newXStreamMarshaller( (XStreamDataFormat) dformatDefinition ); } } return dformatDefinition; }
private static DataFormatDefinition processDataFormatType(RouteContext routeContext, String ref, DataFormatDefinition dformatDefinition) { if ( dformatDefinition == null ) { if ( "json".equals( ref ) ) { dformatDefinition = new XStreamDataFormat(); ((XStreamDataFormat) dformatDefinition).setDriver( "json" ); } else if ( "xstream".equals( ref ) ) { dformatDefinition = new XStreamDataFormat(); } else if ( "jaxb".equals( ref ) ) { dformatDefinition = new JaxbDataFormat(); } else { dformatDefinition = routeContext.getCamelContext().resolveDataFormatDefinition( ref ); } } // always clone before changing dformatDefinition = new FastCloner().deepClone( dformatDefinition ); if ( dformatDefinition instanceof JaxbDataFormat ) { dformatDefinition = augmentJaxbDataFormatDefinition( (JaxbDataFormat) dformatDefinition ); } else if ( dformatDefinition instanceof XStreamDataFormat ) { XStreamDataFormat xstreamDataFormat = (XStreamDataFormat) dformatDefinition; if ( "json".equals( xstreamDataFormat.getDriver() ) ) { dformatDefinition = XStreamJson.newJSonMarshaller( xstreamDataFormat );; } else { dformatDefinition = XStreamXml.newXStreamMarshaller( (XStreamDataFormat) dformatDefinition ); } } return dformatDefinition; }