This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 0e755de  CAMEL-13770: Configuring Camel components with spring-boot 
should support Map/Set/List types as we did previously.
0e755de is described below

commit 0e755dee9263c2db142267463cfc824476f96e0c
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Jul 24 17:17:25 2019 +0200

    CAMEL-13770: Configuring Camel components with spring-boot should support 
Map/Set/List types as we did previously.
---
 .../src/main/docs/ehcache-component.adoc           |  4 +-
 .../camel/component/ehcache/EhcacheComponent.java  | 10 ++---
 .../component/ehcache/EhcacheConfiguration.java    | 10 ++---
 .../src/main/docs/fhirJson-dataformat.adoc         |  4 +-
 .../src/main/docs/fhirXml-dataformat.adoc          |  4 +-
 .../camel-jetty/src/main/docs/jetty-component.adoc |  8 ++--
 .../src/main/docs/milo-server-component.adoc       |  2 +-
 .../src/main/docs/quickfix-component.adoc          |  2 +-
 .../src/main/docs/rabbitmq-component.adoc          |  4 +-
 .../src/main/docs/salesforce-component.adoc        |  8 ++--
 .../src/main/docs/xquery-component.adoc            |  2 +-
 .../camel-saxon/src/main/docs/xquery-language.adoc |  2 +-
 .../src/main/docs/websocket-component.adoc         |  2 +-
 .../camel-xslt/src/main/docs/xslt-component.adoc   |  2 +-
 .../src/main/docs/xstream-dataformat.adoc          |  6 +--
 .../dsl/EhcacheEndpointBuilderFactory.java         | 18 +++-----
 .../modules/ROOT/pages/ehcache-component.adoc      |  4 +-
 .../modules/ROOT/pages/fhirJson-dataformat.adoc    |  4 +-
 .../modules/ROOT/pages/fhirXml-dataformat.adoc     |  4 +-
 .../modules/ROOT/pages/jetty-component.adoc        |  8 ++--
 .../modules/ROOT/pages/milo-server-component.adoc  |  2 +-
 .../modules/ROOT/pages/quickfix-component.adoc     |  2 +-
 .../modules/ROOT/pages/rabbitmq-component.adoc     |  4 +-
 .../modules/ROOT/pages/salesforce-component.adoc   |  8 ++--
 .../modules/ROOT/pages/websocket-component.adoc    |  2 +-
 .../modules/ROOT/pages/xquery-component.adoc       |  2 +-
 .../modules/ROOT/pages/xquery-language.adoc        |  2 +-
 .../modules/ROOT/pages/xslt-component.adoc         |  2 +-
 .../modules/ROOT/pages/xstream-dataformat.adoc     |  6 +--
 .../springboot/EhcacheComponentConfiguration.java  | 13 +++---
 .../customizer/CacheConfigurationCustomizer.java   |  2 +-
 .../FhirJsonDataFormatConfiguration.java           | 18 ++++----
 .../springboot/FhirXmlDataFormatConfiguration.java | 18 ++++----
 .../JettyHttpComponentConfiguration9.java          | 41 +++++++++--------
 .../MiloServerComponentConfiguration.java          | 11 +++--
 .../QuickfixjComponentConfiguration.java           | 12 ++---
 .../springboot/RabbitMQComponentConfiguration.java | 19 ++++----
 .../SalesforceComponentConfiguration.java          | 39 ++++++++--------
 .../springboot/SalesforceComponentTest.java        | 52 ++++++++++++++++++++++
 .../springboot/XQueryComponentConfiguration.java   | 11 ++---
 .../WebsocketComponentConfiguration.java           | 11 ++---
 .../springboot/XsltComponentConfiguration.java     | 10 ++---
 .../springboot/XStreamDataFormatConfiguration.java | 28 ++++++------
 .../packaging/SpringBootAutoConfigurationMojo.java | 15 ++++++-
 44 files changed, 247 insertions(+), 191 deletions(-)

diff --git a/components/camel-ehcache/src/main/docs/ehcache-component.adoc 
b/components/camel-ehcache/src/main/docs/ehcache-component.adoc
index f1843e4..afeb71f 100644
--- a/components/camel-ehcache/src/main/docs/ehcache-component.adoc
+++ b/components/camel-ehcache/src/main/docs/ehcache-component.adoc
@@ -128,11 +128,11 @@ The component supports 26 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.component.ehcache.basic-property-binding* | Whether the component 
should use basic property binding (Camel 2.x) or the newer property binding 
with additional capabilities | false | Boolean
-| *camel.component.ehcache.cache-configuration* | The default cache 
configuration to be used to create caches. The option is a 
org.ehcache.config.CacheConfiguration<?,?> type. |  | String
+| *camel.component.ehcache.cache-configuration* | The default cache 
configuration to be used to create caches. The option is a 
org.ehcache.config.CacheConfiguration type. |  | String
 | *camel.component.ehcache.cache-configuration-uri* | URI pointing to the 
Ehcache XML configuration file's location |  | String
 | *camel.component.ehcache.cache-manager* | The cache manager. The option is a 
org.ehcache.CacheManager type. |  | String
 | *camel.component.ehcache.cache-manager-configuration* | The cache manager 
configuration. The option is a org.ehcache.config.Configuration type. |  | 
String
-| *camel.component.ehcache.caches-configurations* | A map of caches 
configurations to be used to create caches. The option is a 
java.util.Map<java.lang.String,org.ehcache.config.CacheConfiguration<?,?>> 
type. |  | String
+| *camel.component.ehcache.caches-configurations* | A map of caches 
configurations to be used to create caches. |  | Map
 | *camel.component.ehcache.configuration.action* | To configure the default 
cache action. If an action is set in the message header, then the operation 
from the header takes precedence. |  | String
 | *camel.component.ehcache.configuration.cache-manager* | The cache manager |  
| CacheManager
 | *camel.component.ehcache.configuration.cache-manager-configuration* | The 
cache manager configuration |  | Configuration
diff --git 
a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheComponent.java
 
