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:25 UTC
[04/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-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatAutoConfiguration.java b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..8f85084
--- /dev/null
+++ b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatAutoConfiguration.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.component.jackson.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.component.jackson.JacksonDataFormat;
+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(JacksonDataFormatConfiguration.class)
+public class JacksonDataFormatAutoConfiguration {
+
+ @Bean
+ @ConditionalOnClass(CamelContext.class)
+ @ConditionalOnMissingBean(JacksonDataFormat.class)
+ public JacksonDataFormat configureJacksonDataFormat(
+ CamelContext camelContext,
+ JacksonDataFormatConfiguration configuration) throws Exception {
+ JacksonDataFormat dataformat = new JacksonDataFormat();
+ 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-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.java
new file mode 100644
index 0000000..7f396c5
--- /dev/null
+++ b/components/camel-jackson/src/main/java/org/apache/camel/component/jackson/springboot/JacksonDataFormatConfiguration.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.jackson.springboot;
+
+import org.apache.camel.model.dataformat.JsonLibrary;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Jackson support
+ *
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.json")
+public class JacksonDataFormatConfiguration {
+
+ /**
+ * 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-jackson/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-jackson/src/main/resources/META-INF/spring.factories b/components/camel-jackson/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..1617dcb
--- /dev/null
+++ b/components/camel-jackson/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.jackson.springboot.JacksonDataFormatAutoConfiguration
http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatAutoConfiguration.java b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..b836598
--- /dev/null
+++ b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatAutoConfiguration.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.component.jacksonxml.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.component.jacksonxml.JacksonXMLDataFormat;
+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(JacksonXMLDataFormatConfiguration.class)
+public class JacksonXMLDataFormatAutoConfiguration {
+
+ @Bean
+ @ConditionalOnClass(CamelContext.class)
+ @ConditionalOnMissingBean(JacksonXMLDataFormat.class)
+ public JacksonXMLDataFormat configureJacksonXMLDataFormat(
+ CamelContext camelContext,
+ JacksonXMLDataFormatConfiguration configuration) throws Exception {
+ JacksonXMLDataFormat dataformat = new JacksonXMLDataFormat();
+ 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-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java
new file mode 100644
index 0000000..5294ee2
--- /dev/null
+++ b/components/camel-jacksonxml/src/main/java/org/apache/camel/component/jacksonxml/springboot/JacksonXMLDataFormatConfiguration.java
@@ -0,0 +1,220 @@
+/**
+ * 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.jacksonxml.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Jackson XML support
+ *
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.jacksonxml")
+public class JacksonXMLDataFormatConfiguration {
+
+ /**
+ * Lookup and use the existing XmlMapper with the given id.
+ */
+ private String xmlMapper;
+ /**
+ * To enable pretty printing output nicely formatted. Is by default false.
+ */
+ private Boolean prettyPrint;
+ /**
+ * 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;
+ /**
+ * Sets the value of the id property.
+ */
+ private String id;
+
+ public String getXmlMapper() {
+ return xmlMapper;
+ }
+
+ public void setXmlMapper(String xmlMapper) {
+ this.xmlMapper = xmlMapper;
+ }
+
+ public Boolean getPrettyPrint() {
+ return prettyPrint;
+ }
+
+ public void setPrettyPrint(Boolean prettyPrint) {
+ this.prettyPrint = prettyPrint;
+ }
+
+ 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 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-jacksonxml/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-jacksonxml/src/main/resources/META-INF/spring.factories b/components/camel-jacksonxml/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..4b51ccc
--- /dev/null
+++ b/components/camel-jacksonxml/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.jacksonxml.springboot.JacksonXMLDataFormatAutoConfiguration
http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatAutoConfiguration.java b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..ef0513b
--- /dev/null
+++ b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatAutoConfiguration.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.jaxb.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.converter.jaxb.JaxbDataFormat;
+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(JaxbDataFormatConfiguration.class)
+public class JaxbDataFormatAutoConfiguration {
+
+ @Bean
+ @ConditionalOnClass(CamelContext.class)
+ @ConditionalOnMissingBean(JaxbDataFormat.class)
+ public JaxbDataFormat configureJaxbDataFormat(CamelContext camelContext,
+ JaxbDataFormatConfiguration configuration) throws Exception {
+ JaxbDataFormat dataformat = new JaxbDataFormat();
+ 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-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java
new file mode 100644
index 0000000..85efa08
--- /dev/null
+++ b/components/camel-jaxb/src/main/java/org/apache/camel/converter/jaxb/springboot/JaxbDataFormatConfiguration.java
@@ -0,0 +1,239 @@
+/**
+ * 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.jaxb.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel JAXB support
+ *
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.jaxb")
+public class JaxbDataFormatConfiguration {
+
+ /**
+ * Package name where your JAXB classes are located.
+ */
+ private String contextPath;
+ /**
+ * To validate against an existing schema. Your can use the prefix
+ * classpath: file: or http: to specify how the resource should by resolved.
+ * You can separate multiple schema files by using the '' character.
+ */
+ private String schema;
+ /**
+ * To enable pretty printing output nicely formatted. Is by default false.
+ */
+ private Boolean prettyPrint;
+ /**
+ * Whether to allow using ObjectFactory classes to create the POJO classes
+ * during marshalling. This only applies to POJO classes that has not been
+ * annotated with JAXB and providing jaxb.index descriptor files.
+ */
+ private Boolean objectFactory;
+ /**
+ * Whether to ignore JAXBElement elements - only needed to be set to false
+ * in very special use-cases.
+ */
+ private Boolean ignoreJAXBElement;
+ /**
+ * Whether marhsalling must be java objects with JAXB annotations. And if
+ * not then it fails. This option can be set to false to relax that such as
+ * when the data is already in XML format.
+ */
+ private Boolean mustBeJAXBElement;
+ /**
+ * To ignore non xml characheters and replace them with an empty space.
+ */
+ private Boolean filterNonXmlChars;
+ /**
+ * To overrule and use a specific encoding
+ */
+ private String encoding;
+ /**
+ * To turn on marshalling XML fragment trees. By default JAXB looks for
+ * XmlRootElement annotation on given class to operate on whole XML tree.
+ * This is useful but not always - sometimes generated code does not have
+ * XmlRootElement annotation sometimes you need unmarshall only part of
+ * tree. In that case you can use partial unmarshalling. To enable this
+ * behaviours you need set property partClass. Camel will pass this class to
+ * JAXB's unmarshaler.
+ */
+ private Boolean fragment;
+ /**
+ * Name of class used for fragment parsing. See more details at the fragment
+ * option.
+ */
+ private String partClass;
+ /**
+ * XML namespace to use for fragment parsing. See more details at the
+ * fragment option.
+ */
+ private String partNamespace;
+ /**
+ * When marshalling using JAXB or SOAP then the JAXB implementation will
+ * automatic assign namespace prefixes such as ns2 ns3 ns4 etc. To control
+ * this mapping Camel allows you to refer to a map which contains the
+ * desired mapping.
+ */
+ private String namespacePrefixRef;
+ /**
+ * To use a custom xml stream writer.
+ */
+ private String xmlStreamWriterWrapper;
+ /**
+ * To define the location of the schema
+ */
+ private String schemaLocation;
+ /**
+ * To define the location of the namespaceless schema
+ */
+ private String noNamespaceSchemaLocation;
+ /**
+ * Sets the value of the id property.
+ */
+ private String id;
+
+ public String getContextPath() {
+ return contextPath;
+ }
+
+ public void setContextPath(String contextPath) {
+ this.contextPath = contextPath;
+ }
+
+ public String getSchema() {
+ return schema;
+ }
+
+ public void setSchema(String schema) {
+ this.schema = schema;
+ }
+
+ public Boolean getPrettyPrint() {
+ return prettyPrint;
+ }
+
+ public void setPrettyPrint(Boolean prettyPrint) {
+ this.prettyPrint = prettyPrint;
+ }
+
+ public Boolean getObjectFactory() {
+ return objectFactory;
+ }
+
+ public void setObjectFactory(Boolean objectFactory) {
+ this.objectFactory = objectFactory;
+ }
+
+ public Boolean getIgnoreJAXBElement() {
+ return ignoreJAXBElement;
+ }
+
+ public void setIgnoreJAXBElement(Boolean ignoreJAXBElement) {
+ this.ignoreJAXBElement = ignoreJAXBElement;
+ }
+
+ public Boolean getMustBeJAXBElement() {
+ return mustBeJAXBElement;
+ }
+
+ public void setMustBeJAXBElement(Boolean mustBeJAXBElement) {
+ this.mustBeJAXBElement = mustBeJAXBElement;
+ }
+
+ public Boolean getFilterNonXmlChars() {
+ return filterNonXmlChars;
+ }
+
+ public void setFilterNonXmlChars(Boolean filterNonXmlChars) {
+ this.filterNonXmlChars = filterNonXmlChars;
+ }
+
+ public String getEncoding() {
+ return encoding;
+ }
+
+ public void setEncoding(String encoding) {
+ this.encoding = encoding;
+ }
+
+ public Boolean getFragment() {
+ return fragment;
+ }
+
+ public void setFragment(Boolean fragment) {
+ this.fragment = fragment;
+ }
+
+ public String getPartClass() {
+ return partClass;
+ }
+
+ public void setPartClass(String partClass) {
+ this.partClass = partClass;
+ }
+
+ public String getPartNamespace() {
+ return partNamespace;
+ }
+
+ public void setPartNamespace(String partNamespace) {
+ this.partNamespace = partNamespace;
+ }
+
+ public String getNamespacePrefixRef() {
+ return namespacePrefixRef;
+ }
+
+ public void setNamespacePrefixRef(String namespacePrefixRef) {
+ this.namespacePrefixRef = namespacePrefixRef;
+ }
+
+ public String getXmlStreamWriterWrapper() {
+ return xmlStreamWriterWrapper;
+ }
+
+ public void setXmlStreamWriterWrapper(String xmlStreamWriterWrapper) {
+ this.xmlStreamWriterWrapper = xmlStreamWriterWrapper;
+ }
+
+ public String getSchemaLocation() {
+ return schemaLocation;
+ }
+
+ public void setSchemaLocation(String schemaLocation) {
+ this.schemaLocation = schemaLocation;
+ }
+
+ public String getNoNamespaceSchemaLocation() {
+ return noNamespaceSchemaLocation;
+ }
+
+ public void setNoNamespaceSchemaLocation(String noNamespaceSchemaLocation) {
+ this.noNamespaceSchemaLocation = noNamespaceSchemaLocation;
+ }
+
+ 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-jaxb/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-jaxb/src/main/resources/META-INF/spring.factories b/components/camel-jaxb/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..4435382
--- /dev/null
+++ b/components/camel-jaxb/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.converter.jaxb.springboot.JaxbDataFormatAutoConfiguration
http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatAutoConfiguration.java b/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..e560911
--- /dev/null
+++ b/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatAutoConfiguration.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.jibx.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.jibx.JibxDataFormat;
+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(JibxDataFormatConfiguration.class)
+public class JibxDataFormatAutoConfiguration {
+
+ @Bean
+ @ConditionalOnClass(CamelContext.class)
+ @ConditionalOnMissingBean(JibxDataFormat.class)
+ public JibxDataFormat configureJibxDataFormat(CamelContext camelContext,
+ JibxDataFormatConfiguration configuration) throws Exception {
+ JibxDataFormat dataformat = new JibxDataFormat();
+ 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-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java b/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java
new file mode 100644
index 0000000..1ef3012
--- /dev/null
+++ b/components/camel-jibx/src/main/java/org/apache/camel/dataformat/jibx/springboot/JibxDataFormatConfiguration.java
@@ -0,0 +1,65 @@
+/**
+ * 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.jibx.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Jibx support
+ *
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.jibx")
+public class JibxDataFormatConfiguration {
+
+ /**
+ * Class name to use when unmarshalling from XML to Java.
+ */
+ private String unmarshallClass;
+ /**
+ * To use a custom binding factory
+ */
+ private String bindingName;
+ /**
+ * Sets the value of the id property.
+ */
+ private String id;
+
+ public String getUnmarshallClass() {
+ return unmarshallClass;
+ }
+
+ public void setUnmarshallClass(String unmarshallClass) {
+ this.unmarshallClass = unmarshallClass;
+ }
+
+ public String getBindingName() {
+ return bindingName;
+ }
+
+ public void setBindingName(String bindingName) {
+ this.bindingName = bindingName;
+ }
+
+ 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-jibx/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-jibx/src/main/resources/META-INF/spring.factories b/components/camel-jibx/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..3858c09
--- /dev/null
+++ b/components/camel-jibx/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.jibx.springboot.JibxDataFormatAutoConfiguration
http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatAutoConfiguration.java b/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..aafabc0
--- /dev/null
+++ b/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatAutoConfiguration.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.lzf.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.lzf.LZFDataFormat;
+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(LZFDataFormatConfiguration.class)
+public class LZFDataFormatAutoConfiguration {
+
+ @Bean
+ @ConditionalOnClass(CamelContext.class)
+ @ConditionalOnMissingBean(LZFDataFormat.class)
+ public LZFDataFormat configureLZFDataFormat(CamelContext camelContext,
+ LZFDataFormatConfiguration configuration) throws Exception {
+ LZFDataFormat dataformat = new LZFDataFormat();
+ 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-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.java b/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.java
new file mode 100644
index 0000000..32d0fa3
--- /dev/null
+++ b/components/camel-lzf/src/main/java/org/apache/camel/dataformat/lzf/springboot/LZFDataFormatConfiguration.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.lzf.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel LZF support
+ *
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.lzf")
+public class LZFDataFormatConfiguration {
+
+ /**
+ * Enable encoding (compress) using multiple processing cores.
+ */
+ private Boolean usingParallelCompression;
+ /**
+ * Sets the value of the id property.
+ */
+ private String id;
+
+ public Boolean getUsingParallelCompression() {
+ return usingParallelCompression;
+ }
+
+ public void setUsingParallelCompression(Boolean usingParallelCompression) {
+ this.usingParallelCompression = usingParallelCompression;
+ }
+
+ 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-lzf/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-lzf/src/main/resources/META-INF/spring.factories b/components/camel-lzf/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..5241e09
--- /dev/null
+++ b/components/camel-lzf/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.lzf.springboot.LZFDataFormatAutoConfiguration
http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatAutoConfiguration.java b/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..64c5ef1
--- /dev/null
+++ b/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatAutoConfiguration.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.mime.multipart.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.mime.multipart.MimeMultipartDataFormat;
+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(MimeMultipartDataFormatConfiguration.class)
+public class MimeMultipartDataFormatAutoConfiguration {
+
+ @Bean
+ @ConditionalOnClass(CamelContext.class)
+ @ConditionalOnMissingBean(MimeMultipartDataFormat.class)
+ public MimeMultipartDataFormat configureMimeMultipartDataFormat(
+ CamelContext camelContext,
+ MimeMultipartDataFormatConfiguration configuration)
+ throws Exception {
+ MimeMultipartDataFormat dataformat = new MimeMultipartDataFormat();
+ 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-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java b/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java
new file mode 100644
index 0000000..be0ca8c
--- /dev/null
+++ b/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/springboot/MimeMultipartDataFormatConfiguration.java
@@ -0,0 +1,106 @@
+/**
+ * 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.mime.multipart.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Mail support
+ *
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.mime-multipart")
+public class MimeMultipartDataFormatConfiguration {
+
+ /**
+ * Specify the subtype of the MIME Multipart. Default is mixed.
+ */
+ private String multipartSubType;
+ /**
+ * Defines whether a message without attachment is also marshaled into a
+ * MIME Multipart (with only one body part). Default is false.
+ */
+ private Boolean multipartWithoutAttachment;
+ /**
+ * Defines whether the MIME-Multipart headers are part of the message body
+ * (true) or are set as Camel headers (false). Default is false.
+ */
+ private Boolean headersInline;
+ /**
+ * A regex that defines which Camel headers are also included as MIME
+ * headers into the MIME multipart. This will only work if headersInline is
+ * set to true. Default is to include no headers
+ */
+ private String includeHeaders;
+ /**
+ * Defines whether the content of binary parts in the MIME multipart is
+ * binary (true) or Base-64 encoded (false) Default is false.
+ */
+ private Boolean binaryContent;
+ /**
+ * Sets the value of the id property.
+ */
+ private String id;
+
+ public String getMultipartSubType() {
+ return multipartSubType;
+ }
+
+ public void setMultipartSubType(String multipartSubType) {
+ this.multipartSubType = multipartSubType;
+ }
+
+ public Boolean getMultipartWithoutAttachment() {
+ return multipartWithoutAttachment;
+ }
+
+ public void setMultipartWithoutAttachment(Boolean multipartWithoutAttachment) {
+ this.multipartWithoutAttachment = multipartWithoutAttachment;
+ }
+
+ public Boolean getHeadersInline() {
+ return headersInline;
+ }
+
+ public void setHeadersInline(Boolean headersInline) {
+ this.headersInline = headersInline;
+ }
+
+ public String getIncludeHeaders() {
+ return includeHeaders;
+ }
+
+ public void setIncludeHeaders(String includeHeaders) {
+ this.includeHeaders = includeHeaders;
+ }
+
+ public Boolean getBinaryContent() {
+ return binaryContent;
+ }
+
+ public void setBinaryContent(Boolean binaryContent) {
+ this.binaryContent = binaryContent;
+ }
+
+ 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-mail/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/resources/META-INF/spring.factories b/components/camel-mail/src/main/resources/META-INF/spring.factories
index 9791dc1..2e586fd 100644
--- a/components/camel-mail/src/main/resources/META-INF/spring.factories
+++ b/components/camel-mail/src/main/resources/META-INF/spring.factories
@@ -16,4 +16,6 @@
#
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.apache.camel.component.mail.springboot.MailComponentAutoConfiguration
+org.apache.camel.component.mail.springboot.MailComponentAutoConfiguration,\
+org.apache.camel.dataformat.mime.multipart.springboot.MimeMultipartDataFormatAutoConfiguration
+
http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatAutoConfiguration.java b/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..48faa14
--- /dev/null
+++ b/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatAutoConfiguration.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.protobuf.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.protobuf.ProtobufDataFormat;
+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(ProtobufDataFormatConfiguration.class)
+public class ProtobufDataFormatAutoConfiguration {
+
+ @Bean
+ @ConditionalOnClass(CamelContext.class)
+ @ConditionalOnMissingBean(ProtobufDataFormat.class)
+ public ProtobufDataFormat configureProtobufDataFormat(
+ CamelContext camelContext,
+ ProtobufDataFormatConfiguration configuration) throws Exception {
+ ProtobufDataFormat dataformat = new ProtobufDataFormat();
+ 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-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.java b/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.java
new file mode 100644
index 0000000..0f35cbd
--- /dev/null
+++ b/components/camel-protobuf/src/main/java/org/apache/camel/dataformat/protobuf/springboot/ProtobufDataFormatConfiguration.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.protobuf.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel Components
+ *
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.protobuf")
+public class ProtobufDataFormatConfiguration {
+
+ /**
+ * Name of class to use when unarmshalling
+ */
+ private String instanceClass;
+ /**
+ * Sets the value of the id property.
+ */
+ private String id;
+
+ public String getInstanceClass() {
+ return instanceClass;
+ }
+
+ public void setInstanceClass(String instanceClass) {
+ this.instanceClass = instanceClass;
+ }
+
+ 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-protobuf/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-protobuf/src/main/resources/META-INF/spring.factories b/components/camel-protobuf/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..cf639dc
--- /dev/null
+++ b/components/camel-protobuf/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.protobuf.springboot.ProtobufDataFormatAutoConfiguration
http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatAutoConfiguration.java b/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..466ab69
--- /dev/null
+++ b/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatAutoConfiguration.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.rss.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.rss.RssDataFormat;
+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(RssDataFormatConfiguration.class)
+public class RssDataFormatAutoConfiguration {
+
+ @Bean
+ @ConditionalOnClass(CamelContext.class)
+ @ConditionalOnMissingBean(RssDataFormat.class)
+ public RssDataFormat configureRssDataFormat(CamelContext camelContext,
+ RssDataFormatConfiguration configuration) throws Exception {
+ RssDataFormat dataformat = new RssDataFormat();
+ 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-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.java b/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.java
new file mode 100644
index 0000000..2790cd9
--- /dev/null
+++ b/components/camel-rss/src/main/java/org/apache/camel/dataformat/rss/springboot/RssDataFormatConfiguration.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.rss.springboot;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel RSS support
+ *
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.rss")
+public class RssDataFormatConfiguration {
+
+ /**
+ * 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-rss/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-rss/src/main/resources/META-INF/spring.factories b/components/camel-rss/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..5c2d5c4
--- /dev/null
+++ b/components/camel-rss/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.rss.springboot.RssDataFormatAutoConfiguration
http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatAutoConfiguration.java b/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..c29e356
--- /dev/null
+++ b/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatAutoConfiguration.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.component.snakeyaml.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.component.snakeyaml.SnakeYAMLDataFormat;
+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(SnakeYAMLDataFormatConfiguration.class)
+public class SnakeYAMLDataFormatAutoConfiguration {
+
+ @Bean
+ @ConditionalOnClass(CamelContext.class)
+ @ConditionalOnMissingBean(SnakeYAMLDataFormat.class)
+ public SnakeYAMLDataFormat configureSnakeYAMLDataFormat(
+ CamelContext camelContext,
+ SnakeYAMLDataFormatConfiguration configuration) throws Exception {
+ SnakeYAMLDataFormat dataformat = new SnakeYAMLDataFormat();
+ 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-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java b/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java
new file mode 100644
index 0000000..c663762
--- /dev/null
+++ b/components/camel-snakeyaml/src/main/java/org/apache/camel/component/snakeyaml/springboot/SnakeYAMLDataFormatConfiguration.java
@@ -0,0 +1,140 @@
+/**
+ * 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.snakeyaml.springboot;
+
+import org.apache.camel.model.dataformat.YAMLLibrary;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+/**
+ * Camel SnakeYAML support
+ *
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@ConfigurationProperties(prefix = "camel.dataformat.yaml")
+public class SnakeYAMLDataFormatConfiguration {
+
+ /**
+ * Which yaml library to use such. Is by default SnakeYAML
+ */
+ private YAMLLibrary library;
+ /**
+ * Class name of the java type to use when unarmshalling
+ */
+ private String unmarshalTypeName;
+ /**
+ * BaseConstructor to construct incoming documents.
+ */
+ private String constructor;
+ /**
+ * Representer to emit outgoing objects.
+ */
+ private String representer;
+ /**
+ * DumperOptions to configure outgoing objects.
+ */
+ private String dumperOptions;
+ /**
+ * Resolver to detect implicit type
+ */
+ private String resolver;
+ /**
+ * Use ApplicationContextClassLoader as custom ClassLoader
+ */
+ private Boolean useApplicationContextClassLoader;
+ /**
+ * Force the emitter to produce a pretty YAML document when using the flow
+ * style.
+ */
+ private Boolean prettyFlow;
+ /**
+ * Sets the value of the id property.
+ */
+ private String id;
+
+ public YAMLLibrary getLibrary() {
+ return library;
+ }
+
+ public void setLibrary(YAMLLibrary library) {
+ this.library = library;
+ }
+
+ public String getUnmarshalTypeName() {
+ return unmarshalTypeName;
+ }
+
+ public void setUnmarshalTypeName(String unmarshalTypeName) {
+ this.unmarshalTypeName = unmarshalTypeName;
+ }
+
+ public String getConstructor() {
+ return constructor;
+ }
+
+ public void setConstructor(String constructor) {
+ this.constructor = constructor;
+ }
+
+ public String getRepresenter() {
+ return representer;
+ }
+
+ public void setRepresenter(String representer) {
+ this.representer = representer;
+ }
+
+ public String getDumperOptions() {
+ return dumperOptions;
+ }
+
+ public void setDumperOptions(String dumperOptions) {
+ this.dumperOptions = dumperOptions;
+ }
+
+ public String getResolver() {
+ return resolver;
+ }
+
+ public void setResolver(String resolver) {
+ this.resolver = resolver;
+ }
+
+ public Boolean getUseApplicationContextClassLoader() {
+ return useApplicationContextClassLoader;
+ }
+
+ public void setUseApplicationContextClassLoader(
+ Boolean useApplicationContextClassLoader) {
+ this.useApplicationContextClassLoader = useApplicationContextClassLoader;
+ }
+
+ public Boolean getPrettyFlow() {
+ return prettyFlow;
+ }
+
+ public void setPrettyFlow(Boolean prettyFlow) {
+ this.prettyFlow = prettyFlow;
+ }
+
+ 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-snakeyaml/src/main/resources/META-INF/spring.factories
----------------------------------------------------------------------
diff --git a/components/camel-snakeyaml/src/main/resources/META-INF/spring.factories b/components/camel-snakeyaml/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000..3054d7e
--- /dev/null
+++ b/components/camel-snakeyaml/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.snakeyaml.springboot.SnakeYAMLDataFormatAutoConfiguration
http://git-wip-us.apache.org/repos/asf/camel/blob/f9b58d31/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatAutoConfiguration.java b/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatAutoConfiguration.java
new file mode 100644
index 0000000..4cebd0e
--- /dev/null
+++ b/components/camel-soap/src/main/java/org/apache/camel/dataformat/soap/springboot/SoapJaxbDataFormatAutoConfiguration.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.soap.springboot;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.dataformat.soap.SoapJaxbDataFormat;
+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(SoapJaxbDataFormatConfiguration.class)
+public class SoapJaxbDataFormatAutoConfiguration {
+
+ @Bean
+ @ConditionalOnClass(CamelContext.class)
+ @ConditionalOnMissingBean(SoapJaxbDataFormat.class)
+ public SoapJaxbDataFormat configureSoapJaxbDataFormat(
+ CamelContext camelContext,
+ SoapJaxbDataFormatConfiguration configuration) throws Exception {
+ SoapJaxbDataFormat dataformat = new SoapJaxbDataFormat();
+ 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