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 09:55:26 UTC

[05/11] 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/f9b58d31/components/camel-boon/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-boon/src/main/resources/META-INF/spring.factories b/components/camel-boon/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..cbb2c73
--- /dev/null
+++ b/components/camel-boon/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+org.apache.camel.component.boon.springboot.BoonDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatAutoConfiguration.java b/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..2e9f30b
--- /dev/null
+++ b/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatAutoConfiguration.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.castor.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.castor.CastorDataFormat;
+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(CastorDataFormatConfiguration.class)
+public class CastorDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(CastorDataFormat.class)
+    public CastorDataFormat configureCastorDataFormat(
+            CamelContext camelContext,
+            CastorDataFormatConfiguration configuration) throws Exception {
+        CastorDataFormat dataformat = new CastorDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        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/f9b58d31/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatConfiguration.java b/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatConfiguration.java
new file mode 100644
index 0000000..1721f17
--- /dev/null
+++ b/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/springboot/CastorDataFormatConfiguration.java
@@ -0,0 +1,101 @@
+/**
+ * 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.castor.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Castor data format support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.castor")
+public class CastorDataFormatConfiguration {
+
+    /**
+     * Path to a Castor mapping file to load from the classpath.
+     */
+    private String mappingFile;
+    /**
+     * Whether validation is turned on or off. Is by default true.
+     */
+    private Boolean validation;
+    /**
+     * Encoding to use when marshalling an Object to XML. Is by default UTF-8
+     */
+    private String encoding;
+    /**
+     * Add additional packages to Castor XmlContext
+     */
+    private String[] packages;
+    /**
+     * Add additional class names to Castor XmlContext
+     */
+    private String[] classes;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getMappingFile() {
+        return mappingFile;
+    }
+
+    public void setMappingFile(String mappingFile) {
+        this.mappingFile = mappingFile;
+    }
+
+    public Boolean getValidation() {
+        return validation;
+    }
+
+    public void setValidation(Boolean validation) {
+        this.validation = validation;
+    }
+
+    public String getEncoding() {
+        return encoding;
+    }
+
+    public void setEncoding(String encoding) {
+        this.encoding = encoding;
+    }
+
+    public String[] getPackages() {
+        return packages;
+    }
+
+    public void setPackages(String[] packages) {
+        this.packages = packages;
+    }
+
+    public String[] getClasses() {
+        return classes;
+    }
+
+    public void setClasses(String[] classes) {
+        this.classes = classes;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-castor/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-castor/src/main/resources/META-INF/spring.factories b/components/camel-castor/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..9a71356
--- /dev/null
+++ b/components/camel-castor/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+org.apache.camel.dataformat.castor.springboot.CastorDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatAutoConfiguration.java b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..6ff42ad
--- /dev/null
+++ b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatAutoConfiguration.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.converter.crypto.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.converter.crypto.CryptoDataFormat;
+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(CryptoDataFormatConfiguration.class)
+public class CryptoDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(CryptoDataFormat.class)
+    public CryptoDataFormat configureCryptoDataFormat(
+            CamelContext camelContext,
+            CryptoDataFormatConfiguration configuration) throws Exception {
+        CryptoDataFormat dataformat = new CryptoDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        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/f9b58d31/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatConfiguration.java b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatConfiguration.java
new file mode 100644
index 0000000..f3170a9
--- /dev/null
+++ b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/CryptoDataFormatConfiguration.java
@@ -0,0 +1,155 @@
+/**
+ * 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.converter.crypto.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Cryptographic Support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.crypto")
+public class CryptoDataFormatConfiguration {
+
+    /**
+     * The JCE algorithm name indicating the cryptographic algorithm that will
+     * be used. Is by default DES/CBC/PKCS5Padding.
+     */
+    private String algorithm;
+    /**
+     * The name of the JCE Security Provider that should be used.
+     */
+    private String cryptoProvider;
+    /**
+     * Refers to the secret key to lookup from the register to use.
+     */
+    private String keyRef;
+    /**
+     * Refers to a byte array containing the Initialization Vector that will be
+     * used to initialize the Cipher.
+     */
+    private String initVectorRef;
+    /**
+     * A JCE AlgorithmParameterSpec used to initialize the Cipher. Will lookup
+     * the type using the given name as a
+     * java.security.spec.AlgorithmParameterSpec type.
+     */
+    private String algorithmParameterRef;
+    /**
+     * The size of the buffer used in the signature process.
+     */
+    private Integer buffersize;
+    /**
+     * The JCE algorithm name indicating the Message Authentication algorithm.
+     */
+    private String macAlgorithm;
+    /**
+     * Flag indicating that a Message Authentication Code should be calculated
+     * and appended to the encrypted data.
+     */
+    private Boolean shouldAppendHMAC;
+    /**
+     * Flag indicating that the configured IV should be inlined into the
+     * encrypted data stream. Is by default false.
+     */
+    private Boolean inline;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getAlgorithm() {
+        return algorithm;
+    }
+
+    public void setAlgorithm(String algorithm) {
+        this.algorithm = algorithm;
+    }
+
+    public String getCryptoProvider() {
+        return cryptoProvider;
+    }
+
+    public void setCryptoProvider(String cryptoProvider) {
+        this.cryptoProvider = cryptoProvider;
+    }
+
+    public String getKeyRef() {
+        return keyRef;
+    }
+
+    public void setKeyRef(String keyRef) {
+        this.keyRef = keyRef;
+    }
+
+    public String getInitVectorRef() {
+        return initVectorRef;
+    }
+
+    public void setInitVectorRef(String initVectorRef) {
+        this.initVectorRef = initVectorRef;
+    }
+
+    public String getAlgorithmParameterRef() {
+        return algorithmParameterRef;
+    }
+
+    public void setAlgorithmParameterRef(String algorithmParameterRef) {
+        this.algorithmParameterRef = algorithmParameterRef;
+    }
+
+    public Integer getBuffersize() {
+        return buffersize;
+    }
+
+    public void setBuffersize(Integer buffersize) {
+        this.buffersize = buffersize;
+    }
+
+    public String getMacAlgorithm() {
+        return macAlgorithm;
+    }
+
+    public void setMacAlgorithm(String macAlgorithm) {
+        this.macAlgorithm = macAlgorithm;
+    }
+
+    public Boolean getShouldAppendHMAC() {
+        return shouldAppendHMAC;
+    }
+
+    public void setShouldAppendHMAC(Boolean shouldAppendHMAC) {
+        this.shouldAppendHMAC = shouldAppendHMAC;
+    }
+
+    public Boolean getInline() {
+        return inline;
+    }
+
+    public void setInline(Boolean inline) {
+        this.inline = inline;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatAutoConfiguration.java b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..690f605
--- /dev/null
+++ b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatAutoConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.converter.crypto.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.converter.crypto.PGPDataFormat;
+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(PGPDataFormatConfiguration.class)
+public class PGPDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(PGPDataFormat.class)
+    public PGPDataFormat configurePGPDataFormat(CamelContext camelContext,
+            PGPDataFormatConfiguration configuration) throws Exception {
+        PGPDataFormat dataformat = new PGPDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        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/f9b58d31/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatConfiguration.java b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatConfiguration.java
new file mode 100644
index 0000000..0c1c51e
--- /dev/null
+++ b/components/camel-crypto/src/main/java/org/apache/camel/converter/crypto/springboot/PGPDataFormatConfiguration.java
@@ -0,0 +1,247 @@
+/**
+ * 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.converter.crypto.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Cryptographic Support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.pgp")
+public class PGPDataFormatConfiguration {
+
+    /**
+     * The user ID of the key in the PGP keyring used during encryption. Can
+     * also be only a part of a user ID. For example if the user ID is Test User
+     * then you can use the part Test User or to address the user ID.
+     */
+    private String keyUserid;
+    /**
+     * User ID of the key in the PGP keyring used for signing (during
+     * encryption) or signature verification (during decryption). During the
+     * signature verification process the specified User ID restricts the public
+     * keys from the public keyring which can be used for the verification. If
+     * no User ID is specified for the signature verficiation then any public
+     * key in the public keyring can be used for the verification. Can also be
+     * only a part of a user ID. For example if the user ID is Test User then
+     * you can use the part Test User or to address the User ID.
+     */
+    private String signatureKeyUserid;
+    /**
+     * Password used when opening the private key (not used for encryption).
+     */
+    private String password;
+    /**
+     * Password used when opening the private key used for signing (during
+     * encryption).
+     */
+    private String signaturePassword;
+    /**
+     * Filename of the keyring; must be accessible as a classpath resource (but
+     * you can specify a location in the file system by using the file: prefix).
+     */
+    private String keyFileName;
+    /**
+     * Filename of the keyring to use for signing (during encryption) or for
+     * signature verification (during decryption); must be accessible as a
+     * classpath resource (but you can specify a location in the file system by
+     * using the file: prefix).
+     */
+    private String signatureKeyFileName;
+    /**
+     * Keyring used for signing/verifying as byte array. You can not set the
+     * signatureKeyFileName and signatureKeyRing at the same time.
+     */
+    private String signatureKeyRing;
+    /**
+     * This option will cause PGP to base64 encode the encrypted text making it
+     * available for copy/paste etc.
+     */
+    private Boolean armored;
+    /**
+     * Adds an integrity check/sign into the encryption file. The default value
+     * is true.
+     */
+    private Boolean integrity;
+    /**
+     * Java Cryptography Extension (JCE) provider default is Bouncy Castle (BC).
+     * Alternatively you can use for example the IAIK JCE provider; in this case
+     * the provider must be registered beforehand and the Bouncy Castle provider
+     * must not be registered beforehand. The Sun JCE provider does not work.
+     */
+    private String provider;
+    /**
+     * Symmetric key encryption algorithm; possible values are defined in
+     * org.bouncycastle.bcpg.SymmetricKeyAlgorithmTags; for example 2 (= TRIPLE
+     * DES) 3 (= CAST5) 4 (= BLOWFISH) 6 (= DES) 7 (= AES_128). Only relevant
+     * for encrypting.
+     */
+    private Integer algorithm;
+    /**
+     * Compression algorithm; possible values are defined in
+     * org.bouncycastle.bcpg.CompressionAlgorithmTags; for example 0 (=
+     * UNCOMPRESSED) 1 (= ZIP) 2 (= ZLIB) 3 (= BZIP2). Only relevant for
+     * encrypting.
+     */
+    private Integer compressionAlgorithm;
+    /**
+     * Signature hash algorithm; possible values are defined in
+     * org.bouncycastle.bcpg.HashAlgorithmTags; for example 2 (= SHA1) 8 (=
+     * SHA256) 9 (= SHA384) 10 (= SHA512) 11 (=SHA224). Only relevant for
+     * signing.
+     */
+    private Integer hashAlgorithm;
+    /**
+     * Controls the behavior for verifying the signature during unmarshaling.
+     * There are 4 values possible: optional: The PGP message may or may not
+     * contain signatures; if it does contain signatures then a signature
+     * verification is executed. required: The PGP message must contain at least
+     * one signature; if this is not the case an exception (PGPException) is
+     * thrown. A signature verification is executed. ignore: Contained
+     * signatures in the PGP message are ignored; no signature verification is
+     * executed. no_signature_allowed: The PGP message must not contain a
+     * signature; otherwise an exception (PGPException) is thrown.
+     */
+    private String signatureVerificationOption;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getKeyUserid() {
+        return keyUserid;
+    }
+
+    public void setKeyUserid(String keyUserid) {
+        this.keyUserid = keyUserid;
+    }
+
+    public String getSignatureKeyUserid() {
+        return signatureKeyUserid;
+    }
+
+    public void setSignatureKeyUserid(String signatureKeyUserid) {
+        this.signatureKeyUserid = signatureKeyUserid;
+    }
+
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+    public String getSignaturePassword() {
+        return signaturePassword;
+    }
+
+    public void setSignaturePassword(String signaturePassword) {
+        this.signaturePassword = signaturePassword;
+    }
+
+    public String getKeyFileName() {
+        return keyFileName;
+    }
+
+    public void setKeyFileName(String keyFileName) {
+        this.keyFileName = keyFileName;
+    }
+
+    public String getSignatureKeyFileName() {
+        return signatureKeyFileName;
+    }
+
+    public void setSignatureKeyFileName(String signatureKeyFileName) {
+        this.signatureKeyFileName = signatureKeyFileName;
+    }
+
+    public String getSignatureKeyRing() {
+        return signatureKeyRing;
+    }
+
+    public void setSignatureKeyRing(String signatureKeyRing) {
+        this.signatureKeyRing = signatureKeyRing;
+    }
+
+    public Boolean getArmored() {
+        return armored;
+    }
+
+    public void setArmored(Boolean armored) {
+        this.armored = armored;
+    }
+
+    public Boolean getIntegrity() {
+        return integrity;
+    }
+
+    public void setIntegrity(Boolean integrity) {
+        this.integrity = integrity;
+    }
+
+    public String getProvider() {
+        return provider;
+    }
+
+    public void setProvider(String provider) {
+        this.provider = provider;
+    }
+
+    public Integer getAlgorithm() {
+        return algorithm;
+    }
+
+    public void setAlgorithm(Integer algorithm) {
+        this.algorithm = algorithm;
+    }
+
+    public Integer getCompressionAlgorithm() {
+        return compressionAlgorithm;
+    }
+
+    public void setCompressionAlgorithm(Integer compressionAlgorithm) {
+        this.compressionAlgorithm = compressionAlgorithm;
+    }
+
+    public Integer getHashAlgorithm() {
+        return hashAlgorithm;
+    }
+
+    public void setHashAlgorithm(Integer hashAlgorithm) {
+        this.hashAlgorithm = hashAlgorithm;
+    }
+
+    public String getSignatureVerificationOption() {
+        return signatureVerificationOption;
+    }
+
+    public void setSignatureVerificationOption(
+            String signatureVerificationOption) {
+        this.signatureVerificationOption = signatureVerificationOption;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-crypto/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-crypto/src/main/resources/META-INF/spring.factories b/components/camel-crypto/src/main/resources/META-INF/spring.factories
index 7fd3d83..5b0c343 100644
--- a/components/camel-crypto/src/main/resources/META-INF/spring.factories
+++ b/components/camel-crypto/src/main/resources/META-INF/spring.factories
@@ -16,4 +16,8 @@
 #
 
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.apache.camel.component.crypto.springboot.DigitalSignatureComponentAutoConfiguration
+org.apache.camel.component.crypto.springboot.DigitalSignatureComponentAutoConfiguration,\
+org.apache.camel.converter.crypto.springboot.CryptoDataFormatAutoConfiguration,\
+org.apache.camel.converter.crypto.springboot.PGPDataFormatAutoConfiguration
+
+

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatAutoConfiguration.java b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..1c95f13
--- /dev/null
+++ b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatAutoConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.csv.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.csv.CsvDataFormat;
+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(CsvDataFormatConfiguration.class)
+public class CsvDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(CsvDataFormat.class)
+    public CsvDataFormat configureCsvDataFormat(CamelContext camelContext,
+            CsvDataFormatConfiguration configuration) throws Exception {
+        CsvDataFormat dataformat = new CsvDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        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/f9b58d31/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatConfiguration.java b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatConfiguration.java
new file mode 100644
index 0000000..ce5b053
--- /dev/null
+++ b/components/camel-csv/src/main/java/org/apache/camel/dataformat/csv/springboot/CsvDataFormatConfiguration.java
@@ -0,0 +1,322 @@
+/**
+ * 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.csv.springboot;
+
+import java.util.List;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel CSV data format support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.csv")
+public class CsvDataFormatConfiguration {
+
+    /**
+     * The reference format to use it will be updated with the other format
+     * options the default value is CSVFormat.DEFAULT
+     */
+    private String formatRef;
+    /**
+     * The name of the format to use the default value is CSVFormat.DEFAULT
+     */
+    private String formatName;
+    /**
+     * Disables the comment marker of the reference format.
+     */
+    private Boolean commentMarkerDisabled;
+    /**
+     * Sets the comment marker of the reference format.
+     */
+    private String commentMarker;
+    /**
+     * Sets the delimiter to use. The default value is (comma)
+     */
+    private String delimiter;
+    /**
+     * Use for disabling using escape character
+     */
+    private Boolean escapeDisabled;
+    /**
+     * Sets the escape character to use
+     */
+    private String escape;
+    /**
+     * Use for disabling headers
+     */
+    private Boolean headerDisabled;
+    /**
+     * To configure the CSV headers
+     */
+    private List<java.lang.String> header;
+    /**
+     * Whether to allow missing column names.
+     */
+    private Boolean allowMissingColumnNames;
+    /**
+     * Whether to ignore empty lines.
+     */
+    private Boolean ignoreEmptyLines;
+    /**
+     * Whether to ignore surrounding spaces
+     */
+    private Boolean ignoreSurroundingSpaces;
+    /**
+     * Used to disable null strings
+     */
+    private Boolean nullStringDisabled;
+    /**
+     * Sets the null string
+     */
+    private String nullString;
+    /**
+     * Used to disable quotes
+     */
+    private Boolean quoteDisabled;
+    /**
+     * Sets the quote which by default is
+     */
+    private String quote;
+    /**
+     * Used for disabling record separator
+     */
+    private String recordSeparatorDisabled;
+    /**
+     * Sets the record separator (aka new line) which by default is \r\n (CRLF)
+     */
+    private String recordSeparator;
+    /**
+     * Whether to skip the header record in the output
+     */
+    private Boolean skipHeaderRecord;
+    /**
+     * Sets the quote mode
+     */
+    private String quoteMode;
+    /**
+     * Whether the unmarshalling should produce an iterator that reads the lines
+     * on the fly or if all the lines must be read at one.
+     */
+    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).
+     */
+    private Boolean useMaps;
+    /**
+     * Refers to a custom CsvRecordConverter to lookup from the registry to use.
+     */
+    private String recordConverterRef;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getFormatRef() {
+        return formatRef;
+    }
+
+    public void setFormatRef(String formatRef) {
+        this.formatRef = formatRef;
+    }
+
+    public String getFormatName() {
+        return formatName;
+    }
+
+    public void setFormatName(String formatName) {
+        this.formatName = formatName;
+    }
+
+    public Boolean getCommentMarkerDisabled() {
+        return commentMarkerDisabled;
+    }
+
+    public void setCommentMarkerDisabled(Boolean commentMarkerDisabled) {
+        this.commentMarkerDisabled = commentMarkerDisabled;
+    }
+
+    public String getCommentMarker() {
+        return commentMarker;
+    }
+
+    public void setCommentMarker(String commentMarker) {
+        this.commentMarker = commentMarker;
+    }
+
+    public String getDelimiter() {
+        return delimiter;
+    }
+
+    public void setDelimiter(String delimiter) {
+        this.delimiter = delimiter;
+    }
+
+    public Boolean getEscapeDisabled() {
+        return escapeDisabled;
+    }
+
+    public void setEscapeDisabled(Boolean escapeDisabled) {
+        this.escapeDisabled = escapeDisabled;
+    }
+
+    public String getEscape() {
+        return escape;
+    }
+
+    public void setEscape(String escape) {
+        this.escape = escape;
+    }
+
+    public Boolean getHeaderDisabled() {
+        return headerDisabled;
+    }
+
+    public void setHeaderDisabled(Boolean headerDisabled) {
+        this.headerDisabled = headerDisabled;
+    }
+
+    public List<String> getHeader() {
+        return header;
+    }
+
+    public void setHeader(List<String> header) {
+        this.header = header;
+    }
+
+    public Boolean getAllowMissingColumnNames() {
+        return allowMissingColumnNames;
+    }
+
+    public void setAllowMissingColumnNames(Boolean allowMissingColumnNames) {
+        this.allowMissingColumnNames = allowMissingColumnNames;
+    }
+
+    public Boolean getIgnoreEmptyLines() {
+        return ignoreEmptyLines;
+    }
+
+    public void setIgnoreEmptyLines(Boolean ignoreEmptyLines) {
+        this.ignoreEmptyLines = ignoreEmptyLines;
+    }
+
+    public Boolean getIgnoreSurroundingSpaces() {
+        return ignoreSurroundingSpaces;
+    }
+
+    public void setIgnoreSurroundingSpaces(Boolean ignoreSurroundingSpaces) {
+        this.ignoreSurroundingSpaces = ignoreSurroundingSpaces;
+    }
+
+    public Boolean getNullStringDisabled() {
+        return nullStringDisabled;
+    }
+
+    public void setNullStringDisabled(Boolean nullStringDisabled) {
+        this.nullStringDisabled = nullStringDisabled;
+    }
+
+    public String getNullString() {
+        return nullString;
+    }
+
+    public void setNullString(String nullString) {
+        this.nullString = nullString;
+    }
+
+    public Boolean getQuoteDisabled() {
+        return quoteDisabled;
+    }
+
+    public void setQuoteDisabled(Boolean quoteDisabled) {
+        this.quoteDisabled = quoteDisabled;
+    }
+
+    public String getQuote() {
+        return quote;
+    }
+
+    public void setQuote(String quote) {
+        this.quote = quote;
+    }
+
+    public String getRecordSeparatorDisabled() {
+        return recordSeparatorDisabled;
+    }
+
+    public void setRecordSeparatorDisabled(String recordSeparatorDisabled) {
+        this.recordSeparatorDisabled = recordSeparatorDisabled;
+    }
+
+    public String getRecordSeparator() {
+        return recordSeparator;
+    }
+
+    public void setRecordSeparator(String recordSeparator) {
+        this.recordSeparator = recordSeparator;
+    }
+
+    public Boolean getSkipHeaderRecord() {
+        return skipHeaderRecord;
+    }
+
+    public void setSkipHeaderRecord(Boolean skipHeaderRecord) {
+        this.skipHeaderRecord = skipHeaderRecord;
+    }
+
+    public String getQuoteMode() {
+        return quoteMode;
+    }
+
+    public void setQuoteMode(String quoteMode) {
+        this.quoteMode = quoteMode;
+    }
+
+    public Boolean getLazyLoad() {
+        return lazyLoad;
+    }
+
+    public void setLazyLoad(Boolean lazyLoad) {
+        this.lazyLoad = lazyLoad;
+    }
+
+    public Boolean getUseMaps() {
+        return useMaps;
+    }
+
+    public void setUseMaps(Boolean useMaps) {
+        this.useMaps = useMaps;
+    }
+
+    public String getRecordConverterRef() {
+        return recordConverterRef;
+    }
+
+    public void setRecordConverterRef(String recordConverterRef) {
+        this.recordConverterRef = recordConverterRef;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-csv/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-csv/src/main/resources/META-INF/spring.factories b/components/camel-csv/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..3003079
--- /dev/null
+++ b/components/camel-csv/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+org.apache.camel.dataformat.csv.springboot.CsvDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatAutoConfiguration.java b/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..2cde3a8
--- /dev/null
+++ b/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatAutoConfiguration.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.flatpack.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.flatpack.FlatpackDataFormat;
+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(FlatpackDataFormatConfiguration.class)
+public class FlatpackDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(FlatpackDataFormat.class)
+    public FlatpackDataFormat configureFlatpackDataFormat(
+            CamelContext camelContext,
+            FlatpackDataFormatConfiguration configuration) throws Exception {
+        FlatpackDataFormat dataformat = new FlatpackDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        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/f9b58d31/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatConfiguration.java b/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatConfiguration.java
new file mode 100644
index 0000000..73834f0
--- /dev/null
+++ b/components/camel-flatpack/src/main/java/org/apache/camel/dataformat/flatpack/springboot/FlatpackDataFormatConfiguration.java
@@ -0,0 +1,141 @@
+/**
+ * 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.flatpack.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel FlatPack support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.flatpack")
+public class FlatpackDataFormatConfiguration {
+
+    /**
+     * References to a custom parser factory to lookup in the registry
+     */
+    private String parserFactoryRef;
+    /**
+     * The flatpack pzmap configuration file. Can be omitted in simpler
+     * situations but its preferred to use the pzmap.
+     */
+    private String definition;
+    /**
+     * Delimited or fixed. Is by default false = delimited
+     */
+    private Boolean fixed;
+    /**
+     * Whether the first line is ignored for delimited files (for the column
+     * headers). Is by default true.
+     */
+    private Boolean ignoreFirstRecord;
+    /**
+     * If the text is qualified with a char such as "
+     */
+    private String textQualifier;
+    /**
+     * The delimiter char (could be ; or similar)
+     */
+    private String delimiter;
+    /**
+     * Allows for lines to be shorter than expected and ignores the extra
+     * characters
+     */
+    private Boolean allowShortLines;
+    /**
+     * Allows for lines to be longer than expected and ignores the extra
+     * characters.
+     */
+    private Boolean ignoreExtraColumns;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getParserFactoryRef() {
+        return parserFactoryRef;
+    }
+
+    public void setParserFactoryRef(String parserFactoryRef) {
+        this.parserFactoryRef = parserFactoryRef;
+    }
+
+    public String getDefinition() {
+        return definition;
+    }
+
+    public void setDefinition(String definition) {
+        this.definition = definition;
+    }
+
+    public Boolean getFixed() {
+        return fixed;
+    }
+
+    public void setFixed(Boolean fixed) {
+        this.fixed = fixed;
+    }
+
+    public Boolean getIgnoreFirstRecord() {
+        return ignoreFirstRecord;
+    }
+
+    public void setIgnoreFirstRecord(Boolean ignoreFirstRecord) {
+        this.ignoreFirstRecord = ignoreFirstRecord;
+    }
+
+    public String getTextQualifier() {
+        return textQualifier;
+    }
+
+    public void setTextQualifier(String textQualifier) {
+        this.textQualifier = textQualifier;
+    }
+
+    public String getDelimiter() {
+        return delimiter;
+    }
+
+    public void setDelimiter(String delimiter) {
+        this.delimiter = delimiter;
+    }
+
+    public Boolean getAllowShortLines() {
+        return allowShortLines;
+    }
+
+    public void setAllowShortLines(Boolean allowShortLines) {
+        this.allowShortLines = allowShortLines;
+    }
+
+    public Boolean getIgnoreExtraColumns() {
+        return ignoreExtraColumns;
+    }
+
+    public void setIgnoreExtraColumns(Boolean ignoreExtraColumns) {
+        this.ignoreExtraColumns = ignoreExtraColumns;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-flatpack/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-flatpack/src/main/resources/META-INF/spring.factories b/components/camel-flatpack/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..c72aa75
--- /dev/null
+++ b/components/camel-flatpack/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+org.apache.camel.dataformat.flatpack.springboot.FlatpackDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-gson/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-gson/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatAutoConfiguration.java b/components/camel-gson/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..f7a2824
--- /dev/null
+++ b/components/camel-gson/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatAutoConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.component.gson.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.component.gson.GsonDataFormat;
+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(GsonDataFormatConfiguration.class)
+public class GsonDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(GsonDataFormat.class)
+    public GsonDataFormat configureGsonDataFormat(CamelContext camelContext,
+            GsonDataFormatConfiguration configuration) throws Exception {
+        GsonDataFormat dataformat = new GsonDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        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/f9b58d31/components/camel-gson/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-gson/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatConfiguration.java b/components/camel-gson/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatConfiguration.java
new file mode 100644
index 0000000..23b3987
--- /dev/null
+++ b/components/camel-gson/src/main/java/org/apache/camel/component/gson/springboot/GsonDataFormatConfiguration.java
@@ -0,0 +1,256 @@
+/**
+ * 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.component.gson.springboot;
+
+import org.apache.camel.model.dataformat.JsonLibrary;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Gson support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.json")
+public class GsonDataFormatConfiguration {
+
+    /**
+     * 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;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    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;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-gson/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-gson/src/main/resources/META-INF/spring.factories b/components/camel-gson/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..a07ad8e
--- /dev/null
+++ b/components/camel-gson/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+org.apache.camel.component.gson.springboot.GsonDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-hessian/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-hessian/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatAutoConfiguration.java b/components/camel-hessian/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..c890ae8
--- /dev/null
+++ b/components/camel-hessian/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatAutoConfiguration.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.hessian.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.hessian.HessianDataFormat;
+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(HessianDataFormatConfiguration.class)
+public class HessianDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(HessianDataFormat.class)
+    public HessianDataFormat configureHessianDataFormat(
+            CamelContext camelContext,
+            HessianDataFormatConfiguration configuration) throws Exception {
+        HessianDataFormat dataformat = new HessianDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        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/f9b58d31/components/camel-hessian/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-hessian/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatConfiguration.java b/components/camel-hessian/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatConfiguration.java
new file mode 100644
index 0000000..9c4c0b3
--- /dev/null
+++ b/components/camel-hessian/src/main/java/org/apache/camel/dataformat/hessian/springboot/HessianDataFormatConfiguration.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.hessian.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Hessian serialization support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.hessian")
+public class HessianDataFormatConfiguration {
+
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-hessian/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-hessian/src/main/resources/META-INF/spring.factories b/components/camel-hessian/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..a4c6969
--- /dev/null
+++ b/components/camel-hessian/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+org.apache.camel.dataformat.hessian.springboot.HessianDataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatAutoConfiguration.java b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatAutoConfiguration.java
new file mode 100644
index 0000000..b4283c8
--- /dev/null
+++ b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatAutoConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.component.hl7.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.component.hl7.HL7DataFormat;
+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(HL7DataFormatConfiguration.class)
+public class HL7DataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(HL7DataFormat.class)
+    public HL7DataFormat configureHL7DataFormat(CamelContext camelContext,
+            HL7DataFormatConfiguration configuration) throws Exception {
+        HL7DataFormat dataformat = new HL7DataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        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/f9b58d31/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatConfiguration.java b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatConfiguration.java
new file mode 100644
index 0000000..a39fd4d
--- /dev/null
+++ b/components/camel-hl7/src/main/java/org/apache/camel/component/hl7/springboot/HL7DataFormatConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.component.hl7.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel HL7 support
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.hl7")
+public class HL7DataFormatConfiguration {
+
+    /**
+     * Whether to validate the HL7 message Is by default true.
+     */
+    private Boolean validate;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public Boolean getValidate() {
+        return validate;
+    }
+
+    public void setValidate(Boolean validate) {
+        this.validate = validate;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-hl7/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-hl7/src/main/resources/META-INF/spring.factories b/components/camel-hl7/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..581cf0e
--- /dev/null
+++ b/components/camel-hl7/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+org.apache.camel.component.hl7.springboot.HL7DataFormatAutoConfiguration

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-ical/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-ical/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatAutoConfiguration.java b/components/camel-ical/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..1ec899c
--- /dev/null
+++ b/components/camel-ical/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatAutoConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.component.ical.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.component.ical.ICalDataFormat;
+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(ICalDataFormatConfiguration.class)
+public class ICalDataFormatAutoConfiguration {
+
+    @Bean
+    @ConditionalOnClass(CamelContext.class)
+    @ConditionalOnMissingBean(ICalDataFormat.class)
+    public ICalDataFormat configureICalDataFormat(CamelContext camelContext,
+            ICalDataFormatConfiguration configuration) throws Exception {
+        ICalDataFormat dataformat = new ICalDataFormat();
+        if (dataformat instanceof CamelContextAware) {
+            ((CamelContextAware) dataformat).setCamelContext(camelContext);
+        }
+        Map<String, Object> parameters = new HashMap<>();
+        IntrospectionSupport.getProperties(configuration, parameters, null);
+        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/f9b58d31/components/camel-ical/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-ical/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatConfiguration.java b/components/camel-ical/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatConfiguration.java
new file mode 100644
index 0000000..e7fedf6
--- /dev/null
+++ b/components/camel-ical/src/main/java/org/apache/camel/component/ical/springboot/ICalDataFormatConfiguration.java
@@ -0,0 +1,53 @@
+/**
+ * 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.component.ical.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel iCal component
+ * 
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.ical")
+public class ICalDataFormatConfiguration {
+
+    /**
+     * Whether to validate.
+     */
+    private Boolean validating;
+    /**
+     * Sets the value of the id property.
+     */
+    private String id;
+
+    public Boolean getValidating() {
+        return validating;
+    }
+
+    public void setValidating(Boolean validating) {
+        this.validating = validating;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-ical/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-ical/src/main/resources/META-INF/spring.factories b/components/camel-ical/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..a92e59e
--- /dev/null
+++ b/components/camel-ical/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,19 @@
+#
+# 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.
+#
+
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+org.apache.camel.component.ical.springboot.ICalDataFormatAutoConfiguration