b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheComponent.java
index f90bfb2..f2b8343 100644
--- 
a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheComponent.java
+++ 
b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheComponent.java
@@ -165,26 +165,26 @@ public class EhcacheComponent extends DefaultComponent {
     /**
      * The default cache configuration to be used to create caches.
      */
-    public void setCacheConfiguration(CacheConfiguration<?, ?> 
cacheConfiguration) {
+    public void setCacheConfiguration(CacheConfiguration cacheConfiguration) {
         this.configuration.setConfiguration(cacheConfiguration);
     }
 
-    public CacheConfiguration<?, ?> getCacheConfiguration() {
+    public CacheConfiguration getCacheConfiguration() {
         return this.configuration.getConfiguration();
     }
 
-    public Map<String, CacheConfiguration<?, ?>> getCachesConfigurations() {
+    public Map<String, CacheConfiguration> getCachesConfigurations() {
         return configuration.getConfigurations();
     }
 
     /**
      * A map of caches configurations to be used to create caches.
      */
-    public void setCachesConfigurations(Map<String, CacheConfiguration<?, ?>> 
configurations) {
+    public void setCachesConfigurations(Map<String, CacheConfiguration> 
configurations) {
         configuration.setConfigurations(configurations);
     }
 
-    public void addCachesConfigurations(Map<String, CacheConfiguration<?, ?>> 
configurations) {
+    public void addCachesConfigurations(Map<String, CacheConfiguration> 
configurations) {
         configuration.addConfigurations(configurations);
     }
 
diff --git 
a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConfiguration.java
 
b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConfiguration.java
index a072129..d3922ce 100644
--- 
a/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConfiguration.java
+++ 
b/components/camel-ehcache/src/main/java/org/apache/camel/component/ehcache/EhcacheConfiguration.java
@@ -50,9 +50,9 @@ public class EhcacheConfiguration implements Cloneable {
     @UriParam
     private String configurationUri;
     @UriParam(label = "advanced")
-    private CacheConfiguration<?, ?> configuration;
+    private CacheConfiguration configuration;
     @UriParam(label = "advanced")
-    private Map<String, CacheConfiguration<?, ?>> configurations;
+    private Map<String, CacheConfiguration> configurations;
     @UriParam(label = "advanced", javaType = "java.lang.String", defaultValue 
= "java.lang.Object")
     private Class<?> keyType;
     @UriParam(label = "advanced", javaType = "java.lang.String", defaultValue 
= "java.lang.Object")
@@ -244,15 +244,15 @@ public class EhcacheConfiguration implements Cloneable {
     /**
      * A map of cache configuration to be used to create caches.
      */
-    public Map<String, CacheConfiguration<?, ?>> getConfigurations() {
+    public Map<String, CacheConfiguration> getConfigurations() {
         return configurations;
     }
 
-    public void setConfigurations(Map<String, CacheConfiguration<?, ?>> 
configurations) {
+    public void setConfigurations(Map<String, CacheConfiguration> 
configurations) {
         this.configurations = Map.class.cast(configurations);
     }
 
-    public void addConfigurations(Map<String, CacheConfiguration<?, ?>> 
configurations) {
+    public void addConfigurations(Map<String, CacheConfiguration> 
configurations) {
         if (this.configurations == null) {
             this.configurations = new HashMap<>();
         }
diff --git 
a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
 
b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
index 54e29cf..7cc0335 100644
--- 
a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
+++ 
b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
@@ -56,10 +56,10 @@ The component supports 14 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.dataformat.fhirjson.content-type-header* | Whether the data format 
should set the Content-Type header with the type from the data format if the 
data format is capable of doing so. For example application/xml for data 
formats marshalling to XML, or application/json for data formats marshalling to 
JSon etc. | false | Boolean
-| *camel.dataformat.fhirjson.dont-encode-elements* | If provided, specifies 
the elements which should NOT be encoded. Valid values for this field would 
include: Patient - Don't encode patient and all its children Patient.name - 
Don't encode the patient's name Patient.name.family - Don't encode the 
patient's family name .text - Don't encode the text element on any resource 
(only the very first position may contain a wildcard) DSTU2 note: Note that 
values including meta, such as Patient.me [...]
+| *camel.dataformat.fhirjson.dont-encode-elements* | If provided, specifies 
the elements which should NOT be encoded. Valid values for this field would 
include: Patient - Don't encode patient and all its children Patient.name - 
Don't encode the patient's name Patient.name.family - Don't encode the 
patient's family name .text - Don't encode the text element on any resource 
(only the very first position may contain a wildcard) DSTU2 note: Note that 
values including meta, such as Patient.me [...]
 | *camel.dataformat.fhirjson.dont-strip-versions-from-references-at-paths* | 
If supplied value(s), any resource references at the specified paths will have 
their resource versions encoded instead of being automatically stripped during 
the encoding process. This setting has no effect on the parsing process. This 
method provides a finer-grained level of control than 
setStripVersionsFromReferences(Boolean) and any paths specified by this method 
will be encoded even if setStripVersionsFromRe [...]
 | *camel.dataformat.fhirjson.enabled* | Whether to enable auto configuration 
of the fhirJson data format. This is enabled by default. |  | Boolean
-| *camel.dataformat.fhirjson.encode-elements* | If provided, specifies the 
elements which should be encoded, to the exclusion of all others. Valid values 
for this field would include: Patient - Encode patient and all its children 
Patient.name - Encode only the patient's name Patient.name.family - Encode only 
the patient's family name .text - Encode the text element on any resource (only 
the very first position may contain a wildcard) .(mandatory) - This is a 
special case which causes any [...]
+| *camel.dataformat.fhirjson.encode-elements* | If provided, specifies the 
elements which should be encoded, to the exclusion of all others. Valid values 
for this field would include: Patient - Encode patient and all its children 
Patient.name - Encode only the patient's name Patient.name.family - Encode only 
the patient's family name .text - Encode the text element on any resource (only 
the very first position may contain a wildcard) .(mandatory) - This is a 
special case which causes any [...]
 | *camel.dataformat.fhirjson.encode-elements-applies-to-child-resources-only* 
| If set to true (default is false), the values supplied to 
setEncodeElements(Set) will not be applied to the root resource (typically a 
Bundle), but will be applied to any sub-resources contained within it (i.e. 
search result resources in that bundle) | false | Boolean
 | *camel.dataformat.fhirjson.fhir-version* | The version of FHIR to use. 
Possible values are: DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4 | DSTU3 | String
 | *camel.dataformat.fhirjson.omit-resource-id* | If set to true (default is 
false) the ID of any resources being encoded will not be included in the 
output. Note that this does not apply to contained resources, only to root 
resources. In other words, if this is set to true, contained resources will 
still have local IDs but the outer/containing ID will not have an ID. | false | 
Boolean
diff --git 
a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
 
b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
index c9e749f..e82d22d 100644
--- 
a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
+++ 
b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
@@ -56,10 +56,10 @@ The component supports 14 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.dataformat.fhirxml.content-type-header* | Whether the data format 
should set the Content-Type header with the type from the data format if the 
data format is capable of doing so. For example application/xml for data 
formats marshalling to XML, or application/json for data formats marshalling to 
JSon etc. | false | Boolean
-| *camel.dataformat.fhirxml.dont-encode-elements* | If provided, specifies the 
elements which should NOT be encoded. Valid values for this field would 
include: Patient - Don't encode patient and all its children Patient.name - 
Don't encode the patient's name Patient.name.family - Don't encode the 
patient's family name .text - Don't encode the text element on any resource 
(only the very first position may contain a wildcard) DSTU2 note: Note that 
values including meta, such as Patient.met [...]
+| *camel.dataformat.fhirxml.dont-encode-elements* | If provided, specifies the 
elements which should NOT be encoded. Valid values for this field would 
include: Patient - Don't encode patient and all its children Patient.name - 
Don't encode the patient's name Patient.name.family - Don't encode the 
patient's family name .text - Don't encode the text element on any resource 
(only the very first position may contain a wildcard) DSTU2 note: Note that 
values including meta, such as Patient.met [...]
 | *camel.dataformat.fhirxml.dont-strip-versions-from-references-at-paths* | If 
supplied value(s), any resource references at the specified paths will have 
their resource versions encoded instead of being automatically stripped during 
the encoding process. This setting has no effect on the parsing process. This 
method provides a finer-grained level of control than 
setStripVersionsFromReferences(Boolean) and any paths specified by this method 
will be encoded even if setStripVersionsFromRef [...]
 | *camel.dataformat.fhirxml.enabled* | Whether to enable auto configuration of 
the fhirXml data format. This is enabled by default. |  | Boolean
-| *camel.dataformat.fhirxml.encode-elements* | If provided, specifies the 
elements which should be encoded, to the exclusion of all others. Valid values 
for this field would include: Patient - Encode patient and all its children 
Patient.name - Encode only the patient's name Patient.name.family - Encode only 
the patient's family name .text - Encode the text element on any resource (only 
the very first position may contain a wildcard) .(mandatory) - This is a 
special case which causes any  [...]
+| *camel.dataformat.fhirxml.encode-elements* | If provided, specifies the 
elements which should be encoded, to the exclusion of all others. Valid values 
for this field would include: Patient - Encode patient and all its children 
Patient.name - Encode only the patient's name Patient.name.family - Encode only 
the patient's family name .text - Encode the text element on any resource (only 
the very first position may contain a wildcard) .(mandatory) - This is a 
special case which causes any  [...]
 | *camel.dataformat.fhirxml.encode-elements-applies-to-child-resources-only* | 
If set to true (default is false), the values supplied to 
setEncodeElements(Set) will not be applied to the root resource (typically a 
Bundle), but will be applied to any sub-resources contained within it (i.e. 
search result resources in that bundle) | false | Boolean
 | *camel.dataformat.fhirxml.fhir-version* | The version of FHIR to use. 
Possible values are: DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4 | DSTU3 | String
 | *camel.dataformat.fhirxml.omit-resource-id* | If set to true (default is 
false) the ID of any resources being encoded will not be included in the 
output. Note that this does not apply to contained resources, only to root 
resources. In other words, if this is set to true, contained resources will 
still have local IDs but the outer/containing ID will not have an ID. | false | 
Boolean
diff --git a/components/camel-jetty/src/main/docs/jetty-component.adoc 
b/components/camel-jetty/src/main/docs/jetty-component.adoc
index 3b41171..94860ce 100644
--- a/components/camel-jetty/src/main/docs/jetty-component.adoc
+++ b/components/camel-jetty/src/main/docs/jetty-component.adoc
@@ -208,13 +208,13 @@ The component supports 35 options, which are listed below.
 | *camel.component.jetty.response-buffer-size* | Allows to configure a custom 
value of the response buffer size on the Jetty connectors. |  | Integer
 | *camel.component.jetty.response-header-size* | Allows to configure a custom 
value of the response header size on the Jetty connectors. |  | Integer
 | *camel.component.jetty.send-server-version* | If the option is true, jetty 
will send the server header with the jetty version information to the client 
which sends the request. NOTE please make sure there is no any other 
camel-jetty endpoint is share the same port, otherwise this option may not work 
as expected. | true | Boolean
-| *camel.component.jetty.socket-connector-properties* | A map which contains 
general HTTP connector properties. Uses the same principle as 
sslSocketConnectorProperties. The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
-| *camel.component.jetty.socket-connectors* | A map which contains per port 
number specific HTTP connectors. Uses the same principle as 
sslSocketConnectors. The option is a 
java.util.Map<java.lang.Integer,org.eclipse.jetty.server.Connector> type. |  | 
String
+| *camel.component.jetty.socket-connector-properties* | A map which contains 
general HTTP connector properties. Uses the same principle as 
sslSocketConnectorProperties. |  | Map
+| *camel.component.jetty.socket-connectors* | A map which contains per port 
number specific HTTP connectors. Uses the same principle as 
sslSocketConnectors. |  | Map
 | *camel.component.jetty.ssl-context-parameters* | To configure security using 
SSLContextParameters. The option is a 
org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.jetty.ssl-key-password* | The key password, which is used 
to access the certificate's key entry in the keystore (this is the same 
password that is supplied to the keystore command's -keypass option). |  | 
String
 | *camel.component.jetty.ssl-password* | The ssl password, which is required 
to access the keystore file (this is the same password that is supplied to the 
keystore command's -storepass option). |  | String
-| *camel.component.jetty.ssl-socket-connector-properties* | A map which 
contains general SSL connector properties. The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
-| *camel.component.jetty.ssl-socket-connectors* | A map which contains per 
port number specific SSL connectors. The option is a 
java.util.Map<java.lang.Integer,org.eclipse.jetty.server.Connector> type. |  | 
String
+| *camel.component.jetty.ssl-socket-connector-properties* | A map which 
contains general SSL connector properties. |  | Map
+| *camel.component.jetty.ssl-socket-connectors* | A map which contains per 
port number specific SSL connectors. |  | Map
 | *camel.component.jetty.thread-pool* | To use a custom thread pool for the 
server. This option should only be used in special circumstances. The option is 
a org.eclipse.jetty.util.thread.ThreadPool type. |  | String
 | *camel.component.jetty.use-continuation* | Whether or not to use Jetty 
continuations for the Jetty Server. | true | Boolean
 | *camel.component.jetty.use-global-ssl-context-parameters* | Enable usage of 
global SSL context parameters | false | Boolean
diff --git a/components/camel-milo/src/main/docs/milo-server-component.adoc 
b/components/camel-milo/src/main/docs/milo-server-component.adoc
index d4ec83b..f043adc 100644
--- a/components/camel-milo/src/main/docs/milo-server-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-server-component.adoc
@@ -147,7 +147,7 @@ The component supports 22 options, which are listed below.
 | *camel.component.milo-server.namespace-uri* | The URI of the namespace, 
defaults to urn:org:apache:camel |  | String
 | *camel.component.milo-server.product-uri* | The product URI |  | String
 | *camel.component.milo-server.resolve-property-placeholders* | Whether the 
component should resolve property placeholders on itself when starting. Only 
properties which are of String type can use property placeholders. | true | 
Boolean
-| *camel.component.milo-server.security-policies* | Security policies. The 
option is a 
java.util.Set<org.eclipse.milo.opcua.stack.core.security.SecurityPolicy> type. 
|  | String
+| *camel.component.milo-server.security-policies* | Security policies |  | Set
 | *camel.component.milo-server.security-policies-by-id* | Security policies by 
URI or name |  | Collection
 | *camel.component.milo-server.server-certificate* | Server certificate. The 
option is a org.apache.camel.component.milo.KeyStoreLoader.Result type. |  | 
String
 | *camel.component.milo-server.server-name* | Server name |  | String
diff --git a/components/camel-quickfix/src/main/docs/quickfix-component.adoc 
b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
index 4033a09..29fb5d5 100644
--- a/components/camel-quickfix/src/main/docs/quickfix-component.adoc
+++ b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
@@ -152,7 +152,7 @@ The component supports 8 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.component.quickfix.basic-property-binding* | Whether the component 
should use basic property binding (Camel 2.x) or the newer property binding 
with additional capabilities | false | Boolean
-| *camel.component.quickfix.configurations* | To use the given map of pre 
configured QuickFix configurations mapped to the key. The option is a 
java.util.Map<java.lang.String,org.apache.camel.component.quickfixj.QuickfixjConfiguration>
 type. |  | String
+| *camel.component.quickfix.configurations* | To use the given map of pre 
configured QuickFix configurations mapped to the key |  | Map
 | *camel.component.quickfix.enabled* | Enable quickfix component | true | 
Boolean
 | *camel.component.quickfix.lazy-create-engines* | If set to true, the engines 
will be created and started when needed (when first message is send) | false | 
Boolean
 | *camel.component.quickfix.log-factory* | To use the given LogFactory. The 
option is a quickfix.LogFactory type. |  | String
diff --git a/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc 
b/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
index 7407191..4d8a76b 100644
--- a/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
+++ b/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
@@ -220,7 +220,7 @@ The component supports 52 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.rabbitmq.addresses* | If this option is set, camel-rabbitmq 
will try to create connection based on the setting of option addresses. The 
addresses value is a string which looks like server1:12345, server2:12345 |  | 
String
 | *camel.component.rabbitmq.allow-null-headers* | Allow pass null values to 
header | false | Boolean
-| *camel.component.rabbitmq.args* | Specify arguments for configuring the 
different RabbitMQ concepts, a different prefix is required for each: Exchange: 
arg.exchange. Queue: arg.queue. Binding: arg.binding. For example to declare a 
queue with message ttl argument: 
\http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000. The 
option is a java.util.Map<java.lang.String,java.lang.Object> type. |  | String
+| *camel.component.rabbitmq.args* | Specify arguments for configuring the 
different RabbitMQ concepts, a different prefix is required for each: Exchange: 
arg.exchange. Queue: arg.queue. Binding: arg.binding. For example to declare a 
queue with message ttl argument: 
\http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000 |  | Map
 | *camel.component.rabbitmq.auto-ack* | If messages should be auto 
acknowledged | true | Boolean
 | *camel.component.rabbitmq.auto-delete* | If it is true, the exchange will be 
deleted when it is no longer in use | true | Boolean
 | *camel.component.rabbitmq.auto-detect-connection-factory* | Whether to 
auto-detect looking up RabbitMQ connection factory from the registry. When 
enabled and a single instance of the connection factory is found then it will 
be used. An explicit connection factory can be configured on the component or 
endpoint level which takes precedence. | true | Boolean
@@ -228,7 +228,7 @@ The component supports 52 options, which are listed below.
 | *camel.component.rabbitmq.basic-property-binding* | Whether the component 
should use basic property binding (Camel 2.x) or the newer property binding 
with additional capabilities | false | Boolean
 | *camel.component.rabbitmq.channel-pool-max-size* | Get maximum number of 
opened channel in pool | 10 | Integer
 | *camel.component.rabbitmq.channel-pool-max-wait* | Set the maximum number of 
milliseconds to wait for a channel from the pool | 1000 | Long
-| *camel.component.rabbitmq.client-properties* | Connection client properties 
(client info used in negotiating with the server). The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
+| *camel.component.rabbitmq.client-properties* | Connection client properties 
(client info used in negotiating with the server) |  | Map
 | *camel.component.rabbitmq.connection-factory* | To use a custom RabbitMQ 
connection factory. When this option is set, all connection options 
(connectionTimeout, requestedChannelMax...) set on URI are not used. The option 
is a com.rabbitmq.client.ConnectionFactory type. |  | String
 | *camel.component.rabbitmq.connection-timeout* | Connection timeout | 60000 | 
Integer
 | *camel.component.rabbitmq.dead-letter-exchange* | The name of the dead 
letter exchange |  | String
diff --git 
a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
 
b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
index 8dbb2ec..da7488b 100644
--- 
a/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
+++ 
b/components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
@@ -817,11 +817,11 @@ The component supports 86 options, which are listed below.
 | *camel.component.salesforce.config.serialize-nulls* | Should the NULL values 
of given DTO be serialized with empty (NULL) values. This affects only JSON 
data format. | false | Boolean
 | *camel.component.salesforce.config.update-topic* | Whether to update an 
existing Push Topic when using the Streaming API, defaults to false | false | 
Boolean
 | *camel.component.salesforce.enabled* | Enable salesforce component | true | 
Boolean
-| *camel.component.salesforce.http-client-properties* | Used to set any 
properties that can be configured on the underlying HTTP client. Have a look at 
properties of SalesforceHttpClient and the Jetty HttpClient for all available 
options. The option is a java.util.Map<java.lang.String,java.lang.Object> type. 
|  | String
+| *camel.component.salesforce.http-client-properties* | Used to set any 
properties that can be configured on the underlying HTTP client. Have a look at 
properties of SalesforceHttpClient and the Jetty HttpClient for all available 
options. |  | Map
 | *camel.component.salesforce.http-proxy-auth-uri* | Used in authentication 
against the HTTP proxy server, needs to match the URI of the proxy server in 
order for the httpProxyUsername and httpProxyPassword to be used for 
authentication. |  | String
-| *camel.component.salesforce.http-proxy-excluded-addresses* | A list of 
addresses for which HTTP proxy server should not be used. The option is a 
java.util.Set<java.lang.String> type. |  | String
+| *camel.component.salesforce.http-proxy-excluded-addresses* | A list of 
addresses for which HTTP proxy server should not be used. |  | Set
 | *camel.component.salesforce.http-proxy-host* | Hostname of the HTTP proxy 
server to use. |  | String
-| *camel.component.salesforce.http-proxy-included-addresses* | A list of 
addresses for which HTTP proxy server should be used. The option is a 
java.util.Set<java.lang.String> type. |  | String
+| *camel.component.salesforce.http-proxy-included-addresses* | A list of 
addresses for which HTTP proxy server should be used. |  | Set
 | *camel.component.salesforce.http-proxy-password* | Password to use to 
authenticate against the HTTP proxy server. |  | String
 | *camel.component.salesforce.http-proxy-port* | Port number of the HTTP proxy 
server to use. |  | Integer
 | *camel.component.salesforce.http-proxy-realm* | Realm of the proxy server, 
used in preemptive Basic/Digest authentication methods against the HTTP proxy 
server. |  | String
@@ -843,7 +843,7 @@ The component supports 86 options, which are listed below.
 | *camel.component.salesforce.login-config.type* | Salesforce connected 
application Consumer token |  | AuthenticationType
 | *camel.component.salesforce.login-config.user-name* | Salesforce account 
user name |  | String
 | *camel.component.salesforce.login-url* | URL of the Salesforce instance used 
for authentication, by default set to \https://login.salesforce.com | 
https://login.salesforce.com | String
-| *camel.component.salesforce.long-polling-transport-properties* | Used to set 
any properties that can be configured on the LongPollingTransport used by the 
BayeuxClient (CometD) used by the streaming api. The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
+| *camel.component.salesforce.long-polling-transport-properties* | Used to set 
any properties that can be configured on the LongPollingTransport used by the 
BayeuxClient (CometD) used by the streaming api |  | Map
 | *camel.component.salesforce.packages* | In what packages are the generated 
DTO classes. Typically the classes would be generated using 
camel-salesforce-maven-plugin. Set it if using the generated DTOs to gain the 
benefit of using short SObject names in parameters/header values. |  | String[]
 | *camel.component.salesforce.password* | Password used in OAuth flow to gain 
access to access token. It's easy to get started with password OAuth flow, but 
in general one should avoid it as it is deemed less secure than other flows. 
Make sure that you append security token to the end of the password if using 
one. |  | String
 | *camel.component.salesforce.refresh-token* | Refresh token already obtained 
in the refresh token OAuth flow. One needs to setup a web application and 
configure a callback URL to receive the refresh token, or configure using the 
builtin callback at \https://login.salesforce.com/services/oauth2/success or 
\https://test.salesforce.com/services/oauth2/success and then retrive the 
refresh_token from the URL at the end of the flow. Note that in development 
organizations Salesforce allows hos [...]
diff --git a/components/camel-saxon/src/main/docs/xquery-component.adoc 
b/components/camel-saxon/src/main/docs/xquery-component.adoc
index 67ad429..b08fa1b 100644
--- a/components/camel-saxon/src/main/docs/xquery-component.adoc
+++ b/components/camel-saxon/src/main/docs/xquery-component.adoc
@@ -119,7 +119,7 @@ The component supports 9 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.xquery.basic-property-binding* | Whether the component 
should use basic property binding (Camel 2.x) or the newer property binding 
with additional capabilities | false | Boolean
 | *camel.component.xquery.configuration* | To use a custom Saxon 
configuration. The option is a net.sf.saxon.Configuration type. |  | String
-| *camel.component.xquery.configuration-properties* | To set custom Saxon 
configuration properties. The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
+| *camel.component.xquery.configuration-properties* | To set custom Saxon 
configuration properties |  | Map
 | *camel.component.xquery.enabled* | Enable xquery component | true | Boolean
 | *camel.component.xquery.module-u-r-i-resolver* | To use the custom 
ModuleURIResolver. The option is a net.sf.saxon.lib.ModuleURIResolver type. |  
| String
 | *camel.component.xquery.resolve-property-placeholders* | Whether the 
component should resolve property placeholders on itself when starting. Only 
properties which are of String type can use property placeholders. | true | 
Boolean
diff --git a/components/camel-saxon/src/main/docs/xquery-language.adoc 
b/components/camel-saxon/src/main/docs/xquery-language.adoc
index 3913af9..b4ea308 100644
--- a/components/camel-saxon/src/main/docs/xquery-language.adoc
+++ b/components/camel-saxon/src/main/docs/xquery-language.adoc
@@ -51,7 +51,7 @@ The component supports 9 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.xquery.basic-property-binding* | Whether the component 
should use basic property binding (Camel 2.x) or the newer property binding 
with additional capabilities | false | Boolean
 | *camel.component.xquery.configuration* | To use a custom Saxon 
configuration. The option is a net.sf.saxon.Configuration type. |  | String
-| *camel.component.xquery.configuration-properties* | To set custom Saxon 
configuration properties. The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
+| *camel.component.xquery.configuration-properties* | To set custom Saxon 
configuration properties |  | Map
 | *camel.component.xquery.enabled* | Enable xquery component | true | Boolean
 | *camel.component.xquery.module-u-r-i-resolver* | To use the custom 
ModuleURIResolver. The option is a net.sf.saxon.lib.ModuleURIResolver type. |  
| String
 | *camel.component.xquery.resolve-property-placeholders* | Whether the 
component should resolve property placeholders on itself when starting. Only 
properties which are of String type can use property placeholders. | true | 
Boolean
diff --git a/components/camel-websocket/src/main/docs/websocket-component.adoc 
b/components/camel-websocket/src/main/docs/websocket-component.adoc
index 604cf17..843adc9 100644
--- a/components/camel-websocket/src/main/docs/websocket-component.adoc
+++ b/components/camel-websocket/src/main/docs/websocket-component.adoc
@@ -142,7 +142,7 @@ The component supports 16 options, which are listed below.
 | *camel.component.websocket.min-threads* | To set a value for minimum number 
of threads in server thread pool. MaxThreads/minThreads or threadPool fields 
are required due to switch to Jetty9. The default values for minThreads is 1. | 
 | Integer
 | *camel.component.websocket.port* | The port number. The default value is 
9292 | 9292 | Integer
 | *camel.component.websocket.resolve-property-placeholders* | Whether the 
component should resolve property placeholders on itself when starting. Only 
properties which are of String type can use property placeholders. | true | 
Boolean
-| *camel.component.websocket.socket-factory* | To configure a map which 
contains custom WebSocketFactory for sub protocols. The key in the map is the 
sub protocol. The default key is reserved for the default implementation. The 
option is a 
java.util.Map<java.lang.String,org.apache.camel.component.websocket.WebSocketFactory>
 type. |  | String
+| *camel.component.websocket.socket-factory* | To configure a map which 
contains custom WebSocketFactory for sub protocols. The key in the map is the 
sub protocol. The default key is reserved for the default implementation. |  | 
Map
 | *camel.component.websocket.ssl-context-parameters* | To configure security 
using SSLContextParameters. The option is a 
org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.websocket.ssl-key-password* | The password for the keystore 
when using SSL. |  | String
 | *camel.component.websocket.ssl-keystore* | The path to the keystore. |  | 
String
diff --git a/components/camel-xslt/src/main/docs/xslt-component.adoc 
b/components/camel-xslt/src/main/docs/xslt-component.adoc
index 247f079..93fcb94 100644
--- a/components/camel-xslt/src/main/docs/xslt-component.adoc
+++ b/components/camel-xslt/src/main/docs/xslt-component.adoc
@@ -135,7 +135,7 @@ The component supports 10 options, which are listed below.
 | *camel.component.xslt.resolve-property-placeholders* | Whether the component 
should resolve property placeholders on itself when starting. Only properties 
which are of String type can use property placeholders. | true | Boolean
 | *camel.component.xslt.saxon* | Whether to use Saxon as the 
transformerFactoryClass. If enabled then the class 
net.sf.saxon.TransformerFactoryImpl. You would need to add Saxon to the 
classpath. | false | Boolean
 | *camel.component.xslt.saxon-configuration* | To use a custom Saxon 
configuration. The option is a java.lang.Object type. |  | String
-| *camel.component.xslt.saxon-configuration-properties* | To set custom Saxon 
configuration properties. The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
+| *camel.component.xslt.saxon-configuration-properties* | To set custom Saxon 
configuration properties |  | Map
 | *camel.component.xslt.saxon-extension-functions* | Allows you to use a 
custom net.sf.saxon.lib.ExtensionFunctionDefinition. You would need to add 
camel-saxon to the classpath. The function is looked up in the registry, where 
you can comma to separate multiple values to lookup. |  | String
 | *camel.component.xslt.uri-resolver* | To use a custom UriResolver. Should 
not be used together with the option 'uriResolverFactory'. The option is a 
javax.xml.transform.URIResolver type. |  | String
 | *camel.component.xslt.uri-resolver-factory* | To use a custom UriResolver 
which depends on a dynamic endpoint resource URI. Should not be used together 
with the option 'uriResolver'. The option is a 
org.apache.camel.component.xslt.XsltUriResolverFactory type. |  | String
diff --git a/components/camel-xstream/src/main/docs/xstream-dataformat.adoc 
b/components/camel-xstream/src/main/docs/xstream-dataformat.adoc
index 0d40f9f..c4af8e5 100644
--- a/components/camel-xstream/src/main/docs/xstream-dataformat.adoc
+++ b/components/camel-xstream/src/main/docs/xstream-dataformat.adoc
@@ -87,16 +87,16 @@ The component supports 30 options, which are listed below.
 | *camel.dataformat.json-xstream.unmarshal-type-name* | Class name of the java 
type to use when unarmshalling |  | String
 | *camel.dataformat.json-xstream.use-default-object-mapper* | Whether to 
lookup and use default Jackson ObjectMapper from the registry. | true | Boolean
 | *camel.dataformat.json-xstream.use-list* | To unarmshal to a List of Map or 
a List of Pojo. | false | Boolean
-| *camel.dataformat.xstream.aliases* | Alias a Class to a shorter name to be 
used in XML elements. The option is a 
java.util.Map<java.lang.String,java.lang.String> type. |  | String
+| *camel.dataformat.xstream.aliases* | Alias a Class to a shorter name to be 
used in XML elements. |  | Map
 | *camel.dataformat.xstream.content-type-header* | Whether the data format 
should set the Content-Type header with the type from the data format if the 
data format is capable of doing so. For example application/xml for data 
formats marshalling to XML, or application/json for data formats marshalling to 
JSon etc. | false | Boolean
 | *camel.dataformat.xstream.converters* | List of class names for using custom 
XStream converters. The classes must be of type 
com.thoughtworks.xstream.converters.Converter |  | List
 | *camel.dataformat.xstream.driver* | To use a custom XStream driver. The 
instance must be of type com.thoughtworks.xstream.io.HierarchicalStreamDriver | 
 | String
 | *camel.dataformat.xstream.driver-ref* | To refer to a custom XStream driver 
to lookup in the registry. The instance must be of type 
com.thoughtworks.xstream.io.HierarchicalStreamDriver |  | String
 | *camel.dataformat.xstream.enabled* | Enable xstream dataformat | true | 
Boolean
 | *camel.dataformat.xstream.encoding* | Sets the encoding to use |  | String
-| *camel.dataformat.xstream.implicit-collections* | Adds a default implicit 
collection which is used for any unmapped XML tag. The option is a 
java.util.Map<java.lang.String,java.lang.String[]> type. |  | String
+| *camel.dataformat.xstream.implicit-collections* | Adds a default implicit 
collection which is used for any unmapped XML tag. |  | Map
 | *camel.dataformat.xstream.mode* | Mode for dealing with duplicate references 
The possible values are: NO_REFERENCES ID_REFERENCES XPATH_RELATIVE_REFERENCES 
XPATH_ABSOLUTE_REFERENCES SINGLE_NODE_XPATH_RELATIVE_REFERENCES 
SINGLE_NODE_XPATH_ABSOLUTE_REFERENCES |  | String
-| *camel.dataformat.xstream.omit-fields* | Prevents a field from being 
serialized. To omit a field you must always provide the declaring type and not 
necessarily the type that is converted. The option is a 
java.util.Map<java.lang.String,java.lang.String[]> type. |  | String
+| *camel.dataformat.xstream.omit-fields* | Prevents a field from being 
serialized. To omit a field you must always provide the declaring type and not 
necessarily the type that is converted. |  | Map
 | *camel.dataformat.xstream.permissions* | 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 permissi [...]
 |===
 // spring-boot-auto-configure options: END
diff --git 
a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/EhcacheEndpointBuilderFactory.java
 
b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/EhcacheEndpointBuilderFactory.java
index 1c7ef22..f800339 100644
--- 
a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/EhcacheEndpointBuilderFactory.java
+++ 
b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/EhcacheEndpointBuilderFactory.java
@@ -367,8 +367,7 @@ public interface EhcacheEndpointBuilderFactory {
          * A map of cache configuration to be used to create caches.
          * 
          * The option is a: <code>java.util.Map&lt;java.lang.String,
-         * org.ehcache.config.CacheConfiguration&lt;java.lang.Object,
-         * java.lang.Object&gt;&gt;</code> type.
+         * org.ehcache.config.CacheConfiguration&gt;</code> type.
          * 
          * Group: advanced
          */
@@ -382,8 +381,7 @@ public interface EhcacheEndpointBuilderFactory {
          * 
          * The option will be converted to a
          * <code>java.util.Map&lt;java.lang.String,
-         * org.ehcache.config.CacheConfiguration&lt;java.lang.Object,
-         * java.lang.Object&gt;&gt;</code> type.
+         * org.ehcache.config.CacheConfiguration&gt;</code> type.
          * 
          * Group: advanced
          */
@@ -712,8 +710,7 @@ public interface EhcacheEndpointBuilderFactory {
          * A map of cache configuration to be used to create caches.
          * 
          * The option is a: <code>java.util.Map&lt;java.lang.String,
-         * org.ehcache.config.CacheConfiguration&lt;java.lang.Object,
-         * java.lang.Object&gt;&gt;</code> type.
+         * org.ehcache.config.CacheConfiguration&gt;</code> type.
          * 
          * Group: advanced
          */
@@ -727,8 +724,7 @@ public interface EhcacheEndpointBuilderFactory {
          * 
          * The option will be converted to a
          * <code>java.util.Map&lt;java.lang.String,
-         * org.ehcache.config.CacheConfiguration&lt;java.lang.Object,
-         * java.lang.Object&gt;&gt;</code> type.
+         * org.ehcache.config.CacheConfiguration&gt;</code> type.
          * 
          * Group: advanced
          */
@@ -980,8 +976,7 @@ public interface EhcacheEndpointBuilderFactory {
          * A map of cache configuration to be used to create caches.
          * 
          * The option is a: <code>java.util.Map&lt;java.lang.String,
-         * org.ehcache.config.CacheConfiguration&lt;java.lang.Object,
-         * java.lang.Object&gt;&gt;</code> type.
+         * org.ehcache.config.CacheConfiguration&gt;</code> type.
          * 
          * Group: advanced
          */
@@ -995,8 +990,7 @@ public interface EhcacheEndpointBuilderFactory {
          * 
          * The option will be converted to a
          * <code>java.util.Map&lt;java.lang.String,
-         * org.ehcache.config.CacheConfiguration&lt;java.lang.Object,
-         * java.lang.Object&gt;&gt;</code> type.
+         * org.ehcache.config.CacheConfiguration&gt;</code> type.
          * 
          * Group: advanced
          */
diff --git a/docs/components/modules/ROOT/pages/ehcache-component.adoc 
b/docs/components/modules/ROOT/pages/ehcache-component.adoc
index f1843e4..afeb71f 100644
--- a/docs/components/modules/ROOT/pages/ehcache-component.adoc
+++ b/docs/components/modules/ROOT/pages/ehcache-component.adoc
@@ -128,11 +128,11 @@ The component supports 26 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.component.ehcache.basic-property-binding* | Whether the component 
should use basic property binding (Camel 2.x) or the newer property binding 
with additional capabilities | false | Boolean
-| *camel.component.ehcache.cache-configuration* | The default cache 
configuration to be used to create caches. The option is a 
org.ehcache.config.CacheConfiguration<?,?> type. |  | String
+| *camel.component.ehcache.cache-configuration* | The default cache 
configuration to be used to create caches. The option is a 
org.ehcache.config.CacheConfiguration type. |  | String
 | *camel.component.ehcache.cache-configuration-uri* | URI pointing to the 
Ehcache XML configuration file's location |  | String
 | *camel.component.ehcache.cache-manager* | The cache manager. The option is a 
org.ehcache.CacheManager type. |  | String
 | *camel.component.ehcache.cache-manager-configuration* | The cache manager 
configuration. The option is a org.ehcache.config.Configuration type. |  | 
String
-| *camel.component.ehcache.caches-configurations* | A map of caches 
configurations to be used to create caches. The option is a 
java.util.Map<java.lang.String,org.ehcache.config.CacheConfiguration<?,?>> 
type. |  | String
+| *camel.component.ehcache.caches-configurations* | A map of caches 
configurations to be used to create caches. |  | Map
 | *camel.component.ehcache.configuration.action* | To configure the default 
cache action. If an action is set in the message header, then the operation 
from the header takes precedence. |  | String
 | *camel.component.ehcache.configuration.cache-manager* | The cache manager |  
| CacheManager
 | *camel.component.ehcache.configuration.cache-manager-configuration* | The 
cache manager configuration |  | Configuration
diff --git a/docs/components/modules/ROOT/pages/fhirJson-dataformat.adoc 
b/docs/components/modules/ROOT/pages/fhirJson-dataformat.adoc
index 54e29cf..7cc0335 100644
--- a/docs/components/modules/ROOT/pages/fhirJson-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/fhirJson-dataformat.adoc
@@ -56,10 +56,10 @@ The component supports 14 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.dataformat.fhirjson.content-type-header* | Whether the data format 
should set the Content-Type header with the type from the data format if the 
data format is capable of doing so. For example application/xml for data 
formats marshalling to XML, or application/json for data formats marshalling to 
JSon etc. | false | Boolean
-| *camel.dataformat.fhirjson.dont-encode-elements* | If provided, specifies 
the elements which should NOT be encoded. Valid values for this field would 
include: Patient - Don't encode patient and all its children Patient.name - 
Don't encode the patient's name Patient.name.family - Don't encode the 
patient's family name .text - Don't encode the text element on any resource 
(only the very first position may contain a wildcard) DSTU2 note: Note that 
values including meta, such as Patient.me [...]
+| *camel.dataformat.fhirjson.dont-encode-elements* | If provided, specifies 
the elements which should NOT be encoded. Valid values for this field would 
include: Patient - Don't encode patient and all its children Patient.name - 
Don't encode the patient's name Patient.name.family - Don't encode the 
patient's family name .text - Don't encode the text element on any resource 
(only the very first position may contain a wildcard) DSTU2 note: Note that 
values including meta, such as Patient.me [...]
 | *camel.dataformat.fhirjson.dont-strip-versions-from-references-at-paths* | 
If supplied value(s), any resource references at the specified paths will have 
their resource versions encoded instead of being automatically stripped during 
the encoding process. This setting has no effect on the parsing process. This 
method provides a finer-grained level of control than 
setStripVersionsFromReferences(Boolean) and any paths specified by this method 
will be encoded even if setStripVersionsFromRe [...]
 | *camel.dataformat.fhirjson.enabled* | Whether to enable auto configuration 
of the fhirJson data format. This is enabled by default. |  | Boolean
-| *camel.dataformat.fhirjson.encode-elements* | If provided, specifies the 
elements which should be encoded, to the exclusion of all others. Valid values 
for this field would include: Patient - Encode patient and all its children 
Patient.name - Encode only the patient's name Patient.name.family - Encode only 
the patient's family name .text - Encode the text element on any resource (only 
the very first position may contain a wildcard) .(mandatory) - This is a 
special case which causes any [...]
+| *camel.dataformat.fhirjson.encode-elements* | If provided, specifies the 
elements which should be encoded, to the exclusion of all others. Valid values 
for this field would include: Patient - Encode patient and all its children 
Patient.name - Encode only the patient's name Patient.name.family - Encode only 
the patient's family name .text - Encode the text element on any resource (only 
the very first position may contain a wildcard) .(mandatory) - This is a 
special case which causes any [...]
 | *camel.dataformat.fhirjson.encode-elements-applies-to-child-resources-only* 
| If set to true (default is false), the values supplied to 
setEncodeElements(Set) will not be applied to the root resource (typically a 
Bundle), but will be applied to any sub-resources contained within it (i.e. 
search result resources in that bundle) | false | Boolean
 | *camel.dataformat.fhirjson.fhir-version* | The version of FHIR to use. 
Possible values are: DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4 | DSTU3 | String
 | *camel.dataformat.fhirjson.omit-resource-id* | If set to true (default is 
false) the ID of any resources being encoded will not be included in the 
output. Note that this does not apply to contained resources, only to root 
resources. In other words, if this is set to true, contained resources will 
still have local IDs but the outer/containing ID will not have an ID. | false | 
Boolean
diff --git a/docs/components/modules/ROOT/pages/fhirXml-dataformat.adoc 
b/docs/components/modules/ROOT/pages/fhirXml-dataformat.adoc
index c9e749f..e82d22d 100644
--- a/docs/components/modules/ROOT/pages/fhirXml-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/fhirXml-dataformat.adoc
@@ -56,10 +56,10 @@ The component supports 14 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.dataformat.fhirxml.content-type-header* | Whether the data format 
should set the Content-Type header with the type from the data format if the 
data format is capable of doing so. For example application/xml for data 
formats marshalling to XML, or application/json for data formats marshalling to 
JSon etc. | false | Boolean
-| *camel.dataformat.fhirxml.dont-encode-elements* | If provided, specifies the 
elements which should NOT be encoded. Valid values for this field would 
include: Patient - Don't encode patient and all its children Patient.name - 
Don't encode the patient's name Patient.name.family - Don't encode the 
patient's family name .text - Don't encode the text element on any resource 
(only the very first position may contain a wildcard) DSTU2 note: Note that 
values including meta, such as Patient.met [...]
+| *camel.dataformat.fhirxml.dont-encode-elements* | If provided, specifies the 
elements which should NOT be encoded. Valid values for this field would 
include: Patient - Don't encode patient and all its children Patient.name - 
Don't encode the patient's name Patient.name.family - Don't encode the 
patient's family name .text - Don't encode the text element on any resource 
(only the very first position may contain a wildcard) DSTU2 note: Note that 
values including meta, such as Patient.met [...]
 | *camel.dataformat.fhirxml.dont-strip-versions-from-references-at-paths* | If 
supplied value(s), any resource references at the specified paths will have 
their resource versions encoded instead of being automatically stripped during 
the encoding process. This setting has no effect on the parsing process. This 
method provides a finer-grained level of control than 
setStripVersionsFromReferences(Boolean) and any paths specified by this method 
will be encoded even if setStripVersionsFromRef [...]
 | *camel.dataformat.fhirxml.enabled* | Whether to enable auto configuration of 
the fhirXml data format. This is enabled by default. |  | Boolean
-| *camel.dataformat.fhirxml.encode-elements* | If provided, specifies the 
elements which should be encoded, to the exclusion of all others. Valid values 
for this field would include: Patient - Encode patient and all its children 
Patient.name - Encode only the patient's name Patient.name.family - Encode only 
the patient's family name .text - Encode the text element on any resource (only 
the very first position may contain a wildcard) .(mandatory) - This is a 
special case which causes any  [...]
+| *camel.dataformat.fhirxml.encode-elements* | If provided, specifies the 
elements which should be encoded, to the exclusion of all others. Valid values 
for this field would include: Patient - Encode patient and all its children 
Patient.name - Encode only the patient's name Patient.name.family - Encode only 
the patient's family name .text - Encode the text element on any resource (only 
the very first position may contain a wildcard) .(mandatory) - This is a 
special case which causes any  [...]
 | *camel.dataformat.fhirxml.encode-elements-applies-to-child-resources-only* | 
If set to true (default is false), the values supplied to 
setEncodeElements(Set) will not be applied to the root resource (typically a 
Bundle), but will be applied to any sub-resources contained within it (i.e. 
search result resources in that bundle) | false | Boolean
 | *camel.dataformat.fhirxml.fhir-version* | The version of FHIR to use. 
Possible values are: DSTU2,DSTU2_HL7ORG,DSTU2_1,DSTU3,R4 | DSTU3 | String
 | *camel.dataformat.fhirxml.omit-resource-id* | If set to true (default is 
false) the ID of any resources being encoded will not be included in the 
output. Note that this does not apply to contained resources, only to root 
resources. In other words, if this is set to true, contained resources will 
still have local IDs but the outer/containing ID will not have an ID. | false | 
Boolean
diff --git a/docs/components/modules/ROOT/pages/jetty-component.adoc 
b/docs/components/modules/ROOT/pages/jetty-component.adoc
index 3b41171..94860ce 100644
--- a/docs/components/modules/ROOT/pages/jetty-component.adoc
+++ b/docs/components/modules/ROOT/pages/jetty-component.adoc
@@ -208,13 +208,13 @@ The component supports 35 options, which are listed below.
 | *camel.component.jetty.response-buffer-size* | Allows to configure a custom 
value of the response buffer size on the Jetty connectors. |  | Integer
 | *camel.component.jetty.response-header-size* | Allows to configure a custom 
value of the response header size on the Jetty connectors. |  | Integer
 | *camel.component.jetty.send-server-version* | If the option is true, jetty 
will send the server header with the jetty version information to the client 
which sends the request. NOTE please make sure there is no any other 
camel-jetty endpoint is share the same port, otherwise this option may not work 
as expected. | true | Boolean
-| *camel.component.jetty.socket-connector-properties* | A map which contains 
general HTTP connector properties. Uses the same principle as 
sslSocketConnectorProperties. The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
-| *camel.component.jetty.socket-connectors* | A map which contains per port 
number specific HTTP connectors. Uses the same principle as 
sslSocketConnectors. The option is a 
java.util.Map<java.lang.Integer,org.eclipse.jetty.server.Connector> type. |  | 
String
+| *camel.component.jetty.socket-connector-properties* | A map which contains 
general HTTP connector properties. Uses the same principle as 
sslSocketConnectorProperties. |  | Map
+| *camel.component.jetty.socket-connectors* | A map which contains per port 
number specific HTTP connectors. Uses the same principle as 
sslSocketConnectors. |  | Map
 | *camel.component.jetty.ssl-context-parameters* | To configure security using 
SSLContextParameters. The option is a 
org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.jetty.ssl-key-password* | The key password, which is used 
to access the certificate's key entry in the keystore (this is the same 
password that is supplied to the keystore command's -keypass option). |  | 
String
 | *camel.component.jetty.ssl-password* | The ssl password, which is required 
to access the keystore file (this is the same password that is supplied to the 
keystore command's -storepass option). |  | String
-| *camel.component.jetty.ssl-socket-connector-properties* | A map which 
contains general SSL connector properties. The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
-| *camel.component.jetty.ssl-socket-connectors* | A map which contains per 
port number specific SSL connectors. The option is a 
java.util.Map<java.lang.Integer,org.eclipse.jetty.server.Connector> type. |  | 
String
+| *camel.component.jetty.ssl-socket-connector-properties* | A map which 
contains general SSL connector properties. |  | Map
+| *camel.component.jetty.ssl-socket-connectors* | A map which contains per 
port number specific SSL connectors. |  | Map
 | *camel.component.jetty.thread-pool* | To use a custom thread pool for the 
server. This option should only be used in special circumstances. The option is 
a org.eclipse.jetty.util.thread.ThreadPool type. |  | String
 | *camel.component.jetty.use-continuation* | Whether or not to use Jetty 
continuations for the Jetty Server. | true | Boolean
 | *camel.component.jetty.use-global-ssl-context-parameters* | Enable usage of 
global SSL context parameters | false | Boolean
diff --git a/docs/components/modules/ROOT/pages/milo-server-component.adoc 
b/docs/components/modules/ROOT/pages/milo-server-component.adoc
index d4ec83b..f043adc 100644
--- a/docs/components/modules/ROOT/pages/milo-server-component.adoc
+++ b/docs/components/modules/ROOT/pages/milo-server-component.adoc
@@ -147,7 +147,7 @@ The component supports 22 options, which are listed below.
 | *camel.component.milo-server.namespace-uri* | The URI of the namespace, 
defaults to urn:org:apache:camel |  | String
 | *camel.component.milo-server.product-uri* | The product URI |  | String
 | *camel.component.milo-server.resolve-property-placeholders* | Whether the 
component should resolve property placeholders on itself when starting. Only 
properties which are of String type can use property placeholders. | true | 
Boolean
-| *camel.component.milo-server.security-policies* | Security policies. The 
option is a 
java.util.Set<org.eclipse.milo.opcua.stack.core.security.SecurityPolicy> type. 
|  | String
+| *camel.component.milo-server.security-policies* | Security policies |  | Set
 | *camel.component.milo-server.security-policies-by-id* | Security policies by 
URI or name |  | Collection
 | *camel.component.milo-server.server-certificate* | Server certificate. The 
option is a org.apache.camel.component.milo.KeyStoreLoader.Result type. |  | 
String
 | *camel.component.milo-server.server-name* | Server name |  | String
diff --git a/docs/components/modules/ROOT/pages/quickfix-component.adoc 
b/docs/components/modules/ROOT/pages/quickfix-component.adoc
index 4033a09..29fb5d5 100644
--- a/docs/components/modules/ROOT/pages/quickfix-component.adoc
+++ b/docs/components/modules/ROOT/pages/quickfix-component.adoc
@@ -152,7 +152,7 @@ The component supports 8 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.component.quickfix.basic-property-binding* | Whether the component 
should use basic property binding (Camel 2.x) or the newer property binding 
with additional capabilities | false | Boolean
-| *camel.component.quickfix.configurations* | To use the given map of pre 
configured QuickFix configurations mapped to the key. The option is a 
java.util.Map<java.lang.String,org.apache.camel.component.quickfixj.QuickfixjConfiguration>
 type. |  | String
+| *camel.component.quickfix.configurations* | To use the given map of pre 
configured QuickFix configurations mapped to the key |  | Map
 | *camel.component.quickfix.enabled* | Enable quickfix component | true | 
Boolean
 | *camel.component.quickfix.lazy-create-engines* | If set to true, the engines 
will be created and started when needed (when first message is send) | false | 
Boolean
 | *camel.component.quickfix.log-factory* | To use the given LogFactory. The 
option is a quickfix.LogFactory type. |  | String
diff --git a/docs/components/modules/ROOT/pages/rabbitmq-component.adoc 
b/docs/components/modules/ROOT/pages/rabbitmq-component.adoc
index 7407191..4d8a76b 100644
--- a/docs/components/modules/ROOT/pages/rabbitmq-component.adoc
+++ b/docs/components/modules/ROOT/pages/rabbitmq-component.adoc
@@ -220,7 +220,7 @@ The component supports 52 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.rabbitmq.addresses* | If this option is set, camel-rabbitmq 
will try to create connection based on the setting of option addresses. The 
addresses value is a string which looks like server1:12345, server2:12345 |  | 
String
 | *camel.component.rabbitmq.allow-null-headers* | Allow pass null values to 
header | false | Boolean
-| *camel.component.rabbitmq.args* | Specify arguments for configuring the 
different RabbitMQ concepts, a different prefix is required for each: Exchange: 
arg.exchange. Queue: arg.queue. Binding: arg.binding. For example to declare a 
queue with message ttl argument: 
\http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000. The 
option is a java.util.Map<java.lang.String,java.lang.Object> type. |  | String
+| *camel.component.rabbitmq.args* | Specify arguments for configuring the 
different RabbitMQ concepts, a different prefix is required for each: Exchange: 
arg.exchange. Queue: arg.queue. Binding: arg.binding. For example to declare a 
queue with message ttl argument: 
\http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000 |  | Map
 | *camel.component.rabbitmq.auto-ack* | If messages should be auto 
acknowledged | true | Boolean
 | *camel.component.rabbitmq.auto-delete* | If it is true, the exchange will be 
deleted when it is no longer in use | true | Boolean
 | *camel.component.rabbitmq.auto-detect-connection-factory* | Whether to 
auto-detect looking up RabbitMQ connection factory from the registry. When 
enabled and a single instance of the connection factory is found then it will 
be used. An explicit connection factory can be configured on the component or 
endpoint level which takes precedence. | true | Boolean
@@ -228,7 +228,7 @@ The component supports 52 options, which are listed below.
 | *camel.component.rabbitmq.basic-property-binding* | Whether the component 
should use basic property binding (Camel 2.x) or the newer property binding 
with additional capabilities | false | Boolean
 | *camel.component.rabbitmq.channel-pool-max-size* | Get maximum number of 
opened channel in pool | 10 | Integer
 | *camel.component.rabbitmq.channel-pool-max-wait* | Set the maximum number of 
milliseconds to wait for a channel from the pool | 1000 | Long
-| *camel.component.rabbitmq.client-properties* | Connection client properties 
(client info used in negotiating with the server). The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
+| *camel.component.rabbitmq.client-properties* | Connection client properties 
(client info used in negotiating with the server) |  | Map
 | *camel.component.rabbitmq.connection-factory* | To use a custom RabbitMQ 
connection factory. When this option is set, all connection options 
(connectionTimeout, requestedChannelMax...) set on URI are not used. The option 
is a com.rabbitmq.client.ConnectionFactory type. |  | String
 | *camel.component.rabbitmq.connection-timeout* | Connection timeout | 60000 | 
Integer
 | *camel.component.rabbitmq.dead-letter-exchange* | The name of the dead 
letter exchange |  | String
diff --git a/docs/components/modules/ROOT/pages/salesforce-component.adoc 
b/docs/components/modules/ROOT/pages/salesforce-component.adoc
index 8dbb2ec..da7488b 100644
--- a/docs/components/modules/ROOT/pages/salesforce-component.adoc
+++ b/docs/components/modules/ROOT/pages/salesforce-component.adoc
@@ -817,11 +817,11 @@ The component supports 86 options, which are listed below.
 | *camel.component.salesforce.config.serialize-nulls* | Should the NULL values 
of given DTO be serialized with empty (NULL) values. This affects only JSON 
data format. | false | Boolean
 | *camel.component.salesforce.config.update-topic* | Whether to update an 
existing Push Topic when using the Streaming API, defaults to false | false | 
Boolean
 | *camel.component.salesforce.enabled* | Enable salesforce component | true | 
Boolean
-| *camel.component.salesforce.http-client-properties* | Used to set any 
properties that can be configured on the underlying HTTP client. Have a look at 
properties of SalesforceHttpClient and the Jetty HttpClient for all available 
options. The option is a java.util.Map<java.lang.String,java.lang.Object> type. 
|  | String
+| *camel.component.salesforce.http-client-properties* | Used to set any 
properties that can be configured on the underlying HTTP client. Have a look at 
properties of SalesforceHttpClient and the Jetty HttpClient for all available 
options. |  | Map
 | *camel.component.salesforce.http-proxy-auth-uri* | Used in authentication 
against the HTTP proxy server, needs to match the URI of the proxy server in 
order for the httpProxyUsername and httpProxyPassword to be used for 
authentication. |  | String
-| *camel.component.salesforce.http-proxy-excluded-addresses* | A list of 
addresses for which HTTP proxy server should not be used. The option is a 
java.util.Set<java.lang.String> type. |  | String
+| *camel.component.salesforce.http-proxy-excluded-addresses* | A list of 
addresses for which HTTP proxy server should not be used. |  | Set
 | *camel.component.salesforce.http-proxy-host* | Hostname of the HTTP proxy 
server to use. |  | String
-| *camel.component.salesforce.http-proxy-included-addresses* | A list of 
addresses for which HTTP proxy server should be used. The option is a 
java.util.Set<java.lang.String> type. |  | String
+| *camel.component.salesforce.http-proxy-included-addresses* | A list of 
addresses for which HTTP proxy server should be used. |  | Set
 | *camel.component.salesforce.http-proxy-password* | Password to use to 
authenticate against the HTTP proxy server. |  | String
 | *camel.component.salesforce.http-proxy-port* | Port number of the HTTP proxy 
server to use. |  | Integer
 | *camel.component.salesforce.http-proxy-realm* | Realm of the proxy server, 
used in preemptive Basic/Digest authentication methods against the HTTP proxy 
server. |  | String
@@ -843,7 +843,7 @@ The component supports 86 options, which are listed below.
 | *camel.component.salesforce.login-config.type* | Salesforce connected 
application Consumer token |  | AuthenticationType
 | *camel.component.salesforce.login-config.user-name* | Salesforce account 
user name |  | String
 | *camel.component.salesforce.login-url* | URL of the Salesforce instance used 
for authentication, by default set to \https://login.salesforce.com | 
https://login.salesforce.com | String
-| *camel.component.salesforce.long-polling-transport-properties* | Used to set 
any properties that can be configured on the LongPollingTransport used by the 
BayeuxClient (CometD) used by the streaming api. The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
+| *camel.component.salesforce.long-polling-transport-properties* | Used to set 
any properties that can be configured on the LongPollingTransport used by the 
BayeuxClient (CometD) used by the streaming api |  | Map
 | *camel.component.salesforce.packages* | In what packages are the generated 
DTO classes. Typically the classes would be generated using 
camel-salesforce-maven-plugin. Set it if using the generated DTOs to gain the 
benefit of using short SObject names in parameters/header values. |  | String[]
 | *camel.component.salesforce.password* | Password used in OAuth flow to gain 
access to access token. It's easy to get started with password OAuth flow, but 
in general one should avoid it as it is deemed less secure than other flows. 
Make sure that you append security token to the end of the password if using 
one. |  | String
 | *camel.component.salesforce.refresh-token* | Refresh token already obtained 
in the refresh token OAuth flow. One needs to setup a web application and 
configure a callback URL to receive the refresh token, or configure using the 
builtin callback at \https://login.salesforce.com/services/oauth2/success or 
\https://test.salesforce.com/services/oauth2/success and then retrive the 
refresh_token from the URL at the end of the flow. Note that in development 
organizations Salesforce allows hos [...]
diff --git a/docs/components/modules/ROOT/pages/websocket-component.adoc 
b/docs/components/modules/ROOT/pages/websocket-component.adoc
index 604cf17..843adc9 100644
--- a/docs/components/modules/ROOT/pages/websocket-component.adoc
+++ b/docs/components/modules/ROOT/pages/websocket-component.adoc
@@ -142,7 +142,7 @@ The component supports 16 options, which are listed below.
 | *camel.component.websocket.min-threads* | To set a value for minimum number 
of threads in server thread pool. MaxThreads/minThreads or threadPool fields 
are required due to switch to Jetty9. The default values for minThreads is 1. | 
 | Integer
 | *camel.component.websocket.port* | The port number. The default value is 
9292 | 9292 | Integer
 | *camel.component.websocket.resolve-property-placeholders* | Whether the 
component should resolve property placeholders on itself when starting. Only 
properties which are of String type can use property placeholders. | true | 
Boolean
-| *camel.component.websocket.socket-factory* | To configure a map which 
contains custom WebSocketFactory for sub protocols. The key in the map is the 
sub protocol. The default key is reserved for the default implementation. The 
option is a 
java.util.Map<java.lang.String,org.apache.camel.component.websocket.WebSocketFactory>
 type. |  | String
+| *camel.component.websocket.socket-factory* | To configure a map which 
contains custom WebSocketFactory for sub protocols. The key in the map is the 
sub protocol. The default key is reserved for the default implementation. |  | 
Map
 | *camel.component.websocket.ssl-context-parameters* | To configure security 
using SSLContextParameters. The option is a 
org.apache.camel.support.jsse.SSLContextParameters type. |  | String
 | *camel.component.websocket.ssl-key-password* | The password for the keystore 
when using SSL. |  | String
 | *camel.component.websocket.ssl-keystore* | The path to the keystore. |  | 
String
diff --git a/docs/components/modules/ROOT/pages/xquery-component.adoc 
b/docs/components/modules/ROOT/pages/xquery-component.adoc
index 67ad429..b08fa1b 100644
--- a/docs/components/modules/ROOT/pages/xquery-component.adoc
+++ b/docs/components/modules/ROOT/pages/xquery-component.adoc
@@ -119,7 +119,7 @@ The component supports 9 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.xquery.basic-property-binding* | Whether the component 
should use basic property binding (Camel 2.x) or the newer property binding 
with additional capabilities | false | Boolean
 | *camel.component.xquery.configuration* | To use a custom Saxon 
configuration. The option is a net.sf.saxon.Configuration type. |  | String
-| *camel.component.xquery.configuration-properties* | To set custom Saxon 
configuration properties. The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
+| *camel.component.xquery.configuration-properties* | To set custom Saxon 
configuration properties |  | Map
 | *camel.component.xquery.enabled* | Enable xquery component | true | Boolean
 | *camel.component.xquery.module-u-r-i-resolver* | To use the custom 
ModuleURIResolver. The option is a net.sf.saxon.lib.ModuleURIResolver type. |  
| String
 | *camel.component.xquery.resolve-property-placeholders* | Whether the 
component should resolve property placeholders on itself when starting. Only 
properties which are of String type can use property placeholders. | true | 
Boolean
diff --git a/docs/components/modules/ROOT/pages/xquery-language.adoc 
b/docs/components/modules/ROOT/pages/xquery-language.adoc
index 3913af9..b4ea308 100644
--- a/docs/components/modules/ROOT/pages/xquery-language.adoc
+++ b/docs/components/modules/ROOT/pages/xquery-language.adoc
@@ -51,7 +51,7 @@ The component supports 9 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.xquery.basic-property-binding* | Whether the component 
should use basic property binding (Camel 2.x) or the newer property binding 
with additional capabilities | false | Boolean
 | *camel.component.xquery.configuration* | To use a custom Saxon 
configuration. The option is a net.sf.saxon.Configuration type. |  | String
-| *camel.component.xquery.configuration-properties* | To set custom Saxon 
configuration properties. The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
+| *camel.component.xquery.configuration-properties* | To set custom Saxon 
configuration properties |  | Map
 | *camel.component.xquery.enabled* | Enable xquery component | true | Boolean
 | *camel.component.xquery.module-u-r-i-resolver* | To use the custom 
ModuleURIResolver. The option is a net.sf.saxon.lib.ModuleURIResolver type. |  
| String
 | *camel.component.xquery.resolve-property-placeholders* | Whether the 
component should resolve property placeholders on itself when starting. Only 
properties which are of String type can use property placeholders. | true | 
Boolean
diff --git a/docs/components/modules/ROOT/pages/xslt-component.adoc 
b/docs/components/modules/ROOT/pages/xslt-component.adoc
index 247f079..93fcb94 100644
--- a/docs/components/modules/ROOT/pages/xslt-component.adoc
+++ b/docs/components/modules/ROOT/pages/xslt-component.adoc
@@ -135,7 +135,7 @@ The component supports 10 options, which are listed below.
 | *camel.component.xslt.resolve-property-placeholders* | Whether the component 
should resolve property placeholders on itself when starting. Only properties 
which are of String type can use property placeholders. | true | Boolean
 | *camel.component.xslt.saxon* | Whether to use Saxon as the 
transformerFactoryClass. If enabled then the class 
net.sf.saxon.TransformerFactoryImpl. You would need to add Saxon to the 
classpath. | false | Boolean
 | *camel.component.xslt.saxon-configuration* | To use a custom Saxon 
configuration. The option is a java.lang.Object type. |  | String
-| *camel.component.xslt.saxon-configuration-properties* | To set custom Saxon 
configuration properties. The option is a 
java.util.Map<java.lang.String,java.lang.Object> type. |  | String
+| *camel.component.xslt.saxon-configuration-properties* | To set custom Saxon 
configuration properties |  | Map
 | *camel.component.xslt.saxon-extension-functions* | Allows you to use a 
custom net.sf.saxon.lib.ExtensionFunctionDefinition. You would need to add 
camel-saxon to the classpath. The function is looked up in the registry, where 
you can comma to separate multiple values to lookup. |  | String
 | *camel.component.xslt.uri-resolver* | To use a custom UriResolver. Should 
not be used together with the option 'uriResolverFactory'. The option is a 
javax.xml.transform.URIResolver type. |  | String
 | *camel.component.xslt.uri-resolver-factory* | To use a custom UriResolver 
which depends on a dynamic endpoint resource URI. Should not be used together 
with the option 'uriResolver'. The option is a 
org.apache.camel.component.xslt.XsltUriResolverFactory type. |  | String
diff --git a/docs/components/modules/ROOT/pages/xstream-dataformat.adoc 
b/docs/components/modules/ROOT/pages/xstream-dataformat.adoc
index 0d40f9f..c4af8e5 100644
--- a/docs/components/modules/ROOT/pages/xstream-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/xstream-dataformat.adoc
@@ -87,16 +87,16 @@ The component supports 30 options, which are listed below.
 | *camel.dataformat.json-xstream.unmarshal-type-name* | Class name of the java 
type to use when unarmshalling |  | String
 | *camel.dataformat.json-xstream.use-default-object-mapper* | Whether to 
lookup and use default Jackson ObjectMapper from the registry. | true | Boolean
 | *camel.dataformat.json-xstream.use-list* | To unarmshal to a List of Map or 
a List of Pojo. | false | Boolean
-| *camel.dataformat.xstream.aliases* | Alias a Class to a shorter name to be 
used in XML elements. The option is a 
java.util.Map<java.lang.String,java.lang.String> type. |  | String
+| *camel.dataformat.xstream.aliases* | Alias a Class to a shorter name to be 
used in XML elements. |  | Map
 | *camel.dataformat.xstream.content-type-header* | Whether the data format 
should set the Content-Type header with the type from the data format if the 
data format is capable of doing so. For example application/xml for data 
formats marshalling to XML, or application/json for data formats marshalling to 
JSon etc. | false | Boolean
 | *camel.dataformat.xstream.converters* | List of class names for using custom 
XStream converters. The classes must be of type 
com.thoughtworks.xstream.converters.Converter |  | List
 | *camel.dataformat.xstream.driver* | To use a custom XStream driver. The 
instance must be of type com.thoughtworks.xstream.io.HierarchicalStreamDriver | 
 | String
 | *camel.dataformat.xstream.driver-ref* | To refer to a custom XStream driver 
to lookup in the registry. The instance must be of type 
com.thoughtworks.xstream.io.HierarchicalStreamDriver |  | String
 | *camel.dataformat.xstream.enabled* | Enable xstream dataformat | true | 
Boolean
 | *camel.dataformat.xstream.encoding* | Sets the encoding to use |  | String
-| *camel.dataformat.xstream.implicit-collections* | Adds a default implicit 
collection which is used for any unmapped XML tag. The option is a 
java.util.Map<java.lang.String,java.lang.String[]> type. |  | String
+| *camel.dataformat.xstream.implicit-collections* | Adds a default implicit 
collection which is used for any unmapped XML tag. |  | Map
 | *camel.dataformat.xstream.mode* | Mode for dealing with duplicate references 
The possible values are: NO_REFERENCES ID_REFERENCES XPATH_RELATIVE_REFERENCES 
XPATH_ABSOLUTE_REFERENCES SINGLE_NODE_XPATH_RELATIVE_REFERENCES 
SINGLE_NODE_XPATH_ABSOLUTE_REFERENCES |  | String
-| *camel.dataformat.xstream.omit-fields* | Prevents a field from being 
serialized. To omit a field you must always provide the declaring type and not 
necessarily the type that is converted. The option is a 
java.util.Map<java.lang.String,java.lang.String[]> type. |  | String
+| *camel.dataformat.xstream.omit-fields* | Prevents a field from being 
serialized. To omit a field you must always provide the declaring type and not 
necessarily the type that is converted. |  | Map
 | *camel.dataformat.xstream.permissions* | 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 permissi [...]
 |===
 // spring-boot-auto-configure options: END
diff --git 
a/platforms/spring-boot/components-starter/camel-ehcache-starter/src/main/java/org/apache/camel/component/ehcache/springboot/EhcacheComponentConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-ehcache-starter/src/main/java/org/apache/camel/component/ehcache/springboot/EhcacheComponentConfiguration.java
index 499f384..85eb8a3 100644
--- 
a/platforms/spring-boot/components-starter/camel-ehcache-starter/src/main/java/org/apache/camel/component/ehcache/springboot/EhcacheComponentConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-ehcache-starter/src/main/java/org/apache/camel/component/ehcache/springboot/EhcacheComponentConfiguration.java
@@ -60,15 +60,13 @@ public class EhcacheComponentConfiguration
     private String cacheManagerConfiguration;
     /**
      * The default cache configuration to be used to create caches. The option
-     * is a org.ehcache.config.CacheConfiguration<?,?> type.
+     * is a org.ehcache.config.CacheConfiguration type.
      */
     private String cacheConfiguration;
     /**
-     * A map of caches configurations to be used to create caches. The option 
is
-     * a
-     * 
java.util.Map<java.lang.String,org.ehcache.config.CacheConfiguration<?,?>> type.
+     * A map of caches configurations to be used to create caches.
      */
-    private String cachesConfigurations;
+    private Map<String, CacheConfiguration> cachesConfigurations;
     /**
      * URI pointing to the Ehcache XML configuration file's location
      */
@@ -118,11 +116,12 @@ public class EhcacheComponentConfiguration
         this.cacheConfiguration = cacheConfiguration;
     }
 
-    public String getCachesConfigurations() {
+    public Map<String, CacheConfiguration> getCachesConfigurations() {
         return cachesConfigurations;
     }
 
-    public void setCachesConfigurations(String cachesConfigurations) {
+    public void setCachesConfigurations(
+            Map<String, CacheConfiguration> cachesConfigurations) {
         this.cachesConfigurations = cachesConfigurations;
     }
 
diff --git 
a/platforms/spring-boot/components-starter/camel-ehcache-starter/src/main/java/org/apache/camel/component/ehcache/springboot/customizer/CacheConfigurationCustomizer.java
 
b/platforms/spring-boot/components-starter/camel-ehcache-starter/src/main/java/org/apache/camel/component/ehcache/springboot/customizer/CacheConfigurationCustomizer.java
index 70ba44c..2eff4c9 100644
--- 
a/platforms/spring-boot/components-starter/camel-ehcache-starter/src/main/java/org/apache/camel/component/ehcache/springboot/customizer/CacheConfigurationCustomizer.java
+++ 
b/platforms/spring-boot/components-starter/camel-ehcache-starter/src/main/java/org/apache/camel/component/ehcache/springboot/customizer/CacheConfigurationCustomizer.java
@@ -57,7 +57,7 @@ import org.springframework.core.annotation.Order;
 @EnableConfigurationProperties(CacheConfigurationCustomizerConfiguration.class)
 public class CacheConfigurationCustomizer implements HasId, 
ComponentCustomizer<EhcacheComponent> {
     @Autowired(required = false)
-    private Map<String, CacheConfiguration<?, ?>> configurations;
+    private Map<String, CacheConfiguration> configurations;
     @Autowired
     private CacheConfigurationCustomizerConfiguration configuration;
 
diff --git 
a/platforms/spring-boot/components-starter/camel-fhir-starter/src/main/java/org/apache/camel/component/fhir/springboot/FhirJsonDataFormatConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-fhir-starter/src/main/java/org/apache/camel/component/fhir/springboot/FhirJsonDataFormatConfiguration.java
index f7bcca9..c91c6a2 100644
--- 
a/platforms/spring-boot/components-starter/camel-fhir-starter/src/main/java/org/apache/camel/component/fhir/springboot/FhirJsonDataFormatConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-fhir-starter/src/main/java/org/apache/camel/component/fhir/springboot/FhirJsonDataFormatConfiguration.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.fhir.springboot;
 
 import java.util.List;
+import java.util.Set;
 import javax.annotation.Generated;
 import org.apache.camel.spring.boot.DataFormatConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -77,10 +78,9 @@ public class FhirJsonDataFormatConfiguration
      * the patient's name Patient.name.family - Encode only the patient's 
family
      * name .text - Encode the text element on any resource (only the very 
first
      * position may contain a wildcard) .(mandatory) - This is a special case
-     * which causes any mandatory fields (min 0) to be encoded. The option is a
-     * java.util.Set<java.lang.String> type.
+     * which causes any mandatory fields (min 0) to be encoded
      */
-    private String encodeElements;
+    private Set<String> encodeElements;
     /**
      * If provided, specifies the elements which should NOT be encoded. Valid
      * values for this field would include: Patient - Don't encode patient and
@@ -90,9 +90,9 @@ public class FhirJsonDataFormatConfiguration
      * position may contain a wildcard) DSTU2 note: Note that values including
      * meta, such as Patient.meta will work for DSTU2 parsers, but values with
      * subelements on meta such as Patient.meta.lastUpdated will only work in
-     * DSTU3 mode. The option is a java.util.Set<java.lang.String> type.
+     * DSTU3 mode.
      */
-    private String dontEncodeElements;
+    private Set<String> dontEncodeElements;
     /**
      * If set to true (which is the default), resource references containing a
      * version will have the version removed when the resource is encoded. This
@@ -184,19 +184,19 @@ public class FhirJsonDataFormatConfiguration
         this.encodeElementsAppliesToChildResourcesOnly = 
encodeElementsAppliesToChildResourcesOnly;
     }
 
-    public String getEncodeElements() {
+    public Set<String> getEncodeElements() {
         return encodeElements;
     }
 
-    public void setEncodeElements(String encodeElements) {
+    public void setEncodeElements(Set<String> encodeElements) {
         this.encodeElements = encodeElements;
     }
 
-    public String getDontEncodeElements() {
+    public Set<String> getDontEncodeElements() {
         return dontEncodeElements;
     }
 
-    public void setDontEncodeElements(String dontEncodeElements) {
+    public void setDontEncodeElements(Set<String> dontEncodeElements) {
         this.dontEncodeElements = dontEncodeElements;
     }
 
diff --git 
a/platforms/spring-boot/components-starter/camel-fhir-starter/src/main/java/org/apache/camel/component/fhir/springboot/FhirXmlDataFormatConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-fhir-starter/src/main/java/org/apache/camel/component/fhir/springboot/FhirXmlDataFormatConfiguration.java
index c7fc822..edf230d 100644
--- 
a/platforms/spring-boot/components-starter/camel-fhir-starter/src/main/java/org/apache/camel/component/fhir/springboot/FhirXmlDataFormatConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-fhir-starter/src/main/java/org/apache/camel/component/fhir/springboot/FhirXmlDataFormatConfiguration.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.fhir.springboot;
 
 import java.util.List;
+import java.util.Set;
 import javax.annotation.Generated;
 import org.apache.camel.spring.boot.DataFormatConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -77,10 +78,9 @@ public class FhirXmlDataFormatConfiguration
      * the patient's name Patient.name.family - Encode only the patient's 
family
      * name .text - Encode the text element on any resource (only the very 
first
      * position may contain a wildcard) .(mandatory) - This is a special case
-     * which causes any mandatory fields (min 0) to be encoded. The option is a
-     * java.util.Set<java.lang.String> type.
+     * which causes any mandatory fields (min 0) to be encoded
      */
-    private String encodeElements;
+    private Set<String> encodeElements;
     /**
      * If provided, specifies the elements which should NOT be encoded. Valid
      * values for this field would include: Patient - Don't encode patient and
@@ -90,9 +90,9 @@ public class FhirXmlDataFormatConfiguration
      * position may contain a wildcard) DSTU2 note: Note that values including
      * meta, such as Patient.meta will work for DSTU2 parsers, but values with
      * subelements on meta such as Patient.meta.lastUpdated will only work in
-     * DSTU3 mode. The option is a java.util.Set<java.lang.String> type.
+     * DSTU3 mode.
      */
-    private String dontEncodeElements;
+    private Set<String> dontEncodeElements;
     /**
      * If set to true (which is the default), resource references containing a
      * version will have the version removed when the resource is encoded. This
@@ -184,19 +184,19 @@ public class FhirXmlDataFormatConfiguration
         this.encodeElementsAppliesToChildResourcesOnly = 
encodeElementsAppliesToChildResourcesOnly;
     }
 
-    public String getEncodeElements() {
+    public Set<String> getEncodeElements() {
         return encodeElements;
     }
 
-    public void setEncodeElements(String encodeElements) {
+    public void setEncodeElements(Set<String> encodeElements) {
         this.encodeElements = encodeElements;
     }
 
-    public String getDontEncodeElements() {
+    public Set<String> getDontEncodeElements() {
         return dontEncodeElements;
     }
 
-    public void setDontEncodeElements(String dontEncodeElements) {
+    public void setDontEncodeElements(Set<String> dontEncodeElements) {
         this.dontEncodeElements = dontEncodeElements;
     }
 
diff --git 
a/platforms/spring-boot/components-starter/camel-jetty-starter/src/main/java/org/apache/camel/component/jetty9/springboot/JettyHttpComponentConfiguration9.java
 
b/platforms/spring-boot/components-starter/camel-jetty-starter/src/main/java/org/apache/camel/component/jetty9/springboot/JettyHttpComponentConfiguration9.java
index 814fe06..6f2c9c8 100644
--- 
a/platforms/spring-boot/components-starter/camel-jetty-starter/src/main/java/org/apache/camel/component/jetty9/springboot/JettyHttpComponentConfiguration9.java
+++ 
b/platforms/spring-boot/components-starter/camel-jetty-starter/src/main/java/org/apache/camel/component/jetty9/springboot/JettyHttpComponentConfiguration9.java
@@ -16,8 +16,10 @@
  */
 package org.apache.camel.component.jetty9.springboot;
 
+import java.util.Map;
 import javax.annotation.Generated;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
+import org.eclipse.jetty.server.Connector;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
 /**
@@ -60,17 +62,14 @@ public class JettyHttpComponentConfiguration9
      */
     private String errorHandler;
     /**
-     * A map which contains per port number specific SSL connectors. The option
-     * is a java.util.Map<java.lang.Integer,org.eclipse.jetty.server.Connector>
-     * type.
+     * A map which contains per port number specific SSL connectors.
      */
-    private String sslSocketConnectors;
+    private Map<Integer, Connector> sslSocketConnectors;
     /**
      * A map which contains per port number specific HTTP connectors. Uses the
-     * same principle as sslSocketConnectors. The option is a
-     * java.util.Map<java.lang.Integer,org.eclipse.jetty.server.Connector> 
type.
+     * same principle as sslSocketConnectors.
      */
-    private String socketConnectors;
+    private Map<Integer, Connector> socketConnectors;
     /**
      * To set a value for minimum number of threads in HttpClient thread pool.
      * Notice that both a min and max size must be configured.
@@ -125,16 +124,14 @@ public class JettyHttpComponentConfiguration9
      */
     private String mbContainer;
     /**
-     * A map which contains general SSL connector properties. The option is a
-     * java.util.Map<java.lang.String,java.lang.Object> type.
+     * A map which contains general SSL connector properties.
      */
-    private String sslSocketConnectorProperties;
+    private Map<String, Object> sslSocketConnectorProperties;
     /**
      * A map which contains general HTTP connector properties. Uses the same
-     * principle as sslSocketConnectorProperties. The option is a
-     * java.util.Map<java.lang.String,java.lang.Object> type.
+     * principle as sslSocketConnectorProperties.
      */
-    private String socketConnectorProperties;
+    private Map<String, Object> socketConnectorProperties;
     /**
      * Allows to set a timeout in millis when using Jetty as consumer (server).
      * By default Jetty uses 30000. You can use a value of = 0 to never expire.
@@ -253,19 +250,20 @@ public class JettyHttpComponentConfiguration9
         this.errorHandler = errorHandler;
     }
 
-    public String getSslSocketConnectors() {
+    public Map<Integer, Connector> getSslSocketConnectors() {
         return sslSocketConnectors;
     }
 
-    public void setSslSocketConnectors(String sslSocketConnectors) {
+    public void setSslSocketConnectors(
+            Map<Integer, Connector> sslSocketConnectors) {
         this.sslSocketConnectors = sslSocketConnectors;
     }
 
-    public String getSocketConnectors() {
+    public Map<Integer, Connector> getSocketConnectors() {
         return socketConnectors;
     }
 
-    public void setSocketConnectors(String socketConnectors) {
+    public void setSocketConnectors(Map<Integer, Connector> socketConnectors) {
         this.socketConnectors = socketConnectors;
     }
 
@@ -349,20 +347,21 @@ public class JettyHttpComponentConfiguration9
         this.mbContainer = mbContainer;
     }
 
-    public String getSslSocketConnectorProperties() {
+    public Map<String, Object> getSslSocketConnectorProperties() {
         return sslSocketConnectorProperties;
     }
 
     public void setSslSocketConnectorProperties(
-            String sslSocketConnectorProperties) {
+            Map<String, Object> sslSocketConnectorProperties) {
         this.sslSocketConnectorProperties = sslSocketConnectorProperties;
     }
 
-    public String getSocketConnectorProperties() {
+    public Map<String, Object> getSocketConnectorProperties() {
         return socketConnectorProperties;
     }
 
-    public void setSocketConnectorProperties(String socketConnectorProperties) 
{
+    public void setSocketConnectorProperties(
+            Map<String, Object> socketConnectorProperties) {
         this.socketConnectorProperties = socketConnectorProperties;
     }
 
diff --git 
a/platforms/spring-boot/components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/server/springboot/MiloServerComponentConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/server/springboot/MiloServerComponentConfiguration.java
index f86a27b..2f9c52e 100644
--- 
a/platforms/spring-boot/components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/server/springboot/MiloServerComponentConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-milo-starter/src/main/java/org/apache/camel/component/milo/server/springboot/MiloServerComponentConfiguration.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.milo.server.springboot;
 
 import java.io.File;
 import java.util.Collection;
+import java.util.Set;
 import javax.annotation.Generated;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.eclipse.milo.opcua.stack.core.security.SecurityPolicy;
@@ -72,11 +73,9 @@ public class MiloServerComponentConfiguration
      */
     private String hostname;
     /**
-     * Security policies. The option is a
-     * java.util.Set<org.eclipse.milo.opcua.stack.core.security.SecurityPolicy>
-     * type.
+     * Security policies
      */
-    private String securityPolicies;
+    private Set<SecurityPolicy> securityPolicies;
     /**
      * Security policies by URI or name
      */
@@ -198,11 +197,11 @@ public class MiloServerComponentConfiguration
         this.hostname = hostname;
     }
 
-    public String getSecurityPolicies() {
+    public Set<SecurityPolicy> getSecurityPolicies() {
         return securityPolicies;
     }
 
-    public void setSecurityPolicies(String securityPolicies) {
+    public void setSecurityPolicies(Set<SecurityPolicy> securityPolicies) {
         this.securityPolicies = securityPolicies;
     }
 
diff --git 
a/platforms/spring-boot/components-starter/camel-quickfix-starter/src/main/java/org/apache/camel/component/quickfixj/springboot/QuickfixjComponentConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-quickfix-starter/src/main/java/org/apache/camel/component/quickfixj/springboot/QuickfixjComponentConfiguration.java
index f8b20c6..5dc66b6 100644
--- 
a/platforms/spring-boot/components-starter/camel-quickfix-starter/src/main/java/org/apache/camel/component/quickfixj/springboot/QuickfixjComponentConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-quickfix-starter/src/main/java/org/apache/camel/component/quickfixj/springboot/QuickfixjComponentConfiguration.java
@@ -16,7 +16,9 @@
  */
 package org.apache.camel.component.quickfixj.springboot;
 
+import java.util.Map;
 import javax.annotation.Generated;
+import org.apache.camel.component.quickfixj.QuickfixjConfiguration;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
@@ -53,10 +55,9 @@ public class QuickfixjComponentConfiguration
     private String messageStoreFactory;
     /**
      * To use the given map of pre configured QuickFix configurations mapped to
-     * the key. The option is a
-     * 
java.util.Map<java.lang.String,org.apache.camel.component.quickfixj.QuickfixjConfiguration>
 type.
+     * the key
      */
-    private String configurations;
+    private Map<String, QuickfixjConfiguration> configurations;
     /**
      * If set to true, the engines will be created and started when needed 
(when
      * first message is send)
@@ -98,11 +99,12 @@ public class QuickfixjComponentConfiguration
         this.messageStoreFactory = messageStoreFactory;
     }
 
-    public String getConfigurations() {
+    public Map<String, QuickfixjConfiguration> getConfigurations() {
         return configurations;
     }
 
-    public void setConfigurations(String configurations) {
+    public void setConfigurations(
+            Map<String, QuickfixjConfiguration> configurations) {
         this.configurations = configurations;
     }
 
diff --git 
a/platforms/spring-boot/components-starter/camel-rabbitmq-starter/src/main/java/org/apache/camel/component/rabbitmq/springboot/RabbitMQComponentConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-rabbitmq-starter/src/main/java/org/apache/camel/component/rabbitmq/springboot/RabbitMQComponentConfiguration.java
index 91153ea..b5ecca9 100644
--- 
a/platforms/spring-boot/components-starter/camel-rabbitmq-starter/src/main/java/org/apache/camel/component/rabbitmq/springboot/RabbitMQComponentConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-rabbitmq-starter/src/main/java/org/apache/camel/component/rabbitmq/springboot/RabbitMQComponentConfiguration.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.rabbitmq.springboot;
 
+import java.util.Map;
 import javax.annotation.Generated;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -199,16 +200,14 @@ public class RabbitMQComponentConfiguration
      * different prefix is required for each: Exchange: arg.exchange. Queue:
      * arg.queue. Binding: arg.binding. For example to declare a queue with
      * message ttl argument:
-     * http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000.
-     * The option is a java.util.Map<java.lang.String,java.lang.Object> type.
+     * http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000
      */
-    private String args;
+    private Map<String, Object> args;
     /**
      * Connection client properties (client info used in negotiating with the
-     * server). The option is a 
java.util.Map<java.lang.String,java.lang.Object>
-     * type.
+     * server)
      */
-    private String clientProperties;
+    private Map<String, Object> clientProperties;
     /**
      * Enables SSL on connection, accepted value are true, TLS and 'SSLv3
      */
@@ -540,19 +539,19 @@ public class RabbitMQComponentConfiguration
         this.immediate = immediate;
     }
 
-    public String getArgs() {
+    public Map<String, Object> getArgs() {
         return args;
     }
 
-    public void setArgs(String args) {
+    public void setArgs(Map<String, Object> args) {
         this.args = args;
     }
 
-    public String getClientProperties() {
+    public Map<String, Object> getClientProperties() {
         return clientProperties;
     }
 
-    public void setClientProperties(String clientProperties) {
+    public void setClientProperties(Map<String, Object> clientProperties) {
         this.clientProperties = clientProperties;
     }
 
diff --git 
a/platforms/spring-boot/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java
index 121d0fb..283cbcb 100644
--- 
a/platforms/spring-boot/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.salesforce.springboot;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import javax.annotation.Generated;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.camel.component.salesforce.AuthenticationType;
@@ -132,17 +133,15 @@ public class SalesforceComponentConfiguration
     /**
      * Used to set any properties that can be configured on the underlying HTTP
      * client. Have a look at properties of SalesforceHttpClient and the Jetty
-     * HttpClient for all available options. The option is a
-     * java.util.Map<java.lang.String,java.lang.Object> type.
+     * HttpClient for all available options.
      */
-    private String httpClientProperties;
+    private Map<String, Object> httpClientProperties;
     /**
      * Used to set any properties that can be configured on the
      * LongPollingTransport used by the BayeuxClient (CometD) used by the
-     * streaming api. The option is a
-     * java.util.Map<java.lang.String,java.lang.Object> type.
+     * streaming api
      */
-    private String longPollingTransportProperties;
+    private Map<String, Object> longPollingTransportProperties;
     /**
      * SSL parameters to use, see SSLContextParameters class for all available
      * options. The option is a
@@ -178,15 +177,13 @@ public class SalesforceComponentConfiguration
      */
     private Boolean isHttpProxySecure = true;
     /**
-     * A list of addresses for which HTTP proxy server should be used. The
-     * option is a java.util.Set<java.lang.String> type.
+     * A list of addresses for which HTTP proxy server should be used.
      */
-    private String httpProxyIncludedAddresses;
+    private Set<String> httpProxyIncludedAddresses;
     /**
-     * A list of addresses for which HTTP proxy server should not be used. The
-     * option is a java.util.Set<java.lang.String> type.
+     * A list of addresses for which HTTP proxy server should not be used.
      */
-    private String httpProxyExcludedAddresses;
+    private Set<String> httpProxyExcludedAddresses;
     /**
      * Used in authentication against the HTTP proxy server, needs to match the
      * URI of the proxy server in order for the httpProxyUsername and
@@ -319,20 +316,20 @@ public class SalesforceComponentConfiguration
         this.config = config;
     }
 
-    public String getHttpClientProperties() {
+    public Map<String, Object> getHttpClientProperties() {
         return httpClientProperties;
     }
 
-    public void setHttpClientProperties(String httpClientProperties) {
+    public void setHttpClientProperties(Map<String, Object> 
httpClientProperties) {
         this.httpClientProperties = httpClientProperties;
     }
 
-    public String getLongPollingTransportProperties() {
+    public Map<String, Object> getLongPollingTransportProperties() {
         return longPollingTransportProperties;
     }
 
     public void setLongPollingTransportProperties(
-            String longPollingTransportProperties) {
+            Map<String, Object> longPollingTransportProperties) {
         this.longPollingTransportProperties = longPollingTransportProperties;
     }
 
@@ -401,19 +398,21 @@ public class SalesforceComponentConfiguration
         this.isHttpProxySecure = isHttpProxySecure;
     }
 
-    public String getHttpProxyIncludedAddresses() {
+    public Set<String> getHttpProxyIncludedAddresses() {
         return httpProxyIncludedAddresses;
     }
 
-    public void setHttpProxyIncludedAddresses(String 
httpProxyIncludedAddresses) {
+    public void setHttpProxyIncludedAddresses(
+            Set<String> httpProxyIncludedAddresses) {
         this.httpProxyIncludedAddresses = httpProxyIncludedAddresses;
     }
 
-    public String getHttpProxyExcludedAddresses() {
+    public Set<String> getHttpProxyExcludedAddresses() {
         return httpProxyExcludedAddresses;
     }
 
-    public void setHttpProxyExcludedAddresses(String 
httpProxyExcludedAddresses) {
+    public void setHttpProxyExcludedAddresses(
+            Set<String> httpProxyExcludedAddresses) {
         this.httpProxyExcludedAddresses = httpProxyExcludedAddresses;
     }
 
diff --git 
a/platforms/spring-boot/components-starter/camel-salesforce-starter/src/test/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentTest.java
 
b/platforms/spring-boot/components-starter/camel-salesforce-starter/src/test/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentTest.java
new file mode 100644
index 0000000..c1229b1
--- /dev/null
+++ 
b/platforms/spring-boot/components-starter/camel-salesforce-starter/src/test/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentTest.java
@@ -0,0 +1,52 @@
+/*
+ * 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.salesforce.springboot;
+
+import org.apache.camel.component.salesforce.SalesforceComponent;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.junit4.SpringRunner;
+
+@RunWith(SpringRunner.class)
+@DirtiesContext
+@SpringBootApplication
+@SpringBootTest(properties = {
+        "camel.component.salesforce.refresh-token=myToken",
+        "camel.component.salesforce.client-secret=mySecret",
+        "camel.component.salesforce.client-id=myClient",
+        "camel.component.salesforce.lazy-login=true",
+        
"camel.component.salesforce.http-client-properties.requestBufferSize=12345",
+        "camel.component.salesforce.http-client-properties.bar=yes",
+})
+public class SalesforceComponentTest {
+
+    @Autowired
+    private SalesforceComponent sf;
+
+    @Test
+    public void testSalesforceComponent() {
+        Assert.assertNotNull(sf);
+        Assert.assertNotNull(sf.getHttpClientProperties());
+        Assert.assertEquals("12345", 
sf.getHttpClientProperties().get("requestBufferSize"));
+        Assert.assertEquals("yes", sf.getHttpClientProperties().get("bar"));
+    }
+}
diff --git 
a/platforms/spring-boot/components-starter/camel-saxon-starter/src/main/java/org/apache/camel/component/xquery/springboot/XQueryComponentConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-saxon-starter/src/main/java/org/apache/camel/component/xquery/springboot/XQueryComponentConfiguration.java
index fd73d0d..4c56430 100644
--- 
a/platforms/spring-boot/components-starter/camel-saxon-starter/src/main/java/org/apache/camel/component/xquery/springboot/XQueryComponentConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-saxon-starter/src/main/java/org/apache/camel/component/xquery/springboot/XQueryComponentConfiguration.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.xquery.springboot;
 
+import java.util.Map;
 import javax.annotation.Generated;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -47,10 +48,9 @@ public class XQueryComponentConfiguration
      */
     private String configuration;
     /**
-     * To set custom Saxon configuration properties. The option is a
-     * java.util.Map<java.lang.String,java.lang.Object> type.
+     * To set custom Saxon configuration properties
      */
-    private String configurationProperties;
+    private Map<String, Object> configurationProperties;
     /**
      * Whether the component should resolve property placeholders on itself 
when
      * starting. Only properties which are of String type can use property
@@ -79,11 +79,12 @@ public class XQueryComponentConfiguration
         this.configuration = configuration;
     }
 
-    public String getConfigurationProperties() {
+    public Map<String, Object> getConfigurationProperties() {
         return configurationProperties;
     }
 
-    public void setConfigurationProperties(String configurationProperties) {
+    public void setConfigurationProperties(
+            Map<String, Object> configurationProperties) {
         this.configurationProperties = configurationProperties;
     }
 
diff --git 
a/platforms/spring-boot/components-starter/camel-websocket-starter/src/main/java/org/apache/camel/component/websocket/springboot/WebsocketComponentConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-websocket-starter/src/main/java/org/apache/camel/component/websocket/springboot/WebsocketComponentConfiguration.java
index dc18dbf..e88f5e4 100644
--- 
a/platforms/spring-boot/components-starter/camel-websocket-starter/src/main/java/org/apache/camel/component/websocket/springboot/WebsocketComponentConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-websocket-starter/src/main/java/org/apache/camel/component/websocket/springboot/WebsocketComponentConfiguration.java
@@ -16,7 +16,9 @@
  */
 package org.apache.camel.component.websocket.springboot;
 
+import java.util.Map;
 import javax.annotation.Generated;
+import org.apache.camel.component.websocket.WebSocketFactory;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
@@ -101,10 +103,9 @@ public class WebsocketComponentConfiguration
     /**
      * To configure a map which contains custom WebSocketFactory for sub
      * protocols. The key in the map is the sub protocol. The default key is
-     * reserved for the default implementation. The option is a
-     * 
java.util.Map<java.lang.String,org.apache.camel.component.websocket.WebSocketFactory>
 type.
+     * reserved for the default implementation.
      */
-    private String socketFactory;
+    private Map<String, WebSocketFactory> socketFactory;
     /**
      * Whether the component should resolve property placeholders on itself 
when
      * starting. Only properties which are of String type can use property
@@ -214,11 +215,11 @@ public class WebsocketComponentConfiguration
         this.useGlobalSslContextParameters = useGlobalSslContextParameters;
     }
 
-    public String getSocketFactory() {
+    public Map<String, WebSocketFactory> getSocketFactory() {
         return socketFactory;
     }
 
-    public void setSocketFactory(String socketFactory) {
+    public void setSocketFactory(Map<String, WebSocketFactory> socketFactory) {
         this.socketFactory = socketFactory;
     }
 
diff --git 
a/platforms/spring-boot/components-starter/camel-xslt-starter/src/main/java/org/apache/camel/component/xslt/springboot/XsltComponentConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-xslt-starter/src/main/java/org/apache/camel/component/xslt/springboot/XsltComponentConfiguration.java
index 5593336..aee0aa7 100644
--- 
a/platforms/spring-boot/components-starter/camel-xslt-starter/src/main/java/org/apache/camel/component/xslt/springboot/XsltComponentConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-xslt-starter/src/main/java/org/apache/camel/component/xslt/springboot/XsltComponentConfiguration.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.xslt.springboot;
 
+import java.util.Map;
 import javax.annotation.Generated;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -75,10 +76,9 @@ public class XsltComponentConfiguration
      */
     private String saxonConfiguration;
     /**
-     * To set custom Saxon configuration properties. The option is a
-     * java.util.Map<java.lang.String,java.lang.Object> type.
+     * To set custom Saxon configuration properties
      */
-    private String saxonConfigurationProperties;
+    private Map<String, Object> saxonConfigurationProperties;
     /**
      * Whether the component should resolve property placeholders on itself 
when
      * starting. Only properties which are of String type can use property
@@ -139,12 +139,12 @@ public class XsltComponentConfiguration
         this.saxonConfiguration = saxonConfiguration;
     }
 
-    public String getSaxonConfigurationProperties() {
+    public Map<String, Object> getSaxonConfigurationProperties() {
         return saxonConfigurationProperties;
     }
 
     public void setSaxonConfigurationProperties(
-            String saxonConfigurationProperties) {
+            Map<String, Object> saxonConfigurationProperties) {
         this.saxonConfigurationProperties = saxonConfigurationProperties;
     }
 
diff --git 
a/platforms/spring-boot/components-starter/camel-xstream-starter/src/main/java/org/apache/camel/dataformat/xstream/springboot/XStreamDataFormatConfiguration.java
 
b/platforms/spring-boot/components-starter/camel-xstream-starter/src/main/java/org/apache/camel/dataformat/xstream/springboot/XStreamDataFormatConfiguration.java
index 358a02e..fe302aa 100644
--- 
a/platforms/spring-boot/components-starter/camel-xstream-starter/src/main/java/org/apache/camel/dataformat/xstream/springboot/XStreamDataFormatConfiguration.java
+++ 
b/platforms/spring-boot/components-starter/camel-xstream-starter/src/main/java/org/apache/camel/dataformat/xstream/springboot/XStreamDataFormatConfiguration.java
@@ -17,6 +17,7 @@
 package org.apache.camel.dataformat.xstream.springboot;
 
 import java.util.List;
+import java.util.Map;
 import javax.annotation.Generated;
 import org.apache.camel.spring.boot.DataFormatConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -80,23 +81,20 @@ public class XStreamDataFormatConfiguration
      */
     private List<String> converters;
     /**
-     * Alias a Class to a shorter name to be used in XML elements. The option 
is
-     * a java.util.Map<java.lang.String,java.lang.String> type.
+     * Alias a Class to a shorter name to be used in XML elements.
      */
-    private String aliases;
+    private Map<String, String> aliases;
     /**
      * Prevents a field from being serialized. To omit a field you must always
      * provide the declaring type and not necessarily the type that is
-     * converted. The option is a
-     * java.util.Map<java.lang.String,java.lang.String[]> type.
+     * converted.
      */
-    private String omitFields;
+    private Map<String, String[]> omitFields;
     /**
      * Adds a default implicit collection which is used for any unmapped XML
-     * tag. The option is a java.util.Map<java.lang.String,java.lang.String[]>
-     * type.
+     * tag.
      */
-    private String implicitCollections;
+    private Map<String, String[]> implicitCollections;
     /**
      * Whether the data format should set the Content-Type header with the type
      * from the data format if the data format is capable of doing so. For
@@ -153,27 +151,27 @@ public class XStreamDataFormatConfiguration
         this.converters = converters;
     }
 
-    public String getAliases() {
+    public Map<String, String> getAliases() {
         return aliases;
     }
 
-    public void setAliases(String aliases) {
+    public void setAliases(Map<String, String> aliases) {
         this.aliases = aliases;
     }
 
-    public String getOmitFields() {
+    public Map<String, String[]> getOmitFields() {
         return omitFields;
     }
 
-    public void setOmitFields(String omitFields) {
+    public void setOmitFields(Map<String, String[]> omitFields) {
         this.omitFields = omitFields;
     }
 
-    public String getImplicitCollections() {
+    public Map<String, String[]> getImplicitCollections() {
         return implicitCollections;
     }
 
-    public void setImplicitCollections(String implicitCollections) {
+    public void setImplicitCollections(Map<String, String[]> 
implicitCollections) {
         this.implicitCollections = implicitCollections;
     }
 
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
index 5839057..ac95993 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
@@ -769,8 +769,9 @@ public class SpringBootAutoConfigurationMojo extends 
AbstractMojo {
                 type = "java.lang.String";
             }
 
+            // need to generate and load this class so the compiler can compile
             if (type.equals(packageName + "." + name + "$" + 
option.getShortJavaType() + INNER_TYPE_SUFFIX)) {
-                Class configClass = generateDummyClass(type);
+                generateDummyClass(type);
             }
 
             Property prop = javaClass.addProperty(type, option.getName());
@@ -1000,16 +1001,28 @@ public class SpringBootAutoConfigurationMojo extends 
AbstractMojo {
     }
 
     private boolean isComplexType(ComponentOptionModel option) {
+        // we can configure map/list/set types from spring-boot so do not 
regard them as complex
+        if (option.getJavaType().startsWith("java.util.Map") || 
option.getJavaType().startsWith("java.util.List") || 
option.getJavaType().startsWith("java.util.Set")) {
+            return false;
+        }
         // all the object types are complex
         return "object".equals(option.getType());
     }
 
     private boolean isComplexType(DataFormatOptionModel option) {
+        // we can configure map/list/set types from spring-boot so do not 
regard them as complex
+        if (option.getJavaType().startsWith("java.util.Map") || 
option.getJavaType().startsWith("java.util.List") || 
option.getJavaType().startsWith("java.util.Set")) {
+            return false;
+        }
         // all the object types are complex
         return "object".equals(option.getType());
     }
 
     private boolean isComplexType(LanguageOptionModel option) {
+        // we can configure map/list/set types from spring-boot so do not 
regard them as complex
+        if (option.getJavaType().startsWith("java.util.Map") || 
option.getJavaType().startsWith("java.util.List") || 
option.getJavaType().startsWith("java.util.Set")) {
+            return false;
+        }
         // all the object types are complex
         return "object".equals(option.getType());
     }

Reply via email to