You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2016/06/10 11:02:44 UTC

[5/8] camel git commit: CAMEL-10041: Generate spring-boot auto configuration for all Camel data formats that has options that can be configured.

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityFixedWidthDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityFixedWidthDataFormatConfiguration.java b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityFixedWidthDataFormatConfiguration.java
new file mode 100644
index 0000000..c7028aa
--- /dev/null
+++ b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityFixedWidthDataFormatConfiguration.java
@@ -0,0 +1,233 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.univocity.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel UniVocity parsers data format support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.univocity-fixed")
+public class UniVocityFixedWidthDataFormatConfiguration {
+
+    /**
+     * Whether or not the trailing characters until new line must be ignored.
+     * The default value is false
+     */
+    private Boolean skipTrailingCharsUntilNewline;
+    /**
+     * Whether or not the record ends on new line. The default value is false
+     */
+    private Boolean recordEndsOnNewline;
+    /**
+     * The padding character. The default value is a space
+     */
+    private String padding;
+    /**
+     * The string representation of a null value. The default value is null
+     */
+    private String nullValue;
+    /**
+     * Whether or not the empty lines must be ignored. The default value is true
+     */
+    private Boolean skipEmptyLines;
+    /**
+     * Whether or not the trailing white spaces must ignored. The default value
+     * is true
+     */
+    private Boolean ignoreTrailingWhitespaces;
+    /**
+     * Whether or not the leading white spaces must be ignored. The default
+     * value is true
+     */
+    private Boolean ignoreLeadingWhitespaces;
+    /**
+     * Whether or not the headers are disabled. When defined this option
+     * explicitly sets the headers as null which indicates that there is no
+     * header. The default value is false
+     */
+    private Boolean headersDisabled;
+    /**
+     * Whether or not the header must be read in the first line of the test
+     * document The default value is false
+     */
+    private Boolean headerExtractionEnabled;
+    /**
+     * The maximum number of record to read.
+     */
+    private Integer numberOfRecordsToRead;
+    /**
+     * The String representation of an empty value
+     */
+    private String emptyValue;
+    /**
+     * The line separator of the files The default value is to use the JVM
+     * platform line separator
+     */
+    private String lineSeparator;
+    /**
+     * The normalized line separator of the files The default value is \n
+     */
+    private String normalizedLineSeparator;
+    /**
+     * The comment symbol. The default value is
+     */
+    private String comment;
+    /**
+     * Whether the unmarshalling should produce an iterator that reads the lines
+     * on the fly or if all the lines must be read at one. The default value is
+     * false
+     */
+    private Boolean lazyLoad;
+    /**
+     * Whether the unmarshalling should produce maps for the lines values
+     * instead of lists. It requires to have header (either defined or
+     * collected). The default value is false
+     */
+    private Boolean asMap;
+
+    public Boolean getSkipTrailingCharsUntilNewline() {
+        return skipTrailingCharsUntilNewline;
+    }
+
+    public void setSkipTrailingCharsUntilNewline(
+            Boolean skipTrailingCharsUntilNewline) {
+        this.skipTrailingCharsUntilNewline = skipTrailingCharsUntilNewline;
+    }
+
+    public Boolean getRecordEndsOnNewline() {
+        return recordEndsOnNewline;
+    }
+
+    public void setRecordEndsOnNewline(Boolean recordEndsOnNewline) {
+        this.recordEndsOnNewline = recordEndsOnNewline;
+    }
+
+    public String getPadding() {
+        return padding;
+    }
+
+    public void setPadding(String padding) {
+        this.padding = padding;
+    }
+
+    public String getNullValue() {
+        return nullValue;
+    }
+
+    public void setNullValue(String nullValue) {
+        this.nullValue = nullValue;
+    }
+
+    public Boolean getSkipEmptyLines() {
+        return skipEmptyLines;
+    }
+
+    public void setSkipEmptyLines(Boolean skipEmptyLines) {
+        this.skipEmptyLines = skipEmptyLines;
+    }
+
+    public Boolean getIgnoreTrailingWhitespaces() {
+        return ignoreTrailingWhitespaces;
+    }
+
+    public void setIgnoreTrailingWhitespaces(Boolean ignoreTrailingWhitespaces) {
+        this.ignoreTrailingWhitespaces = ignoreTrailingWhitespaces;
+    }
+
+    public Boolean getIgnoreLeadingWhitespaces() {
+        return ignoreLeadingWhitespaces;
+    }
+
+    public void setIgnoreLeadingWhitespaces(Boolean ignoreLeadingWhitespaces) {
+        this.ignoreLeadingWhitespaces = ignoreLeadingWhitespaces;
+    }
+
+    public Boolean getHeadersDisabled() {
+        return headersDisabled;
+    }
+
+    public void setHeadersDisabled(Boolean headersDisabled) {
+        this.headersDisabled = headersDisabled;
+    }
+
+    public Boolean getHeaderExtractionEnabled() {
+        return headerExtractionEnabled;
+    }
+
+    public void setHeaderExtractionEnabled(Boolean headerExtractionEnabled) {
+        this.headerExtractionEnabled = headerExtractionEnabled;
+    }
+
+    public Integer getNumberOfRecordsToRead() {
+        return numberOfRecordsToRead;
+    }
+
+    public void setNumberOfRecordsToRead(Integer numberOfRecordsToRead) {
+        this.numberOfRecordsToRead = numberOfRecordsToRead;
+    }
+
+    public String getEmptyValue() {
+        return emptyValue;
+    }
+
+    public void setEmptyValue(String emptyValue) {
+        this.emptyValue = emptyValue;
+    }
+
+    public String getLineSeparator() {
+        return lineSeparator;
+    }
+
+    public void setLineSeparator(String lineSeparator) {
+        this.lineSeparator = lineSeparator;
+    }
+
+    public String getNormalizedLineSeparator() {
+        return normalizedLineSeparator;
+    }
+
+    public void setNormalizedLineSeparator(String normalizedLineSeparator) {
+        this.normalizedLineSeparator = normalizedLineSeparator;
+    }
+
+    public String getComment() {
+        return comment;
+    }
+
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+
+    public Boolean getLazyLoad() {
+        return lazyLoad;
+    }
+
+    public void setLazyLoad(Boolean lazyLoad) {
+        this.lazyLoad = lazyLoad;
+    }
+
+    public Boolean getAsMap() {
+        return asMap;
+    }
+
+    public void setAsMap(Boolean asMap) {
+        this.asMap = asMap;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatAutoConfiguration.java b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..f313989
--- /dev/null
+++ b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatAutoConfiguration.java
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.univocity.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.univocity.UniVocityTsvDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(UniVocityTsvDataFormatConfiguration.class)
+public class UniVocityTsvDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(UniVocityTsvDataFormat.class)
+    public UniVocityTsvDataFormat configureUniVocityTsvDataFormat(
+            CamelContext camelContext,
+            UniVocityTsvDataFormatConfiguration configuration) throws Exception {
+        UniVocityTsvDataFormat dataformat = new UniVocityTsvDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null,
+                false);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatConfiguration.java b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatConfiguration.java
new file mode 100644
index 0000000..d33838c
--- /dev/null
+++ b/components/camel-univocity-parsers/src/main/java/org/apache/camel/dataformat/univocity/springboot/UniVocityTsvDataFormatConfiguration.java
@@ -0,0 +1,207 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.univocity.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel UniVocity parsers data format support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.univocity-tsv")
+public class UniVocityTsvDataFormatConfiguration {
+
+    /**
+     * The escape character.
+     */
+    private String escapeChar;
+    /**
+     * The string representation of a null value. The default value is null
+     */
+    private String nullValue;
+    /**
+     * Whether or not the empty lines must be ignored. The default value is true
+     */
+    private Boolean skipEmptyLines;
+    /**
+     * Whether or not the trailing white spaces must ignored. The default value
+     * is true
+     */
+    private Boolean ignoreTrailingWhitespaces;
+    /**
+     * Whether or not the leading white spaces must be ignored. The default
+     * value is true
+     */
+    private Boolean ignoreLeadingWhitespaces;
+    /**
+     * Whether or not the headers are disabled. When defined this option
+     * explicitly sets the headers as null which indicates that there is no
+     * header. The default value is false
+     */
+    private Boolean headersDisabled;
+    /**
+     * Whether or not the header must be read in the first line of the test
+     * document The default value is false
+     */
+    private Boolean headerExtractionEnabled;
+    /**
+     * The maximum number of record to read.
+     */
+    private Integer numberOfRecordsToRead;
+    /**
+     * The String representation of an empty value
+     */
+    private String emptyValue;
+    /**
+     * The line separator of the files The default value is to use the JVM
+     * platform line separator
+     */
+    private String lineSeparator;
+    /**
+     * The normalized line separator of the files The default value is \n
+     */
+    private String normalizedLineSeparator;
+    /**
+     * The comment symbol. The default value is
+     */
+    private String comment;
+    /**
+     * Whether the unmarshalling should produce an iterator that reads the lines
+     * on the fly or if all the lines must be read at one. The default value is
+     * false
+     */
+    private Boolean lazyLoad;
+    /**
+     * Whether the unmarshalling should produce maps for the lines values
+     * instead of lists. It requires to have header (either defined or
+     * collected). The default value is false
+     */
+    private Boolean asMap;
+
+    public String getEscapeChar() {
+        return escapeChar;
+    }
+
+    public void setEscapeChar(String escapeChar) {
+        this.escapeChar = escapeChar;
+    }
+
+    public String getNullValue() {
+        return nullValue;
+    }
+
+    public void setNullValue(String nullValue) {
+        this.nullValue = nullValue;
+    }
+
+    public Boolean getSkipEmptyLines() {
+        return skipEmptyLines;
+    }
+
+    public void setSkipEmptyLines(Boolean skipEmptyLines) {
+        this.skipEmptyLines = skipEmptyLines;
+    }
+
+    public Boolean getIgnoreTrailingWhitespaces() {
+        return ignoreTrailingWhitespaces;
+    }
+
+    public void setIgnoreTrailingWhitespaces(Boolean ignoreTrailingWhitespaces) {
+        this.ignoreTrailingWhitespaces = ignoreTrailingWhitespaces;
+    }
+
+    public Boolean getIgnoreLeadingWhitespaces() {
+        return ignoreLeadingWhitespaces;
+    }
+
+    public void setIgnoreLeadingWhitespaces(Boolean ignoreLeadingWhitespaces) {
+        this.ignoreLeadingWhitespaces = ignoreLeadingWhitespaces;
+    }
+
+    public Boolean getHeadersDisabled() {
+        return headersDisabled;
+    }
+
+    public void setHeadersDisabled(Boolean headersDisabled) {
+        this.headersDisabled = headersDisabled;
+    }
+
+    public Boolean getHeaderExtractionEnabled() {
+        return headerExtractionEnabled;
+    }
+
+    public void setHeaderExtractionEnabled(Boolean headerExtractionEnabled) {
+        this.headerExtractionEnabled = headerExtractionEnabled;
+    }
+
+    public Integer getNumberOfRecordsToRead() {
+        return numberOfRecordsToRead;
+    }
+
+    public void setNumberOfRecordsToRead(Integer numberOfRecordsToRead) {
+        this.numberOfRecordsToRead = numberOfRecordsToRead;
+    }
+
+    public String getEmptyValue() {
+        return emptyValue;
+    }
+
+    public void setEmptyValue(String emptyValue) {
+        this.emptyValue = emptyValue;
+    }
+
+    public String getLineSeparator() {
+        return lineSeparator;
+    }
+
+    public void setLineSeparator(String lineSeparator) {
+        this.lineSeparator = lineSeparator;
+    }
+
+    public String getNormalizedLineSeparator() {
+        return normalizedLineSeparator;
+    }
+
+    public void setNormalizedLineSeparator(String normalizedLineSeparator) {
+        this.normalizedLineSeparator = normalizedLineSeparator;
+    }
+
+    public String getComment() {
+        return comment;
+    }
+
+    public void setComment(String comment) {
+        this.comment = comment;
+    }
+
+    public Boolean getLazyLoad() {
+        return lazyLoad;
+    }
+
+    public void setLazyLoad(Boolean lazyLoad) {
+        this.lazyLoad = lazyLoad;
+    }
+
+    public Boolean getAsMap() {
+        return asMap;
+    }
+
+    public void setAsMap(Boolean asMap) {
+        this.asMap = asMap;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/springboot/XmlJsonDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/springboot/XmlJsonDataFormatAutoConfiguration.java b/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/springboot/XmlJsonDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..25af5a6
--- /dev/null
+++ b/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/springboot/XmlJsonDataFormatAutoConfiguration.java
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.xmljson.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.xmljson.XmlJsonDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(XmlJsonDataFormatConfiguration.class)
+public class XmlJsonDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(XmlJsonDataFormat.class)
+    public XmlJsonDataFormat configureXmlJsonDataFormat(
+            CamelContext camelContext,
+            XmlJsonDataFormatConfiguration configuration) throws Exception {
+        XmlJsonDataFormat dataformat = new XmlJsonDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null,
+                false);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/springboot/XmlJsonDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/springboot/XmlJsonDataFormatConfiguration.java b/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/springboot/XmlJsonDataFormatConfiguration.java
new file mode 100644
index 0000000..868ed9e
--- /dev/null
+++ b/components/camel-xmljson/src/main/java/org/apache/camel/dataformat/xmljson/springboot/XmlJsonDataFormatConfiguration.java
@@ -0,0 +1,201 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.xmljson.springboot;
+
+import java.util.List;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel XML JSON Data Format
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.xmljson")
+public class XmlJsonDataFormatConfiguration {
+
+    /**
+     * Sets the encoding. Used for unmarshalling (JSON to XML conversion).
+     */
+    private String encoding;
+    /**
+     * Specifies the name of the XML elements representing each array element.
+     * Used for unmarshalling (JSON to XML conversion).
+     */
+    private String elementName;
+    /**
+     * Specifies the name of the top-level XML element. Used for unmarshalling
+     * (JSON to XML conversion). For example when converting 1 2 3 it will be
+     * output by default as 123. By setting this option or rootName you can
+     * alter the name of element 'a'.
+     */
+    private String arrayName;
+    /**
+     * Determines whether the resulting JSON will start off with a top-most
+     * element whose name matches the XML root element. Used for marshalling
+     * (XML to JSon conversion). If disabled XML string 12 turns into 'x: '1'
+     * 'y': '2' . Otherwise it turns into 'a': 'x: '1' 'y': '2' .
+     */
+    private Boolean forceTopLevelObject;
+    /**
+     * Flag to be tolerant to incomplete namespace prefixes. Used for
+     * unmarshalling (JSON to XML conversion). In most cases json-lib
+     * automatically changes this flag at runtime to match the processing.
+     */
+    private Boolean namespaceLenient;
+    /**
+     * Specifies the name of the top-level element. Used for unmarshalling (JSON
+     * to XML conversion). If not set json-lib will use arrayName or objectName
+     * (default value: 'o' at the current time it is not configurable in this
+     * data format). If set to 'root' the JSON string 'x': 'value1' 'y' :
+     * 'value2' would turn into value1value2 otherwise the 'root' element would
+     * be named 'o'.
+     */
+    private String rootName;
+    /**
+     * Determines whether white spaces between XML elements will be regarded as
+     * text values or disregarded. Used for marshalling (XML to JSon
+     * conversion).
+     */
+    private Boolean skipWhitespace;
+    /**
+     * Determines whether leading and trailing white spaces will be omitted from
+     * String values. Used for marshalling (XML to JSon conversion).
+     */
+    private Boolean trimSpaces;
+    /**
+     * Signals whether namespaces should be ignored. By default they will be
+     * added to the JSON output using xmlns elements. Used for marshalling (XML
+     * to JSon conversion).
+     */
+    private Boolean skipNamespaces;
+    /**
+     * Removes the namespace prefixes from XML qualified elements so that the
+     * resulting JSON string does not contain them. Used for marshalling (XML to
+     * JSon conversion).
+     */
+    private Boolean removeNamespacePrefixes;
+    /**
+     * With expandable properties JSON array elements are converted to XML as a
+     * sequence of repetitive XML elements with the local name equal to the JSON
+     * key for example: number: 123 normally converted to: 123 (where e can be
+     * modified by setting elementName) would instead translate to 123 if number
+     * is set as an expandable property Used for unmarshalling (JSON to XML
+     * conversion).
+     */
+    private List<java.lang.String> expandableProperties;
+    /**
+     * Adds type hints to the resulting XML to aid conversion back to JSON. Used
+     * for unmarshalling (JSON to XML conversion).
+     */
+    private String typeHints;
+
+    public String getEncoding() {
+        return encoding;
+    }
+
+    public void setEncoding(String encoding) {
+        this.encoding = encoding;
+    }
+
+    public String getElementName() {
+        return elementName;
+    }
+
+    public void setElementName(String elementName) {
+        this.elementName = elementName;
+    }
+
+    public String getArrayName() {
+        return arrayName;
+    }
+
+    public void setArrayName(String arrayName) {
+        this.arrayName = arrayName;
+    }
+
+    public Boolean getForceTopLevelObject() {
+        return forceTopLevelObject;
+    }
+
+    public void setForceTopLevelObject(Boolean forceTopLevelObject) {
+        this.forceTopLevelObject = forceTopLevelObject;
+    }
+
+    public Boolean getNamespaceLenient() {
+        return namespaceLenient;
+    }
+
+    public void setNamespaceLenient(Boolean namespaceLenient) {
+        this.namespaceLenient = namespaceLenient;
+    }
+
+    public String getRootName() {
+        return rootName;
+    }
+
+    public void setRootName(String rootName) {
+        this.rootName = rootName;
+    }
+
+    public Boolean getSkipWhitespace() {
+        return skipWhitespace;
+    }
+
+    public void setSkipWhitespace(Boolean skipWhitespace) {
+        this.skipWhitespace = skipWhitespace;
+    }
+
+    public Boolean getTrimSpaces() {
+        return trimSpaces;
+    }
+
+    public void setTrimSpaces(Boolean trimSpaces) {
+        this.trimSpaces = trimSpaces;
+    }
+
+    public Boolean getSkipNamespaces() {
+        return skipNamespaces;
+    }
+
+    public void setSkipNamespaces(Boolean skipNamespaces) {
+        this.skipNamespaces = skipNamespaces;
+    }
+
+    public Boolean getRemoveNamespacePrefixes() {
+        return removeNamespacePrefixes;
+    }
+
+    public void setRemoveNamespacePrefixes(Boolean removeNamespacePrefixes) {
+        this.removeNamespacePrefixes = removeNamespacePrefixes;
+    }
+
+    public List<String> getExpandableProperties() {
+        return expandableProperties;
+    }
+
+    public void setExpandableProperties(List<String> expandableProperties) {
+        this.expandableProperties = expandableProperties;
+    }
+
+    public String getTypeHints() {
+        return typeHints;
+    }
+
+    public void setTypeHints(String typeHints) {
+        this.typeHints = typeHints;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/springboot/XmlRpcDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/springboot/XmlRpcDataFormatAutoConfiguration.java b/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/springboot/XmlRpcDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..fd4462a
--- /dev/null
+++ b/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/springboot/XmlRpcDataFormatAutoConfiguration.java
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.xmlrpc.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.xmlrpc.XmlRpcDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(XmlRpcDataFormatConfiguration.class)
+public class XmlRpcDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(XmlRpcDataFormat.class)
+    public XmlRpcDataFormat configureXmlRpcDataFormat(
+            CamelContext camelContext,
+            XmlRpcDataFormatConfiguration configuration) throws Exception {
+        XmlRpcDataFormat dataformat = new XmlRpcDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null,
+                false);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/springboot/XmlRpcDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/springboot/XmlRpcDataFormatConfiguration.java b/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/springboot/XmlRpcDataFormatConfiguration.java
new file mode 100644
index 0000000..6a97071
--- /dev/null
+++ b/components/camel-xmlrpc/src/main/java/org/apache/camel/dataformat/xmlrpc/springboot/XmlRpcDataFormatConfiguration.java
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.xmlrpc.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel XML RPC support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.xmlrpc")
+public class XmlRpcDataFormatConfiguration {
+
+    /**
+     * Whether to unmarshal request or response Is by default false
+     */
+    private Boolean request;
+
+    public Boolean getRequest() {
+        return request;
+    }
+
+    public void setRequest(Boolean request) {
+        this.request = request;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/springboot/XMLSecurityDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/springboot/XMLSecurityDataFormatAutoConfiguration.java b/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/springboot/XMLSecurityDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..5f192a0
--- /dev/null
+++ b/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/springboot/XMLSecurityDataFormatAutoConfiguration.java
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.xmlsecurity.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.xmlsecurity.XMLSecurityDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(XMLSecurityDataFormatConfiguration.class)
+public class XMLSecurityDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(XMLSecurityDataFormat.class)
+    public XMLSecurityDataFormat configureXMLSecurityDataFormat(
+            CamelContext camelContext,
+            XMLSecurityDataFormatConfiguration configuration) throws Exception {
+        XMLSecurityDataFormat dataformat = new XMLSecurityDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null,
+                false);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/springboot/XMLSecurityDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/springboot/XMLSecurityDataFormatConfiguration.java b/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/springboot/XMLSecurityDataFormatConfiguration.java
new file mode 100644
index 0000000..6eca1fb
--- /dev/null
+++ b/components/camel-xmlsecurity/src/main/java/org/apache/camel/dataformat/xmlsecurity/springboot/XMLSecurityDataFormatConfiguration.java
@@ -0,0 +1,189 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.xmlsecurity.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Partial XML Encryption/Decryption and XML Signature support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.secureXML")
+public class XMLSecurityDataFormatConfiguration {
+
+    /**
+     * The cipher algorithm to be used for encryption/decryption of the XML
+     * message content. The available choices are: XMLCipher.TRIPLEDES
+     * XMLCipher.AES_128 XMLCipher.AES_128_GCM XMLCipher.AES_192
+     * XMLCipher.AES_192_GCM XMLCipher.AES_256 XMLCipher.AES_256_GCM
+     * XMLCipher.SEED_128 XMLCipher.CAMELLIA_128 XMLCipher.CAMELLIA_192
+     * XMLCipher.CAMELLIA_256 The default value is MLCipher.TRIPLEDES
+     */
+    private String xmlCipherAlgorithm;
+    /**
+     * A String used as passPhrase to encrypt/decrypt content. The passPhrase
+     * has to be provided. If no passPhrase is specified a default passPhrase is
+     * used. The passPhrase needs to be put together in conjunction with the
+     * appropriate encryption algorithm. For example using TRIPLEDES the
+     * passPhase can be a Only another 24 Byte key
+     */
+    private String passPhrase;
+    /**
+     * The XPath reference to the XML Element selected for
+     * encryption/decryption. If no tag is specified the entire payload is
+     * encrypted/decrypted.
+     */
+    private String secureTag;
+    /**
+     * A boolean value to specify whether the XML Element is to be encrypted or
+     * the contents of the XML Element false = Element Level true = Element
+     * Content Level
+     */
+    private Boolean secureTagContents;
+    /**
+     * The cipher algorithm to be used for encryption/decryption of the
+     * asymmetric key. The available choices are: XMLCipher.RSA_v1dot5
+     * XMLCipher.RSA_OAEP XMLCipher.RSA_OAEP_11 The default value is
+     * XMLCipher.RSA_OAEP
+     */
+    private String keyCipherAlgorithm;
+    /**
+     * The key alias to be used when retrieving the recipient's public or
+     * private key from a KeyStore when performing asymmetric key encryption or
+     * decryption.
+     */
+    private String recipientKeyAlias;
+    /**
+     * Refers to a KeyStore instance to lookup in the registry which is used for
+     * configuration options for creating and loading a KeyStore instance that
+     * represents the sender's trustStore or recipient's keyStore.
+     */
+    private String keyOrTrustStoreParametersId;
+    /**
+     * The password to be used for retrieving the private key from the KeyStore.
+     * This key is used for asymmetric decryption.
+     */
+    private String keyPassword;
+    /**
+     * The digest algorithm to use with the RSA OAEP algorithm. The available
+     * choices are: XMLCipher.SHA1 XMLCipher.SHA256 XMLCipher.SHA512 The default
+     * value is XMLCipher.SHA1
+     */
+    private String digestAlgorithm;
+    /**
+     * The MGF Algorithm to use with the RSA OAEP algorithm. The available
+     * choices are: EncryptionConstants.MGF1_SHA1
+     * EncryptionConstants.MGF1_SHA256 EncryptionConstants.MGF1_SHA512 The
+     * default value is EncryptionConstants.MGF1_SHA1
+     */
+    private String mgfAlgorithm;
+    /**
+     * Whether to add the public key used to encrypt the session key as a
+     * KeyValue in the EncryptedKey structure or not.
+     */
+    private Boolean addKeyValueForEncryptedKey;
+
+    public String getXmlCipherAlgorithm() {
+        return xmlCipherAlgorithm;
+    }
+
+    public void setXmlCipherAlgorithm(String xmlCipherAlgorithm) {
+        this.xmlCipherAlgorithm = xmlCipherAlgorithm;
+    }
+
+    public String getPassPhrase() {
+        return passPhrase;
+    }
+
+    public void setPassPhrase(String passPhrase) {
+        this.passPhrase = passPhrase;
+    }
+
+    public String getSecureTag() {
+        return secureTag;
+    }
+
+    public void setSecureTag(String secureTag) {
+        this.secureTag = secureTag;
+    }
+
+    public Boolean getSecureTagContents() {
+        return secureTagContents;
+    }
+
+    public void setSecureTagContents(Boolean secureTagContents) {
+        this.secureTagContents = secureTagContents;
+    }
+
+    public String getKeyCipherAlgorithm() {
+        return keyCipherAlgorithm;
+    }
+
+    public void setKeyCipherAlgorithm(String keyCipherAlgorithm) {
+        this.keyCipherAlgorithm = keyCipherAlgorithm;
+    }
+
+    public String getRecipientKeyAlias() {
+        return recipientKeyAlias;
+    }
+
+    public void setRecipientKeyAlias(String recipientKeyAlias) {
+        this.recipientKeyAlias = recipientKeyAlias;
+    }
+
+    public String getKeyOrTrustStoreParametersId() {
+        return keyOrTrustStoreParametersId;
+    }
+
+    public void setKeyOrTrustStoreParametersId(
+            String keyOrTrustStoreParametersId) {
+        this.keyOrTrustStoreParametersId = keyOrTrustStoreParametersId;
+    }
+
+    public String getKeyPassword() {
+        return keyPassword;
+    }
+
+    public void setKeyPassword(String keyPassword) {
+        this.keyPassword = keyPassword;
+    }
+
+    public String getDigestAlgorithm() {
+        return digestAlgorithm;
+    }
+
+    public void setDigestAlgorithm(String digestAlgorithm) {
+        this.digestAlgorithm = digestAlgorithm;
+    }
+
+    public String getMgfAlgorithm() {
+        return mgfAlgorithm;
+    }
+
+    public void setMgfAlgorithm(String mgfAlgorithm) {
+        this.mgfAlgorithm = mgfAlgorithm;
+    }
+
+    public Boolean getAddKeyValueForEncryptedKey() {
+        return addKeyValueForEncryptedKey;
+    }
+
+    public void setAddKeyValueForEncryptedKey(Boolean addKeyValueForEncryptedKey) {
+        this.addKeyValueForEncryptedKey = addKeyValueForEncryptedKey;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/JsonDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/JsonDataFormatAutoConfiguration.java b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/JsonDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..9b3ac59
--- /dev/null
+++ b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/JsonDataFormatAutoConfiguration.java
@@ -0,0 +1,54 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.xstream.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.xstream.JsonDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(JsonDataFormatConfiguration.class)
+public class JsonDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(JsonDataFormat.class)
+    public JsonDataFormat configureJsonDataFormat(CamelContext camelContext,
+            JsonDataFormatConfiguration configuration) throws Exception {
+        JsonDataFormat dataformat = new JsonDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null,
+                false);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/JsonDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/JsonDataFormatConfiguration.java b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/JsonDataFormatConfiguration.java
new file mode 100644
index 0000000..3107246
--- /dev/null
+++ b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/JsonDataFormatConfiguration.java
@@ -0,0 +1,244 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.xstream.springboot;
+
+import org.apache.camel.model.dataformat.JsonLibrary;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel XStream support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.json")
+public class JsonDataFormatConfiguration {
+
+    /**
+     * Lookup and use the existing ObjectMapper with the given id when using
+     * Jackson.
+     */
+    private String objectMapper;
+    /**
+     * To enable pretty printing output nicely formatted. Is by default false.
+     */
+    private Boolean prettyPrint;
+    /**
+     * Which json library to use such. Is by default xstream
+     */
+    private JsonLibrary library;
+    /**
+     * Class name of the java type to use when unarmshalling
+     */
+    private String unmarshalTypeName;
+    /**
+     * When marshalling a POJO to JSON you might want to exclude certain fields
+     * from the JSON output. With Jackson you can use JSON views to accomplish
+     * this. This option is to refer to the class which has JsonView annotations
+     */
+    private Class jsonView;
+    /**
+     * If you want to marshal a pojo to JSON and the pojo has some fields with
+     * null values. And you want to skip these null values you can set this
+     * option to NOT_NULL
+     */
+    private String include;
+    /**
+     * Used for JMS users to allow the JMSType header from the JMS spec to
+     * specify a FQN classname to use to unmarshal to.
+     */
+    private Boolean allowJmsType;
+    /**
+     * Refers to a custom collection type to lookup in the registry to use. This
+     * option should rarely be used but allows to use different collection types
+     * than java.util.Collection based as default.
+     */
+    private String collectionTypeName;
+    /**
+     * To unarmshal to a List of Map or a List of Pojo.
+     */
+    private Boolean useList;
+    /**
+     * Whether to enable the JAXB annotations module when using jackson. When
+     * enabled then JAXB annotations can be used by Jackson.
+     */
+    private Boolean enableJaxbAnnotationModule;
+    /**
+     * To use custom Jackson modules com.fasterxml.jackson.databind.Module
+     * specified as a String with FQN class names. Multiple classes can be
+     * separated by comma.
+     */
+    private String moduleClassNames;
+    /**
+     * To use custom Jackson modules referred from the Camel registry. Multiple
+     * modules can be separated by comma.
+     */
+    private String moduleRefs;
+    /**
+     * Set of features to enable on the Jackson
+     * com.fasterxml.jackson.databind.ObjectMapper. The features should be a
+     * name that matches a enum from
+     * com.fasterxml.jackson.databind.SerializationFeature
+     * com.fasterxml.jackson.databind.DeserializationFeature or
+     * com.fasterxml.jackson.databind.MapperFeature Multiple features can be
+     * separated by comma
+     */
+    private String enableFeatures;
+    /**
+     * Set of features to disable on the Jackson
+     * com.fasterxml.jackson.databind.ObjectMapper. The features should be a
+     * name that matches a enum from
+     * com.fasterxml.jackson.databind.SerializationFeature
+     * com.fasterxml.jackson.databind.DeserializationFeature or
+     * com.fasterxml.jackson.databind.MapperFeature Multiple features can be
+     * separated by comma
+     */
+    private String disableFeatures;
+    /**
+     * Adds permissions that controls which Java packages and classes XStream is
+     * allowed to use during unmarshal from xml/json to Java beans. A permission
+     * must be configured either here or globally using a JVM system property.
+     * The permission can be specified in a syntax where a plus sign is allow
+     * and minus sign is deny. Wildcards is supported by using . as prefix. For
+     * example to allow com.foo and all subpackages then specfy com.foo..
+     * Multiple permissions can be configured separated by comma such as
+     * com.foo.-com.foo.bar.MySecretBean. The following default permission is
+     * always included: -java.lang.java.util. unless its overridden by
+     * specifying a JVM system property with they key
+     * org.apache.camel.xstream.permissions.
+     */
+    private String permissions;
+
+    public String getObjectMapper() {
+        return objectMapper;
+    }
+
+    public void setObjectMapper(String objectMapper) {
+        this.objectMapper = objectMapper;
+    }
+
+    public Boolean getPrettyPrint() {
+        return prettyPrint;
+    }
+
+    public void setPrettyPrint(Boolean prettyPrint) {
+        this.prettyPrint = prettyPrint;
+    }
+
+    public JsonLibrary getLibrary() {
+        return library;
+    }
+
+    public void setLibrary(JsonLibrary library) {
+        this.library = library;
+    }
+
+    public String getUnmarshalTypeName() {
+        return unmarshalTypeName;
+    }
+
+    public void setUnmarshalTypeName(String unmarshalTypeName) {
+        this.unmarshalTypeName = unmarshalTypeName;
+    }
+
+    public Class getJsonView() {
+        return jsonView;
+    }
+
+    public void setJsonView(Class jsonView) {
+        this.jsonView = jsonView;
+    }
+
+    public String getInclude() {
+        return include;
+    }
+
+    public void setInclude(String include) {
+        this.include = include;
+    }
+
+    public Boolean getAllowJmsType() {
+        return allowJmsType;
+    }
+
+    public void setAllowJmsType(Boolean allowJmsType) {
+        this.allowJmsType = allowJmsType;
+    }
+
+    public String getCollectionTypeName() {
+        return collectionTypeName;
+    }
+
+    public void setCollectionTypeName(String collectionTypeName) {
+        this.collectionTypeName = collectionTypeName;
+    }
+
+    public Boolean getUseList() {
+        return useList;
+    }
+
+    public void setUseList(Boolean useList) {
+        this.useList = useList;
+    }
+
+    public Boolean getEnableJaxbAnnotationModule() {
+        return enableJaxbAnnotationModule;
+    }
+
+    public void setEnableJaxbAnnotationModule(Boolean enableJaxbAnnotationModule) {
+        this.enableJaxbAnnotationModule = enableJaxbAnnotationModule;
+    }
+
+    public String getModuleClassNames() {
+        return moduleClassNames;
+    }
+
+    public void setModuleClassNames(String moduleClassNames) {
+        this.moduleClassNames = moduleClassNames;
+    }
+
+    public String getModuleRefs() {
+        return moduleRefs;
+    }
+
+    public void setModuleRefs(String moduleRefs) {
+        this.moduleRefs = moduleRefs;
+    }
+
+    public String getEnableFeatures() {
+        return enableFeatures;
+    }
+
+    public void setEnableFeatures(String enableFeatures) {
+        this.enableFeatures = enableFeatures;
+    }
+
+    public String getDisableFeatures() {
+        return disableFeatures;
+    }
+
+    public void setDisableFeatures(String disableFeatures) {
+        this.disableFeatures = disableFeatures;
+    }
+
+    public String getPermissions() {
+        return permissions;
+    }
+
+    public void setPermissions(String permissions) {
+        this.permissions = permissions;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/XStreamDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/XStreamDataFormatAutoConfiguration.java b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/XStreamDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..065a531
--- /dev/null
+++ b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/XStreamDataFormatAutoConfiguration.java
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.xstream.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.xstream.XStreamDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(XStreamDataFormatConfiguration.class)
+public class XStreamDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(XStreamDataFormat.class)
+    public XStreamDataFormat configureXStreamDataFormat(
+            CamelContext camelContext,
+            XStreamDataFormatConfiguration configuration) throws Exception {
+        XStreamDataFormat dataformat = new XStreamDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null,
+                false);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/XStreamDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/XStreamDataFormatConfiguration.java b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/XStreamDataFormatConfiguration.java
new file mode 100644
index 0000000..a8236e0
--- /dev/null
+++ b/components/camel-xstream/src/main/java/org/apache/camel/dataformat/xstream/springboot/XStreamDataFormatConfiguration.java
@@ -0,0 +1,159 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.xstream.springboot;
+
+import java.util.List;
+import java.util.Map;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel XStream support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.xstream")
+public class XStreamDataFormatConfiguration {
+
+    /**
+     * Adds permissions that controls which Java packages and classes XStream is
+     * allowed to use during unmarshal from xml/json to Java beans. A permission
+     * must be configured either here or globally using a JVM system property.
+     * The permission can be specified in a syntax where a plus sign is allow
+     * and minus sign is deny. Wildcards is supported by using . as prefix. For
+     * example to allow com.foo and all subpackages then specfy com.foo..
+     * Multiple permissions can be configured separated by comma such as
+     * com.foo.-com.foo.bar.MySecretBean. The following default permission is
+     * always included: -java.lang.java.util. unless its overridden by
+     * specifying a JVM system property with they key
+     * org.apache.camel.xstream.permissions.
+     */
+    private String permissions;
+    /**
+     * Sets the encoding to use
+     */
+    private String encoding;
+    /**
+     * To use a custom XStream driver. The instance must be of type
+     * com.thoughtworks.xstream.io.HierarchicalStreamDriver
+     */
+    private String driver;
+    /**
+     * To refer to a custom XStream driver to lookup in the registry. The
+     * instance must be of type
+     * com.thoughtworks.xstream.io.HierarchicalStreamDriver
+     */
+    private String driverRef;
+    /**
+     * Mode for dealing with duplicate references The possible values are:
+     * NO_REFERENCES ID_REFERENCES XPATH_RELATIVE_REFERENCES
+     * XPATH_ABSOLUTE_REFERENCES SINGLE_NODE_XPATH_RELATIVE_REFERENCES
+     * SINGLE_NODE_XPATH_ABSOLUTE_REFERENCES
+     */
+    private String mode;
+    /**
+     * List of class names for using custom XStream converters. The classes must
+     * be of type com.thoughtworks.xstream.converters.Converter
+     */
+    private List<java.lang.String> converters;
+    /**
+     * Alias a Class to a shorter name to be used in XML elements.
+     */
+    private Map<java.lang.String, java.lang.String> aliases;
+    /**
+     * Prevents a field from being serialized. To omit a field you must always
+     * provide the declaring type and not necessarily the type that is
+     * converted.
+     */
+    private Map<java.lang.String, java.lang.String[]> omitFields;
+    /**
+     * Adds a default implicit collection which is used for any unmapped XML
+     * tag.
+     */
+    private Map<java.lang.String, java.lang.String[]> implicitCollections;
+
+    public String getPermissions() {
+        return permissions;
+    }
+
+    public void setPermissions(String permissions) {
+        this.permissions = permissions;
+    }
+
+    public String getEncoding() {
+        return encoding;
+    }
+
+    public void setEncoding(String encoding) {
+        this.encoding = encoding;
+    }
+
+    public String getDriver() {
+        return driver;
+    }
+
+    public void setDriver(String driver) {
+        this.driver = driver;
+    }
+
+    public String getDriverRef() {
+        return driverRef;
+    }
+
+    public void setDriverRef(String driverRef) {
+        this.driverRef = driverRef;
+    }
+
+    public String getMode() {
+        return mode;
+    }
+
+    public void setMode(String mode) {
+        this.mode = mode;
+    }
+
+    public List<String> getConverters() {
+        return converters;
+    }
+
+    public void setConverters(List<String> converters) {
+        this.converters = converters;
+    }
+
+    public Map<String, String> getAliases() {
+        return aliases;
+    }
+
+    public void setAliases(Map<String, String> aliases) {
+        this.aliases = aliases;
+    }
+
+    public Map<String, String[]> getOmitFields() {
+        return omitFields;
+    }
+
+    public void setOmitFields(Map<String, String[]> omitFields) {
+        this.omitFields = omitFields;
+    }
+
+    public Map<String, String[]> getImplicitCollections() {
+        return implicitCollections;
+    }
+
+    public void setImplicitCollections(Map<String, String[]> implicitCollections) {
+        this.implicitCollections = implicitCollections;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/springboot/ZipFileDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/springboot/ZipFileDataFormatAutoConfiguration.java b/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/springboot/ZipFileDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..5ebea8f
--- /dev/null
+++ b/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/springboot/ZipFileDataFormatAutoConfiguration.java
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.zipfile.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.zipfile.ZipFileDataFormat;
+import org.apache.camel.util.IntrospectionSupport;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration
+@EnableConfigurationProperties(ZipFileDataFormatConfiguration.class)
+public class ZipFileDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(ZipFileDataFormat.class)
+    public ZipFileDataFormat configureZipFileDataFormat(
+            CamelContext camelContext,
+            ZipFileDataFormatConfiguration configuration) throws Exception {
+        ZipFileDataFormat dataformat = new ZipFileDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null,
+                false);
+        IntrospectionSupport.setProperties(camelContext,
+                camelContext.getTypeConverter(), dataformat, parameters);
+        return dataformat;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/d76f047d/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/springboot/ZipFileDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/springboot/ZipFileDataFormatConfiguration.java b/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/springboot/ZipFileDataFormatConfiguration.java
new file mode 100644
index 0000000..b12703f
--- /dev/null
+++ b/components/camel-zipfile/src/main/java/org/apache/camel/dataformat/zipfile/springboot/ZipFileDataFormatConfiguration.java
@@ -0,0 +1,43 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dataformat.zipfile.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Zip file support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.zipFile")
+public class ZipFileDataFormatConfiguration {
+
+    /**
+     * If the zip file has more then one entry the setting this option to true
+     * allows to work with the splitter EIP to split the data using an iterator
+     * in a streaming mode.
+     */
+    private Boolean usingIterator;
+
+    public Boolean getUsingIterator() {
+        return usingIterator;
+    }
+
+    public void setUsingIterator(Boolean usingIterator) {
+        this.usingIterator = usingIterator;
+    }
+}
\ No newline at end of file