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

coheigea pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 7765e80cb011ca15276dcba7cc90b031e6950d0f
Author: Colm O hEigeartaigh <cohei...@apache.org>
AuthorDate: Tue Apr 9 16:01:30 2019 +0100

    Adding initial TLS support
---
 camel-core/readme.adoc                             | 82 +-----------------
 components/camel-coap/pom.xml                      |  5 ++
 .../camel-coap/src/main/docs/coap-component.adoc   |  3 +-
 .../java/org/apache/camel/coap/CoAPComponent.java  | 66 +++++++++++++--
 .../java/org/apache/camel/coap/CoAPEndpoint.java   | 17 +++-
 .../java/org/apache/camel/coap/CoAPProducer.java   | 46 ++++++++++
 .../services/org/apache/camel/component/coaps      | 18 ++++
 components/readme.adoc                             | 98 +++++++++++++++-------
 .../src/main/resources/camel-connector-schema.json |  2 +-
 .../src/main/resources/camel-connector.json        |  4 +-
 10 files changed, 221 insertions(+), 120 deletions(-)

diff --git a/camel-core/readme.adoc b/camel-core/readme.adoc
index 601cc9a..663462d 100644
--- a/camel-core/readme.adoc
+++ b/camel-core/readme.adoc
@@ -6,90 +6,18 @@ Components
 
 
 // components: START
-Number of Components: 26 in 1 JAR artifacts (1 deprecated)
+Number of Components: 2 in 1 JAR artifacts (1 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
 | Component | Available From | Description
 
-| link:src/main/docs/bean-component.adoc[Bean] (camel-core) +
-`bean:beanName` | 1.0 | The bean component is for invoking Java beans from 
Camel.
-
 | link:src/main/docs/binding-component.adoc[Binding] (camel-core) +
 `binding:bindingName:delegateUri` | 2.11 | *deprecated* The binding component 
is used for as a of wrapping an Endpoint in a contract with a data format.
 
-| link:src/main/docs/browse-component.adoc[Browse] (camel-core) +
-`browse:name` | 1.3 | The browse component is used for viewing the messages 
received on endpoints that supports BrowsableEndpoint.
-
-| link:src/main/docs/class-component.adoc[Class] (camel-core) +
-`class:beanName` | 2.4 | The Class Component is for invoking Java Classes 
(Java beans) from Camel.
-
-| link:src/main/docs/controlbus-component.adoc[Control Bus] (camel-core) +
-`controlbus:command:language` | 2.11 | The controlbus component provides easy 
management of Camel applications based on the Control Bus EIP pattern.
-
-| link:src/main/docs/dataformat-component.adoc[Data Format] (camel-core) +
-`dataformat:name:operation` | 2.12 | The dataformat component is used for 
working with Data Formats as if it was a regular Component supporting Endpoints 
and URIs.
-
-| link:src/main/docs/dataset-component.adoc[Dataset] (camel-core) +
-`dataset:name` | 1.3 | The dataset component provides a mechanism to easily 
perform load & soak testing of your system.
-
-| link:src/main/docs/direct-component.adoc[Direct] (camel-core) +
-`direct:name` | 1.0 | The direct component provides direct, synchronous call 
to another endpoint from the same CamelContext.
-
-| link:src/main/docs/direct-vm-component.adoc[Direct VM] (camel-core) +
-`direct-vm:name` | 2.10 | The direct-vm component provides direct, synchronous 
call to another endpoint from any CamelContext in the same JVM.
-
-| link:src/main/docs/file-component.adoc[File] (camel-core) +
-`file:directoryName` | 1.0 | The file component is used for reading or writing 
files.
-
-| link:src/main/docs/language-component.adoc[Language] (camel-core) +
-`language:languageName:resourceUri` | 2.5 | The language component allows you 
to send a message to an endpoint which executes a script by any of the 
supported Languages in Camel.
-
-| link:src/main/docs/log-component.adoc[Log] (camel-core) +
-`log:loggerName` | 1.1 | The log component logs message exchanges to the 
underlying logging mechanism.
-
-| link:src/main/docs/mock-component.adoc[Mock] (camel-core) +
-`mock:name` | 1.0 | The mock component is used for testing routes and 
mediation rules using mocks.
-
-| link:src/main/docs/properties-component.adoc[Properties] (camel-core) +
-`properties:key` | 2.3 | The properties component is used for using property 
placeholders in endpoint uris.
-
-| link:src/main/docs/ref-component.adoc[Ref] (camel-core) +
-`ref:name` | 1.2 | The ref component is used for lookup of existing endpoints 
bound in the Registry.
-
-| link:src/main/docs/rest-component.adoc[REST] (camel-core) +
-`rest:method:path:uriTemplate` | 2.14 | The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).
-
-| link:src/main/docs/rest-api-component.adoc[REST API] (camel-core) +
-`rest-api:path/contextIdPattern` | 2.16 | The rest-api component is used for 
providing Swagger API of the REST services which has been defined using the 
rest-dsl in Camel.
-
-| link:src/main/docs/saga-component.adoc[Saga] (camel-core) +
-`saga:action` | 2.21 | The saga component provides access to advanced options 
for managing the flow in the Saga EIP.
-
-| link:src/main/docs/scheduler-component.adoc[Scheduler] (camel-core) +
-`scheduler:name` | 2.15 | The scheduler component is used for generating 
message exchanges when a scheduler fires.
-
-| link:src/main/docs/seda-component.adoc[SEDA] (camel-core) +
-`seda:name` | 1.1 | The seda component provides asynchronous call to another 
endpoint from any CamelContext in the same JVM.
-
-| link:src/main/docs/stub-component.adoc[Stub] (camel-core) +
-`stub:name` | 2.10 | The stub component provides a simple way to stub out any 
physical endpoints while in development or testing.
-
 | link:src/main/docs/test-component.adoc[Test] (camel-core) +
 `test:name` | 1.3 | The test component extends the mock component by on 
startup to pull messages from another endpoint to set the expected message 
bodies.
 
-| link:src/main/docs/timer-component.adoc[Timer] (camel-core) +
-`timer:timerName` | 1.0 | The timer component is used for generating message 
exchanges when a timer fires.
-
-| link:src/main/docs/validator-component.adoc[Validator] (camel-core) +
-`validator:resourceUri` | 1.1 | Validates the payload of a message using XML 
Schema and JAXP Validation.
-
-| link:src/main/docs/vm-component.adoc[VM] (camel-core) +
-`vm:name` | 1.1 | The vm component provides asynchronous call to another 
endpoint from the same CamelContext.
-
-| link:src/main/docs/xslt-component.adoc[XSLT] (camel-core) +
-`xslt:resourceUri` | 1.3 | Transforms the message using a XSLT template.
-
 |===
 // components: END
 
@@ -106,7 +34,7 @@ Data Formats
 
 
 // dataformats: START
-Number of Data Formats: 4 in 39 JAR artifacts (5 deprecated)
+Number of Data Formats: 4 in 42 JAR artifacts (6 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -136,14 +64,12 @@ Expression Languages
 
 
 // languages: START
-Number of Languages: 10 in 1 JAR artifacts (0 deprecated)
+Number of Languages: 8 in 1 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
 | Language | Available From | Description
 
-| link:src/main/docs/bean-language.adoc[Bean method] (camel-core) | 1.3 | To 
use a Java bean (aka method call) in Camel expressions or predicates.
-
 | link:src/main/docs/constant-language.adoc[Constant] (camel-core) | 1.5 | To 
use a constant value in Camel expressions or predicates.
 
 | link:src/main/docs/exchangeProperty-language.adoc[ExchangeProperty] 
(camel-core) | 2.0 | To use a Camel Exchange property in expressions or 
predicates.
@@ -159,8 +85,6 @@ Number of Languages: 10 in 1 JAR artifacts (0 deprecated)
 | link:src/main/docs/tokenize-language.adoc[Tokenize] (camel-core) | 2.0 | To 
use Camel message body or header with a tokenizer in Camel expressions or 
predicates.
 
 | link:src/main/docs/xtokenize-language.adoc[XML Tokenize] (camel-core) | 2.14 
| To use Camel message body or header with a XML tokenizer in Camel expressions 
or predicates.
-
-| link:src/main/docs/xpath-language.adoc[XPath] (camel-core) | 1.1 | To use 
XPath (XML) in Camel expressions or predicates.
 |===
 // languages: END
 
diff --git a/components/camel-coap/pom.xml b/components/camel-coap/pom.xml
index 01d5154..11ebeba 100644
--- a/components/camel-coap/pom.xml
+++ b/components/camel-coap/pom.xml
@@ -47,6 +47,11 @@
       <artifactId>californium-core</artifactId>
       <version>${californium-version}</version>
     </dependency>
+    <dependency>
+      <groupId>org.eclipse.californium</groupId>
+      <artifactId>scandium</artifactId>
+      <version>${californium-version}</version>
+    </dependency>
 
     <!-- logging -->    
     <dependency>
diff --git a/components/camel-coap/src/main/docs/coap-component.adoc 
b/components/camel-coap/src/main/docs/coap-component.adoc
index 0653f53..1517f4f 100644
--- a/components/camel-coap/src/main/docs/coap-component.adoc
+++ b/components/camel-coap/src/main/docs/coap-component.adoc
@@ -50,12 +50,13 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (5 parameters):
+==== Query Parameters (6 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
+| *keyStoreParameters* (common) | The KeyStoreParameters object to use with 
TLS |  | KeyStoreParameters
 | *bridgeErrorHandler* (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler, which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages, or the likes, will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions, that will be logged at WARN or ERROR level and ignored. | false | 
boolean
 | *coapMethodRestrict* (consumer) | Comma separated list of methods that the 
CoAP consumer will bind to. The default is to bind to all methods (DELETE, GET, 
POST, PUT). |  | String
 | *exceptionHandler* (consumer) | To let the consumer use a custom 
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this 
option is not in use. By default the consumer will deal with exceptions, that 
will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
diff --git 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
index e6d1c85..dbd382b 100644
--- 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
+++ 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPComponent.java
@@ -16,7 +16,17 @@
  */
 package org.apache.camel.coap;
 
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.security.GeneralSecurityException;
+import java.security.KeyStore;
+import java.security.PrivateKey;
+import java.security.cert.Certificate;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.Enumeration;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -32,8 +42,11 @@ import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.HostUtils;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.URISupport;
+import org.apache.camel.util.jsse.KeyStoreParameters;
 import org.eclipse.californium.core.CoapServer;
-import org.eclipse.californium.core.network.config.NetworkConfig;
+import org.eclipse.californium.core.network.CoapEndpoint;
+import org.eclipse.californium.scandium.DTLSConnector;
+import org.eclipse.californium.scandium.config.DtlsConnectorConfig;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -54,15 +67,56 @@ public class CoAPComponent extends UriEndpointComponent 
implements RestConsumerF
         super(context, CoAPEndpoint.class);
     }
 
-    public synchronized CoapServer getServer(int port) {
+    public synchronized CoapServer getServer(int port, KeyStoreParameters 
keyStoreParameters) {
         CoapServer server = servers.get(port);
         if (server == null && port == -1) {
-            server = getServer(DEFAULT_PORT);
+            server = getServer(DEFAULT_PORT, keyStoreParameters);
         }
         if (server == null) {
-            NetworkConfig config = new NetworkConfig();
-            //FIXME- configure the network stuff
-            server = new CoapServer(config, port);
+            CoapEndpoint.Builder coapBuilder = new CoapEndpoint.Builder();
+            InetSocketAddress address = new InetSocketAddress(port);
+            
+            if (keyStoreParameters != null) {
+                DtlsConnectorConfig.Builder builder = new 
DtlsConnectorConfig.Builder();
+                builder.setAddress(address);
+
+                try {
+                    KeyStore keyStore = keyStoreParameters.createKeyStore();
+                    // TODO
+                    PrivateKey privateKey = 
(PrivateKey)keyStoreParameters.createKeyStore().getKey("ec", 
"security".toCharArray());
+                    builder.setIdentity(privateKey, 
keyStore.getCertificateChain("ec"));
+
+                    // Add all certificates from the truststore
+                    Enumeration<String> aliases = keyStore.aliases();
+                    List<Certificate> trustCerts = new ArrayList<>();
+                    while (aliases.hasMoreElements()) {
+                        String alias = aliases.nextElement();
+                        X509Certificate cert =
+                                (X509Certificate) 
keyStore.getCertificate(alias);
+                        if (cert != null) {
+                            trustCerts.add(cert);
+                        }
+                    }
+                    builder.setTrustStore(trustCerts.toArray(new 
Certificate[0]));
+
+                } catch (GeneralSecurityException | IOException e) {
+                    // TODO Auto-generated catch block
+                    e.printStackTrace();
+                }
+
+                builder.setClientAuthenticationRequired(false); //TODO
+
+                builder.setSupportedCipherSuites(new String[] 
{"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"}); //TODO
+
+                DTLSConnector connector = new DTLSConnector(builder.build());
+                coapBuilder.setConnector(connector);
+            } else {
+                coapBuilder.setInetSocketAddress(address);
+            }
+
+            server = new CoapServer();
+            server.addEndpoint(coapBuilder.build());
+            
             servers.put(port, server);
             if (this.isStarted()) {
                 server.start();
diff --git 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
index bc0e2f1..5e989b7 100644
--- 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
+++ 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPEndpoint.java
@@ -25,6 +25,7 @@ import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
+import org.apache.camel.util.jsse.KeyStoreParameters;
 import org.eclipse.californium.core.CoapServer;
 
 /**
@@ -36,6 +37,9 @@ public class CoAPEndpoint extends DefaultEndpoint {
     private URI uri;
     @UriParam(label = "consumer")
     private String coapMethodRestrict;
+    
+    @UriParam
+    private KeyStoreParameters keyStoreParameters;
         
     private CoAPComponent component;
     
@@ -84,6 +88,17 @@ public class CoAPEndpoint extends DefaultEndpoint {
     }
 
     public CoapServer getCoapServer() {
-        return component.getServer(getUri().getPort());
+        return component.getServer(getUri().getPort(), keyStoreParameters);
+    }
+    
+    /**
+     * The KeyStoreParameters object to use with TLS
+     */
+    public KeyStoreParameters getKeyStoreParameters() {
+        return keyStoreParameters;
+    }
+
+    public void setKeyStoreParameters(KeyStoreParameters keyStoreParameters) {
+        this.keyStoreParameters = keyStoreParameters;
     }
 }
diff --git 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPProducer.java 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPProducer.java
index 4837193..c4bc8c9 100644
--- 
a/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPProducer.java
+++ 
b/components/camel-coap/src/main/java/org/apache/camel/coap/CoAPProducer.java
@@ -16,7 +16,15 @@
  */
 package org.apache.camel.coap;
 
+import java.io.IOException;
 import java.net.URI;
+import java.security.GeneralSecurityException;
+import java.security.KeyStore;
+import java.security.cert.Certificate;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
@@ -24,6 +32,9 @@ import org.apache.camel.impl.DefaultProducer;
 import org.eclipse.californium.core.CoapClient;
 import org.eclipse.californium.core.CoapResponse;
 import org.eclipse.californium.core.coap.MediaTypeRegistry;
+import org.eclipse.californium.core.network.CoapEndpoint;
+import org.eclipse.californium.scandium.DTLSConnector;
+import org.eclipse.californium.scandium.config.DtlsConnectorConfig;
 
 /**
  * The CoAP producer.
@@ -91,6 +102,41 @@ public class CoAPProducer extends DefaultProducer {
                 uri = endpoint.getUri();
             }
             client = new CoapClient(uri);
+            
+            if (endpoint.getKeyStoreParameters() != null) {
+                DtlsConnectorConfig.Builder builder = new 
DtlsConnectorConfig.Builder();
+                builder.setClientOnly();
+
+                try {
+                    // TODO Add client key config if specified
+                    
+                    KeyStore keyStore = 
endpoint.getKeyStoreParameters().createKeyStore();
+                    // Add all certificates from the truststore
+                    Enumeration<String> aliases = keyStore.aliases();
+                    List<Certificate> trustCerts = new ArrayList<>();
+                    while (aliases.hasMoreElements()) {
+                        String alias = aliases.nextElement();
+                        X509Certificate cert =
+                                (X509Certificate) 
keyStore.getCertificate(alias);
+                        if (cert != null) {
+                            trustCerts.add(cert);
+                        }
+                    }
+                    builder.setTrustStore(trustCerts.toArray(new 
Certificate[0]));
+                } catch (GeneralSecurityException | IOException e) {
+                    // TODO Auto-generated catch block
+                    e.printStackTrace();
+                }
+
+                builder.setSupportedCipherSuites(new String[] 
{"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"}); //TODO
+
+                DTLSConnector connector = new DTLSConnector(builder.build());
+                CoapEndpoint.Builder coapBuilder = new CoapEndpoint.Builder();
+                coapBuilder.setConnector(connector);
+
+                client.setEndpoint(coapBuilder.build());
+            }
+
         }
         return client;
     }
diff --git 
a/components/camel-coap/src/main/resources/META-INF/services/org/apache/camel/component/coaps
 
b/components/camel-coap/src/main/resources/META-INF/services/org/apache/camel/component/coaps
new file mode 100644
index 0000000..e0129bc
--- /dev/null
+++ 
b/components/camel-coap/src/main/resources/META-INF/services/org/apache/camel/component/coaps
@@ -0,0 +1,18 @@
+#
+# 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.
+#
+
+class=org.apache.camel.coap.CoAPComponent
diff --git a/components/readme.adoc b/components/readme.adoc
index 6ae13d7..ab2781f 100644
--- a/components/readme.adoc
+++ b/components/readme.adoc
@@ -2,12 +2,15 @@ Components
 ^^^^^^^^^^
 
 // components: START
-Number of Components: 311 in 211 JAR artifacts (24 deprecated)
+Number of Components: 321 in 242 JAR artifacts (24 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
 | Component | Available From | Description
 
+| link:camel-activemq/src/main/docs/activemq-component.adoc[ActiveMQ] 
(camel-activemq) +
+`activemq:destinationType:destinationName` | 1.0 | The activemq component 
allows messages to be sent to (or consumed from) Apache ActiveMQ. This 
component extends the Camel JMS component.
+
 | link:camel-ahc/src/main/docs/ahc-component.adoc[AHC] (camel-ahc) +
 `ahc:httpUri` | 2.8 | To call external HTTP services using Async Http Client.
 
@@ -77,6 +80,12 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-aws/src/main/docs/aws-ec2-component.adoc[AWS EC2] (camel-aws) +
 `aws-ec2:label` | 2.16 | The aws-ec2 is used for managing Amazon EC2 instances.
 
+| link:camel-aws-ecs/src/main/docs/aws-ecs-component.adoc[AWS ECS] 
(camel-aws-ecs) +
+`aws-ecs:label` | 3.0 | The aws-kms is used for managing Amazon ECS
+
+| link:camel-aws-eks/src/main/docs/aws-eks-component.adoc[AWS EKS] 
(camel-aws-eks) +
+`aws-eks:label` | 3.0 | The aws-kms is used for managing Amazon EKS
+
 | link:camel-aws/src/main/docs/aws-iam-component.adoc[AWS IAM] (camel-aws) +
 `aws-iam:label` | 2.23 | The aws-iam is used for managing Amazon IAM
 
@@ -95,6 +104,9 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-aws/src/main/docs/aws-mq-component.adoc[AWS MQ] (camel-aws) +
 `aws-mq:label` | 2.21 | The aws-mq is used for managing Amazon MQ instances.
 
+| link:camel-aws-msk/src/main/docs/aws-msk-component.adoc[AWS MSK] 
(camel-aws-msk) +
+`aws-msk:label` | 3.0 | The aws-kms is used for managing Amazon KMS
+
 | link:camel-aws/src/main/docs/aws-s3-component.adoc[AWS S3 Storage Service] 
(camel-aws) +
 `aws-s3:bucketNameOrArn` | 2.8 | The aws-s3 component is used for storing and 
retrieving objecct from Amazon S3 Storage Service.
 
@@ -119,7 +131,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-azure/src/main/docs/azure-queue-component.adoc[Azure Storage 
Queue Service] (camel-azure) +
 `azure-queue:containerAndQueueUri` | 2.19 | The azure-queue component is used 
for storing and retrieving messages from Azure Storage Queue Service.
 
-| link:../camel-core/src/main/docs/bean-component.adoc[Bean] (camel-core) +
+| link:camel-bean/src/main/docs/bean-component.adoc[Bean] (camel-bean) +
 `bean:beanName` | 1.0 | The bean component is for invoking Java beans from 
Camel.
 
 | link:camel-bean-validator/src/main/docs/bean-validator-component.adoc[Bean 
Validator] (camel-bean-validator) +
@@ -140,7 +152,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-braintree/src/main/docs/braintree-component.adoc[Braintree] 
(camel-braintree) +
 `braintree:apiName/methodName` | 2.17 | The braintree component is used for 
integrating with the Braintree Payment System.
 
-| link:../camel-core/src/main/docs/browse-component.adoc[Browse] (camel-core) +
+| link:camel-browse/src/main/docs/browse-component.adoc[Browse] (camel-browse) 
+
 `browse:name` | 1.3 | The browse component is used for viewing the messages 
received on endpoints that supports BrowsableEndpoint.
 
 | link:camel-caffeine/src/main/docs/caffeine-cache-component.adoc[Caffeine 
Cache] (camel-caffeine) +
@@ -155,14 +167,17 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-cassandraql/src/main/docs/cql-component.adoc[Cassandra CQL] 
(camel-cassandraql) +
 `cql:beanRef:hosts:port/keyspace` | 2.15 | The cql component aims at 
integrating Cassandra 2.0 using the CQL3 API (not the Thrift API).
 
+| link:camel-chatscript/src/main/docs/chatscript-component.adoc[ChatScript] 
(camel-chatscript) +
+`chatscript:host:port/botname` | 3.0 | Represents a ChatScript endpoint.
+
 | link:camel-chronicle/src/main/docs/chronicle-engine-component.adoc[Chronicle 
Engine] (camel-chronicle) +
 `chronicle-engine:addresses/path` | 2.18 | *deprecated* The camel 
chronicle-engine component let you leverage the power of OpenHFT's 
Chronicle-Engine.
 
 | link:camel-chunk/src/main/docs/chunk-component.adoc[Chunk] (camel-chunk) +
 `chunk:resourceUri` | 2.15 | Transforms the message using a Chunk template.
 
-| link:../camel-core/src/main/docs/class-component.adoc[Class] (camel-core) +
-`class:beanName` | 2.4 | The Class Component is for invoking Java Classes 
(Java beans) from Camel.
+| link:camel-bean/src/main/docs/class-component.adoc[Class] (camel-bean) +
+`class:beanName` | 2.4 | The class component is for invoking Java classes 
(Java beans) from Camel.
 
 | link:camel-cm-sms/src/main/docs/cm-sms-component.adoc[CM SMS Gateway] 
(camel-cm-sms) +
 `cm-sms:host` | 2.18 | The cm-sms component allows to integrate with CM SMS 
Gateway.
@@ -179,7 +194,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-consul/src/main/docs/consul-component.adoc[Consul] (camel-consul) 
+
 `consul:apiEndpoint` | 2.18 | The camel consul component allows you to work 
with Consul, a distributed, highly available, datacenter-aware, service 
discovery and configuration system.
 
-| link:../camel-core/src/main/docs/controlbus-component.adoc[Control Bus] 
(camel-core) +
+| link:camel-controlbus/src/main/docs/controlbus-component.adoc[Control Bus] 
(camel-controlbus) +
 `controlbus:command:language` | 2.11 | The controlbus component provides easy 
management of Camel applications based on the Control Bus EIP pattern.
 
 | link:camel-corda/src/main/docs/corda-component.adoc[corda] (camel-corda) +
@@ -203,19 +218,22 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-cxf/src/main/docs/cxfrs-component.adoc[CXF-RS] (camel-cxf) +
 `cxfrs:beanId:address` | 2.0 | The cxfrs component is used for JAX-RS REST 
services using Apache CXF.
 
-| link:../camel-core/src/main/docs/dataformat-component.adoc[Data Format] 
(camel-core) +
+| link:camel-dataformat/src/main/docs/dataformat-component.adoc[Data Format] 
(camel-dataformat) +
 `dataformat:name:operation` | 2.12 | The dataformat component is used for 
working with Data Formats as if it was a regular Component supporting Endpoints 
and URIs.
 
-| link:../camel-core/src/main/docs/dataset-component.adoc[Dataset] 
(camel-core) +
+| link:camel-dataset/src/main/docs/dataset-component.adoc[Dataset] 
(camel-dataset) +
 `dataset:name` | 1.3 | The dataset component provides a mechanism to easily 
perform load & soak testing of your system.
 
+| link:camel-dataset/src/main/docs/dataset-test-component.adoc[DataSet Test] 
(camel-dataset) +
+`dataset-test:name` | 1.3 | The dataset-test component extends the mock 
component by on startup to pull messages from another endpoint to set the 
expected message bodies.
+
 | 
link:camel-digitalocean/src/main/docs/digitalocean-component.adoc[DigitalOcean] 
(camel-digitalocean) +
 `digitalocean:operation` | 2.19 | The DigitalOcean component allows you to 
manage Droplets and resources within the DigitalOcean cloud.
 
-| link:../camel-core/src/main/docs/direct-component.adoc[Direct] (camel-core) +
+| link:camel-direct/src/main/docs/direct-component.adoc[Direct] (camel-direct) 
+
 `direct:name` | 1.0 | The direct component provides direct, synchronous call 
to another endpoint from the same CamelContext.
 
-| link:../camel-core/src/main/docs/direct-vm-component.adoc[Direct VM] 
(camel-core) +
+| link:camel-directvm/src/main/docs/direct-vm-component.adoc[Direct VM] 
(camel-directvm) +
 `direct-vm:name` | 2.10 | The direct-vm component provides direct, synchronous 
call to another endpoint from any CamelContext in the same JVM.
 
 | link:camel-disruptor/src/main/docs/disruptor-component.adoc[Disruptor] 
(camel-disruptor) +
@@ -269,7 +287,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc[FHIR] 
(camel-fhir) +
 `fhir:apiName/methodName` | 2.23 | The fhir component is used for working with 
the FHIR protocol (health care).
 
-| link:../camel-core/src/main/docs/file-component.adoc[File] (camel-core) +
+| link:camel-file/src/main/docs/file-component.adoc[File] (camel-file) +
 `file:directoryName` | 1.0 | The file component is used for reading or writing 
files.
 
 | link:camel-flatpack/src/main/docs/flatpack-component.adoc[Flatpack] 
(camel-flatpack) +
@@ -488,6 +506,9 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-jolt/src/main/docs/jolt-component.adoc[JOLT] (camel-jolt) +
 `jolt:resourceUri` | 2.16 | The jolt component allows you to process a JSON 
messages using an JOLT specification (such as JSON-JSON transformation).
 
+| link:camel-jooq/src/main/docs/jooq-component.adoc[JOOQ] (camel-jooq) +
+`jooq:entityType` | 3.0 | The jooq component enables you to store and retrieve 
entities from databases using JOOQ
+
 | link:camel-jpa/src/main/docs/jpa-component.adoc[JPA] (camel-jpa) +
 `jpa:entityType` | 1.0 | The jpa component enables you to store and retrieve 
Java objects from databases using JPA.
 
@@ -551,7 +572,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | 
link:camel-kubernetes/src/main/docs/kubernetes-services-component.adoc[Kubernetes
 Services] (camel-kubernetes) +
 `kubernetes-services:masterUrl` | 2.17 | The Kubernetes Service Accounts 
component provides a producer to execute service operations and a consumer to 
consume service events.
 
-| link:../camel-core/src/main/docs/language-component.adoc[Language] 
(camel-core) +
+| link:camel-language/src/main/docs/language-component.adoc[Language] 
(camel-language) +
 `language:languageName:resourceUri` | 2.5 | The language component allows you 
to send a message to an endpoint which executes a script by any of the 
supported Languages in Camel.
 
 | link:camel-ldap/src/main/docs/ldap-component.adoc[LDAP] (camel-ldap) +
@@ -563,7 +584,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | 
link:camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc[Linkedin]
 (camel-linkedin) +
 `linkedin:apiName/methodName` | 2.14 | The linkedin component is used for 
retrieving LinkedIn user profiles, connections, companies, groups, posts, etc.
 
-| link:../camel-core/src/main/docs/log-component.adoc[Log] (camel-core) +
+| link:camel-log/src/main/docs/log-component.adoc[Log] (camel-log) +
 `log:loggerName` | 1.1 | The log component logs message exchanges to the 
underlying logging mechanism.
 
 | link:camel-lucene/src/main/docs/lucene-component.adoc[Lucene] (camel-lucene) 
+
@@ -593,7 +614,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-mllp/src/main/docs/mllp-component.adoc[MLLP] (camel-mllp) +
 `mllp:hostname:port` | 2.17 | Provides functionality required by Healthcare 
providers to communicate with other systems using the MLLP protocol.
 
-| link:../camel-core/src/main/docs/mock-component.adoc[Mock] (camel-core) +
+| link:camel-mock/src/main/docs/mock-component.adoc[Mock] (camel-mock) +
 `mock:name` | 1.0 | The mock component is used for testing routes and 
mediation rules using mocks.
 
 | link:camel-mongodb/src/main/docs/mongodb-component.adoc[MongoDB] 
(camel-mongodb) +
@@ -704,7 +725,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-printer/src/main/docs/lpr-component.adoc[Printer] (camel-printer) 
+
 `lpr:hostname:port/printername` | 2.1 | The printer component is used for 
sending messages to printers as print jobs.
 
-| link:../camel-core/src/main/docs/properties-component.adoc[Properties] 
(camel-core) +
+| link:camel-properties/src/main/docs/properties-component.adoc[Properties] 
(camel-properties) +
 `properties:key` | 2.3 | The properties component is used for using property 
placeholders in endpoint uris.
 
 | link:camel-pubnub/src/main/docs/pubnub-component.adoc[PubNub] (camel-pubnub) 
+
@@ -725,13 +746,13 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | 
link:camel-reactive-streams/src/main/docs/reactive-streams-component.adoc[Reactive
 Streams] (camel-reactive-streams) +
 `reactive-streams:stream` | 2.19 | Reactive Camel using reactive streams
 
-| link:../camel-core/src/main/docs/ref-component.adoc[Ref] (camel-core) +
+| link:camel-ref/src/main/docs/ref-component.adoc[Ref] (camel-ref) +
 `ref:name` | 1.2 | The ref component is used for lookup of existing endpoints 
bound in the Registry.
 
-| link:../camel-core/src/main/docs/rest-component.adoc[REST] (camel-core) +
+| link:camel-rest/src/main/docs/rest-component.adoc[REST] (camel-rest) +
 `rest:method:path:uriTemplate` | 2.14 | The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).
 
-| link:../camel-core/src/main/docs/rest-api-component.adoc[REST API] 
(camel-core) +
+| link:camel-rest/src/main/docs/rest-api-component.adoc[REST API] (camel-rest) 
+
 `rest-api:path/contextIdPattern` | 2.16 | The rest-api component is used for 
providing Swagger API of the REST services which has been defined using the 
rest-dsl in Camel.
 
 | link:camel-rest-swagger/src/main/docs/rest-swagger-component.adoc[REST 
Swagger] (camel-rest-swagger) +
@@ -749,7 +770,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-rss/src/main/docs/rss-component.adoc[RSS] (camel-rss) +
 `rss:feedUri` | 2.0 | The rss component is used for consuming RSS feeds.
 
-| link:../camel-core/src/main/docs/saga-component.adoc[Saga] (camel-core) +
+| link:camel-saga/src/main/docs/saga-component.adoc[Saga] (camel-saga) +
 `saga:action` | 2.21 | The saga component provides access to advanced options 
for managing the flow in the Saga EIP.
 
 | 
link:camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc[Salesforce]
 (camel-salesforce) +
@@ -758,7 +779,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc[SAP 
NetWeaver] (camel-sap-netweaver) +
 `sap-netweaver:url` | 2.12 | The sap-netweaver component integrates with the 
SAP NetWeaver Gateway using HTTP transports.
 
-| link:../camel-core/src/main/docs/scheduler-component.adoc[Scheduler] 
(camel-core) +
+| link:camel-scheduler/src/main/docs/scheduler-component.adoc[Scheduler] 
(camel-scheduler) +
 `scheduler:name` | 2.15 | The scheduler component is used for generating 
message exchanges when a scheduler fires.
 
 | link:camel-schematron/src/main/docs/schematron-component.adoc[Schematron] 
(camel-schematron) +
@@ -767,7 +788,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-jsch/src/main/docs/scp-component.adoc[SCP] (camel-jsch) +
 `scp:host:port/directoryName` | 2.10 | To copy files using the secure copy 
protocol (SCP).
 
-| link:../camel-core/src/main/docs/seda-component.adoc[SEDA] (camel-core) +
+| link:camel-seda/src/main/docs/seda-component.adoc[SEDA] (camel-seda) +
 `seda:name` | 1.1 | The seda component provides asynchronous call to another 
endpoint from any CamelContext in the same JVM.
 
 | link:camel-service/src/main/docs/service-component.adoc[Service] 
(camel-service) +
@@ -806,6 +827,9 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-solr/src/main/docs/solr-component.adoc[Solr] (camel-solr) +
 `solr:url` | 2.9 | The solr component allows you to interface with an Apache 
Lucene Solr server.
 
+| link:camel-soroush/src/main/docs/soroush-component.adoc[Soroush] 
(camel-soroush) +
+`soroush:endpoint/authorizationToken` | 3.0 | To integrate with the Soroush 
chat bot.
+
 | link:camel-spark-rest/src/main/docs/spark-rest-component.adoc[Spark Rest] 
(camel-spark-rest) +
 `spark-rest:verb:path` | 2.14 | The spark-rest component is used for hosting 
REST services which has been defined using Camel rest-dsl.
 
@@ -851,7 +875,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | 
link:camel-stringtemplate/src/main/docs/string-template-component.adoc[String 
Template] (camel-stringtemplate) +
 `string-template:resourceUri` | 1.2 | Transforms the message using a String 
template.
 
-| link:../camel-core/src/main/docs/stub-component.adoc[Stub] (camel-core) +
+| link:camel-stub/src/main/docs/stub-component.adoc[Stub] (camel-stub) +
 `stub:name` | 2.10 | The stub component provides a simple way to stub out any 
physical endpoints while in development or testing.
 
 | link:camel-telegram/src/main/docs/telegram-component.adoc[Telegram] 
(camel-telegram) +
@@ -866,7 +890,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-tika/src/main/docs/tika-component.adoc[Tika] (camel-tika) +
 `tika:operation` | 2.19 | This component integrates with Apache Tika to 
extract content and metadata from thousands of file types.
 
-| link:../camel-core/src/main/docs/timer-component.adoc[Timer] (camel-core) +
+| link:camel-timer/src/main/docs/timer-component.adoc[Timer] (camel-timer) +
 `timer:timerName` | 1.0 | The timer component is used for generating message 
exchanges when a timer fires.
 
 | link:camel-twilio/src/main/docs/twilio-component.adoc[Twilio] (camel-twilio) 
+
@@ -890,7 +914,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-undertow/src/main/docs/undertow-component.adoc[Undertow] 
(camel-undertow) +
 `undertow:httpURI` | 2.16 | The undertow component provides HTTP and WebSocket 
based endpoints for consuming and producing HTTP/WebSocket requests.
 
-| link:../camel-core/src/main/docs/validator-component.adoc[Validator] 
(camel-core) +
+| link:camel-validator/src/main/docs/validator-component.adoc[Validator] 
(camel-validator) +
 `validator:resourceUri` | 1.1 | Validates the payload of a message using XML 
Schema and JAXP Validation.
 
 | link:camel-velocity/src/main/docs/velocity-component.adoc[Velocity] 
(camel-velocity) +
@@ -899,7 +923,7 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-vertx/src/main/docs/vertx-component.adoc[Vert.x] (camel-vertx) +
 `vertx:address` | 2.12 | The vertx component is used for sending and receive 
messages from a vertx event bus.
 
-| link:../camel-core/src/main/docs/vm-component.adoc[VM] (camel-core) +
+| link:camel-vm/src/main/docs/vm-component.adoc[VM] (camel-vm) +
 `vm:name` | 1.1 | The vm component provides asynchronous call to another 
endpoint from the same CamelContext.
 
 | link:camel-weather/src/main/docs/weather-component.adoc[Weather] 
(camel-weather) +
@@ -908,6 +932,9 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-web3j/src/main/docs/web3j-component.adoc[Web3j Ethereum 
Blockchain] (camel-web3j) +
 `web3j:nodeAddress` | 2.22 | The web3j component uses the Web3j client API and 
allows you to add/read nodes to/from a web3j compliant content repositories.
 
+| link:camel-webhook/src/main/docs/webhook-component.adoc[Webhook] 
(camel-webhook) +
+`webhook:endpointUri` | 3.0 | The webhook component allows other Camel 
components that can receive push notifications to expose webhook endpoints and 
automatically register them with their own webhook provider.
+
 | link:camel-wordpress/src/main/docs/wordpress-component.adoc[Wordpress] 
(camel-wordpress) +
 `wordpress:operationDetail` | 2.21 | Integrates Camel with Wordpress.
 
@@ -926,9 +953,12 @@ Number of Components: 311 in 211 JAR artifacts (24 
deprecated)
 | link:camel-saxon/src/main/docs/xquery-component.adoc[XQuery] (camel-saxon) +
 `xquery:resourceUri` | 1.0 | Transforms the message using a XQuery template 
using Saxon.
 
-| link:../camel-core/src/main/docs/xslt-component.adoc[XSLT] (camel-core) +
+| link:camel-xslt/src/main/docs/xslt-component.adoc[XSLT] (camel-xslt) +
 `xslt:resourceUri` | 1.3 | Transforms the message using a XSLT template.
 
+| link:camel-yql/src/main/docs/yql-component.adoc[Yahoo Query Language] 
(camel-yql) +
+`yql:query` | 2.21 | The YQL (Yahoo! Query Language) platform enables you to 
query, filter, and combine data across the web.
+
 | link:camel-yammer/src/main/docs/yammer-component.adoc[Yammer] (camel-yammer) 
+
 `yammer:function` | 2.12 | The yammer component allows you to interact with 
the Yammer enterprise social network.
 
@@ -949,7 +979,7 @@ Data Formats
 ^^^^^^^^^^^^
 
 // dataformats: START
-Number of Data Formats: 49 in 39 JAR artifacts (5 deprecated)
+Number of Data Formats: 53 in 42 JAR artifacts (6 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -987,6 +1017,8 @@ Number of Data Formats: 49 in 39 JAR artifacts (5 
deprecated)
 
 | link:../camel-core/src/main/docs/gzip-dataformat.adoc[GZip] (camel-core) | 
2.0 | The GZip data format is a message compression and de-compression format 
(which works with the popular gzip/gunzip tools).
 
+| link:camel-zip-deflater/src/main/docs/gzipdeflater-dataformat.adoc[GZip 
Deflater] (camel-zip-deflater) | 2.0 | The GZip data format is a message 
compression and de-compression format (which works with the popular gzip/gunzip 
tools).
+
 | link:camel-hessian/src/main/docs/hessian-dataformat.adoc[Hessian] 
(camel-hessian) | 2.17 | *deprecated* Hessian data format is used for 
marshalling and unmarshalling messages using Cauchos Hessian format.
 
 | link:camel-hl7/src/main/docs/hl7-dataformat.adoc[HL7] (camel-hl7) | 2.0 | 
The HL7 data format can be used to marshal or unmarshal HL7 (Health Care) model 
objects.
@@ -1011,6 +1043,8 @@ Number of Data Formats: 49 in 39 JAR artifacts (5 
deprecated)
 
 | link:camel-xstream/src/main/docs/json-xstream-dataformat.adoc[JSon XStream] 
(camel-xstream) | 2.0 | JSon data format is used for unmarshal a JSon payload 
to POJO or to marshal POJO back to JSon payload.
 
+| link:camel-jsonapi/src/main/docs/jsonApi-dataformat.adoc[jsonApi] 
(camel-jsonapi) | 3.0 | JsonApi data format is used for marshal and unmarshal 
Json API object.
+
 | link:camel-lzf/src/main/docs/lzf-dataformat.adoc[LZF Deflate Compression] 
(camel-lzf) | 2.17 | The LZF data format is a message compression and 
de-compression format (uses the LZF deflate algorithm).
 
 | link:camel-mail/src/main/docs/mime-multipart-dataformat.adoc[MIME Multipart] 
(camel-mail) | 2.17 | The MIME Multipart data format can marshal a Camel 
message with attachments into a Camel message having a MIME-Multipart message 
as message body (and no attachments), and vise-versa when unmarshalling.
@@ -1041,6 +1075,8 @@ Number of Data Formats: 49 in 39 JAR artifacts (5 
deprecated)
 
 | link:camel-xmlbeans/src/main/docs/xmlBeans-dataformat.adoc[XML Beans] 
(camel-xmlbeans) | 1.2 | *deprecated* XML Beans data format is used for 
unmarshal a XML payload to POJO or to marshal POJO back to XML payload.
 
+| link:camel-xmljson/src/main/docs/xmljson-dataformat.adoc[XML JSon] 
(camel-xmljson) | 2.10 | *deprecated* XML JSon data format can convert from XML 
to JSON and vice-versa directly, without stepping through intermediate POJOs.
+
 | link:camel-xmlrpc/src/main/docs/xmlrpc-dataformat.adoc[XML RPC] 
(camel-xmlrpc) | 2.11 | The XML RPC data format is used for working with the 
XML RPC protocol.
 
 | link:camel-xmlsecurity/src/main/docs/secureXML-dataformat.adoc[XML Security] 
(camel-xmlsecurity) | 2.0 | The XML Security data format facilitates encryption 
and decryption of XML payloads.
@@ -1051,6 +1087,8 @@ Number of Data Formats: 49 in 39 JAR artifacts (5 
deprecated)
 
 | link:../camel-core/src/main/docs/zip-dataformat.adoc[Zip Deflate 
Compression] (camel-core) | 2.12 | Zip Deflate Compression data format is a 
message compression and de-compression format (not zip files).
 
+| link:camel-zip-deflater/src/main/docs/zipdeflater-dataformat.adoc[Zip 
Deflate Compression] (camel-zip-deflater) | 2.12 | Zip Deflate Compression data 
format is a message compression and de-compression format (not zip files).
+
 | link:camel-zipfile/src/main/docs/zipfile-dataformat.adoc[Zip File] 
(camel-zipfile) | 2.11 | The Zip File data format is a message compression and 
de-compression format of zip files.
 |===
 // dataformats: END
@@ -1060,13 +1098,13 @@ Expression Languages
 ^^^^^^^^^^^^^^^^^^^^
 
 // languages: START
-Number of Languages: 24 in 12 JAR artifacts (7 deprecated)
+Number of Languages: 24 in 14 JAR artifacts (7 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
 | Language | Available From | Description
 
-| link:../camel-core/src/main/docs/bean-language.adoc[Bean method] 
(camel-core) | 1.3 | To use a Java bean (aka method call) in Camel expressions 
or predicates.
+| link:camel-bean/src/main/docs/bean-language.adoc[Bean method] (camel-bean) | 
1.3 | To use a Java bean (aka method call) in Camel expressions or predicates.
 
 | link:../camel-core/src/main/docs/constant-language.adoc[Constant] 
(camel-core) | 1.5 | To use a constant value in Camel expressions or predicates.
 
@@ -1110,7 +1148,7 @@ Number of Languages: 24 in 12 JAR artifacts (7 deprecated)
 
 | link:../camel-core/src/main/docs/xtokenize-language.adoc[XML Tokenize] 
(camel-core) | 2.14 | To use Camel message body or header with a XML tokenizer 
in Camel expressions or predicates.
 
-| link:../camel-core/src/main/docs/xpath-language.adoc[XPath] (camel-core) | 
1.1 | To use XPath (XML) in Camel expressions or predicates.
+| link:camel-xpath/src/main/docs/xpath-language.adoc[XPath] (camel-xpath) | 
1.1 | To use XPath (XML) in Camel expressions or predicates.
 
 | link:camel-saxon/src/main/docs/xquery-language.adoc[XQuery] (camel-saxon) | 
1.0 | To use XQuery (XML) in Camel expressions or predicates.
 |===
diff --git 
a/platforms/myfoo-connector/src/main/resources/camel-connector-schema.json 
b/platforms/myfoo-connector/src/main/resources/camel-connector-schema.json
index 6a1becb..292a6b6 100644
--- a/platforms/myfoo-connector/src/main/resources/camel-connector-schema.json
+++ b/platforms/myfoo-connector/src/main/resources/camel-connector-schema.json
@@ -14,7 +14,7 @@
     "javaType":"org.myfoo.connector.MyFooComponent",
     "groupId":"org.apache.camel",
     "artifactId":"myfoo-connector",
-    "version":"2.24.1-SNAPSHOT"
+    "version":"2.25.0-SNAPSHOT"
   },
   "componentProperties":{
     
diff --git a/platforms/myfoo-connector/src/main/resources/camel-connector.json 
b/platforms/myfoo-connector/src/main/resources/camel-connector.json
index 27f90c1..70bfe19 100644
--- a/platforms/myfoo-connector/src/main/resources/camel-connector.json
+++ b/platforms/myfoo-connector/src/main/resources/camel-connector.json
@@ -2,14 +2,14 @@
   "baseScheme" : "timer",
   "baseGroupId" : "org.apache.camel",
   "baseArtifactId" : "camel-core",
-  "baseVersion" : "2.24.1-SNAPSHOT",
+  "baseVersion" : "2.25.0-SNAPSHOT",
   "baseJavaType" : "org.apache.camel.component.timer.TimerComponent",
   "name" : "MyFoo",
   "scheme" : "my-foo",
   "javaType" : "org.myfoo.connector.MyFooComponent",
   "groupId" : "org.myfoo",
   "artifactId" : "myfoo-connector",
-  "version" : "2.24.1-SNAPSHOT",
+  "version" : "2.25.0-SNAPSHOT",
   "description" : "Something cool",
   "labels" : [ "foo", "timer" ],
   "pattern" : "From",

Reply via email to