You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by zr...@apache.org on 2019/11/15 02:09:41 UTC

[camel] branch master updated (bfbae62 -> 8881320)

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

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


    from bfbae62  Regen
     new 8a386be  Regen
     new 8881320  CAMEL-14176: fix compile error

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 apache-camel/pom.xml                               |   4 +-
 apache-camel/src/main/descriptors/common-bin.xml   |   2 +-
 bom/camel-bom/pom.xml                              |  10 +
 .../src/main/docs/bean-validator-component.adoc    |   7 +-
 .../src/main/docs/fhir-component.adoc              |   2 +-
 components/camel-spring-ws/pom.xml                 |   2 +-
 .../impl/HeaderTransformationMessageFilter.java    |   8 +-
 .../src/test/resources/stockquote-response.xml     |   2 +-
 components/camel-xslt-saxon/pom.xml                |   4 +-
 components/pom.xml                                 |  59 ++--
 .../endpoint/dsl/SparkEndpointBuilderFactory.java  | 347 ++++++---------------
 .../ROOT/pages/bean-validator-component.adoc       |   7 +-
 .../modules/ROOT/pages/fhir-component.adoc         |   2 +-
 docs/components/modules/ROOT/pages/index.adoc      |   6 +-
 parent/pom.xml                                     |   4 +-
 .../camel-spring-boot-dependencies/pom.xml         |  10 +
 16 files changed, 184 insertions(+), 292 deletions(-)


[camel] 02/02: CAMEL-14176: fix compile error

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 88813203cb6bb14d8a61a7e479d246e62a1e0f70
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Fri Nov 15 02:36:20 2019 +0100

    CAMEL-14176: fix compile error
    
    This fixes the compiler error in `camel-spring-ws`, adds the
    `camel-xslt-saxon` to the components module making it dependent on Saxon
    rather than on `camel-xslt` to break the dependency cycle.
    To fix the ConsumerEndpointMappingByBeanNameRouteTest SOAP-ENV namespace
    needed to be declared in the expected response.
---
 components/camel-spring-ws/pom.xml                 |  2 +-
 .../impl/HeaderTransformationMessageFilter.java    |  8 +--
 .../src/test/resources/stockquote-response.xml     |  2 +-
 components/camel-xslt-saxon/pom.xml                |  4 +-
 components/pom.xml                                 | 59 +++++++++++-----------
 5 files changed, 38 insertions(+), 37 deletions(-)

diff --git a/components/camel-spring-ws/pom.xml b/components/camel-spring-ws/pom.xml
index 91c7093..51dfd97 100644
--- a/components/camel-spring-ws/pom.xml
+++ b/components/camel-spring-ws/pom.xml
@@ -63,7 +63,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-xslt</artifactId>
+            <artifactId>camel-xslt-saxon</artifactId>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>
diff --git a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/filter/impl/HeaderTransformationMessageFilter.java b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/filter/impl/HeaderTransformationMessageFilter.java
index ce87bb6..9507051 100644
--- a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/filter/impl/HeaderTransformationMessageFilter.java
+++ b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/filter/impl/HeaderTransformationMessageFilter.java
@@ -30,9 +30,8 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.component.spring.ws.filter.MessageFilter;
-import org.apache.camel.component.xslt.XsltComponent;
-import org.apache.camel.component.xslt.XsltEndpoint;
 import org.apache.camel.component.xslt.XsltUriResolver;
+import org.apache.camel.component.xslt.saxon.XsltSaxonComponent;
 import org.apache.camel.spi.ClassResolver;
 import org.apache.camel.support.ObjectHelper;
 import org.slf4j.Logger;
@@ -44,6 +43,7 @@ import org.springframework.ws.soap.SoapMessage;
  * Message filter that transforms the header of a soap message
  */
 public class HeaderTransformationMessageFilter implements MessageFilter {
+    private static final String SAXON_TRANSFORMER_FACTORY_CLASS_NAME = "net.sf.saxon.TransformerFactoryImpl";
     private static final String SOAP_HEADER_TRANSFORMATION_PROBLEM = "Soap header transformation problem";
     private static final Logger LOG = LoggerFactory.getLogger(HeaderTransformationMessageFilter.class);
     private String xslt;
@@ -168,8 +168,8 @@ public class HeaderTransformationMessageFilter implements MessageFilter {
         final ClassResolver resolver = context.getClassResolver();
         try {
             Class<TransformerFactory> factoryClass = resolver.resolveMandatoryClass(
-                    XsltEndpoint.SAXON_TRANSFORMER_FACTORY_CLASS_NAME, TransformerFactory.class,
-                    XsltComponent.class.getClassLoader());
+                    SAXON_TRANSFORMER_FACTORY_CLASS_NAME, TransformerFactory.class,
+                    XsltSaxonComponent.class.getClassLoader());
 
             if (factoryClass != null) {
                 return ObjectHelper.newInstance(factoryClass);
diff --git a/components/camel-spring-ws/src/test/resources/stockquote-response.xml b/components/camel-spring-ws/src/test/resources/stockquote-response.xml
index 3e2930c..af0802e 100644
--- a/components/camel-spring-ws/src/test/resources/stockquote-response.xml
+++ b/components/camel-spring-ws/src/test/resources/stockquote-response.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><Quote xmlns="http://www.stockquotes.edu/">
+<?xml version="1.0" encoding="UTF-8"?><Quote xmlns="http://www.stockquotes.edu/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
 <!--
 
     Licensed to the Apache Software Foundation (ASF) under one or more
diff --git a/components/camel-xslt-saxon/pom.xml b/components/camel-xslt-saxon/pom.xml
index 8e3b123..d6a9843 100644
--- a/components/camel-xslt-saxon/pom.xml
+++ b/components/camel-xslt-saxon/pom.xml
@@ -46,8 +46,8 @@
             <artifactId>camel-xslt</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-saxon</artifactId>
+            <groupId>net.sf.saxon</groupId>
+            <artifactId>Saxon-HE</artifactId>
         </dependency>
 
         <dependency>
diff --git a/components/pom.xml b/components/pom.xml
index 2db1296..059e60b 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -91,8 +91,8 @@
 
         <!-- regular modules in alphabetic order -->
         <module>camel-activemq</module>
-        <module>camel-ahc</module>
         <module>camel-ahc-ws</module>
+        <module>camel-ahc</module>
         <module>camel-amqp</module>
         <module>camel-any23</module>
         <module>camel-apns</module>
@@ -124,11 +124,11 @@
         <module>camel-aws-translate</module>
         <module>camel-aws-xray</module>
         <module>camel-azure</module>
+        <module>camel-barcode</module>
         <module>camel-base64</module>
+        <module>camel-bean-validator</module>
         <module>camel-beanio</module>
         <module>camel-beanstalk</module>
-        <module>camel-bean-validator</module>
-        <module>camel-barcode</module>
         <module>camel-bindy</module>
         <module>camel-bonita</module>
         <module>camel-box</module>
@@ -147,9 +147,14 @@
         <module>camel-corda</module>
         <module>camel-couchbase</module>
         <module>camel-couchdb</module>
-        <module>camel-crypto</module>
         <module>camel-crypto-cms</module>
+        <module>camel-crypto</module>
         <module>camel-csv</module>
+        <module>camel-debezium-common</module>
+        <module>camel-debezium-mongodb</module>
+        <module>camel-debezium-mysql</module>
+        <module>camel-debezium-postgres</module>
+        <module>camel-debezium-sqlserver</module>
         <module>camel-digitalocean</module>
         <module>camel-disruptor</module>
         <module>camel-dns</module>
@@ -157,17 +162,11 @@
         <module>camel-dozer</module>
         <module>camel-drill</module>
         <module>camel-dropbox</module>
-        <module>camel-debezium-common</module>
-        <module>camel-debezium-mysql</module>
-        <module>camel-debezium-postgres</module>
-        <module>camel-debezium-mongodb</module>
-        <module>camel-debezium-sqlserver</module>
         <module>camel-ehcache</module>
         <module>camel-elasticsearch-rest</module>
         <module>camel-elsql</module>
         <module>camel-etcd</module>
         <module>camel-eventadmin</module>
-        <module>camel-json-validator</module>
         <module>camel-exec</module>
         <module>camel-facebook</module>
         <module>camel-fastjson</module>
@@ -182,12 +181,12 @@
         <module>camel-geocoder</module>
         <module>camel-git</module>
         <module>camel-github</module>
+        <module>camel-google-bigquery</module>
         <module>camel-google-calendar</module>
-        <module>camel-google-sheets</module>
         <module>camel-google-drive</module>
         <module>camel-google-mail</module>
-        <module>camel-google-bigquery</module>
         <module>camel-google-pubsub</module>
+        <module>camel-google-sheets</module>
         <module>camel-gora</module>
         <module>camel-grape</module>
         <module>camel-graphql</module>
@@ -210,25 +209,26 @@
         <module>camel-ironmq</module>
         <module>camel-jackson</module>
         <module>camel-jacksonxml</module>
-        <module>camel-jaxb</module>
         <module>camel-jasypt</module>
+        <module>camel-jaxb</module>
         <module>camel-jbpm</module>
         <module>camel-jcache</module>
         <module>camel-jclouds</module>
         <module>camel-jcr</module>
         <module>camel-jdbc</module>
-        <module>camel-jgroups</module>
         <module>camel-jgroups-raft</module>
+        <module>camel-jgroups</module>
         <module>camel-jing</module>
         <module>camel-jira</module>
         <module>camel-jmx</module>
-        <module>camel-jolt</module>
         <module>camel-johnzon</module>
+        <module>camel-jolt</module>
         <module>camel-jooq</module>
         <module>camel-jpa</module>
+        <module>camel-jsch</module>
+        <module>camel-json-validator</module>
         <module>camel-jsonapi</module>
         <module>camel-jsonpath</module>
-        <module>camel-jsch</module>
         <module>camel-jt400</module>
         <module>camel-kafka</module>
         <module>camel-kubernetes</module>
@@ -250,16 +250,16 @@
         <module>camel-milo</module>
         <module>camel-mina</module>
         <module>camel-mllp</module>
-        <module>camel-mongodb</module>
         <module>camel-mongodb-gridfs</module>
+        <module>camel-mongodb</module>
         <module>camel-msv</module>
         <module>camel-mustache</module>
         <module>camel-mvel</module>
         <module>camel-mybatis</module>
         <module>camel-nagios</module>
         <module>camel-nats</module>
-        <module>camel-netty</module>
         <module>camel-netty-http</module>
+        <module>camel-netty</module>
         <module>camel-nitrite</module>
         <module>camel-nsq</module>
         <module>camel-ognl</module>
@@ -288,35 +288,35 @@
         <module>camel-rss</module>
         <module>camel-rxjava</module>
         <module>camel-saga</module>
+        <module>camel-salesforce</module>
         <module>camel-sap-netweaver</module>
         <module>camel-saxon</module>
         <module>camel-scheduler</module>
-        <module>camel-salesforce</module>
         <module>camel-schematron</module>
         <module>camel-servicenow</module>
         <module>camel-servlet</module>
         <module>camel-shiro</module>
         <module>camel-sip</module>
+        <module>camel-sjms2</module>
+        <module>camel-sjms</module>
+        <module>camel-slack</module>
         <module>camel-smpp</module>
         <module>camel-snakeyaml</module>
         <module>camel-snmp</module>
-        <module>camel-sjms</module>
-        <module>camel-sjms2</module>
-        <module>camel-slack</module>
         <module>camel-soap</module>
         <module>camel-solr</module>
         <module>camel-soroush</module>
-        <module>camel-spark</module>
         <module>camel-spark-rest</module>
+        <module>camel-spark</module>
         <module>camel-splunk</module>
         <module>camel-spring-batch</module>
         <module>camel-spring-boot</module>
-        <module>camel-spring-cloud</module>
         <module>camel-spring-cloud-consul</module>
         <module>camel-spring-cloud-netflix</module>
         <module>camel-spring-cloud-zookeeper</module>
-        <module>camel-spring-javaconfig</module>
+        <module>camel-spring-cloud</module>
         <module>camel-spring-integration</module>
+        <module>camel-spring-javaconfig</module>
         <module>camel-spring-ldap</module>
         <module>camel-spring-redis</module>
         <module>camel-spring-security</module>
@@ -327,13 +327,13 @@
         <module>camel-stomp</module>
         <module>camel-stream</module>
         <module>camel-stringtemplate</module>
-        <module>camel-syslog</module>
         <module>camel-swagger-java</module>
+        <module>camel-syslog</module>
         <module>camel-tagsoup</module>
         <module>camel-tarfile</module>
         <module>camel-telegram</module>
-        <module>camel-tika</module>
         <module>camel-thrift</module>
+        <module>camel-tika</module>
         <module>camel-twilio</module>
         <module>camel-twitter</module>
         <module>camel-univocity-parsers</module>
@@ -342,21 +342,22 @@
         <module>camel-weather</module>
         <module>camel-web3j</module>
         <module>camel-webhook</module>
-        <module>camel-websocket</module>
         <module>camel-websocket-jsr356</module>
+        <module>camel-websocket</module>
         <module>camel-wordpress</module>
         <module>camel-xchange</module>
         <module>camel-xj</module>
         <module>camel-xmlsecurity</module>
         <module>camel-xmpp</module>
+        <module>camel-xslt-saxon</module>
         <module>camel-xstream</module>
         <module>camel-yammer</module>
         <module>camel-zendesk</module>
         <module>camel-zip-deflater</module>
         <module>camel-zipfile</module>
         <module>camel-zipkin</module>
-        <module>camel-zookeeper</module>
         <module>camel-zookeeper-master</module>
+        <module>camel-zookeeper</module>
     </modules>
 
     <build>


[camel] 01/02: Regen

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 8a386befe33abd658764dbc5fa104cae6ce69c1c
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Thu Nov 14 16:24:34 2019 +0100

    Regen
---
 apache-camel/pom.xml                               |   4 +-
 apache-camel/src/main/descriptors/common-bin.xml   |   2 +-
 bom/camel-bom/pom.xml                              |  10 +
 .../src/main/docs/bean-validator-component.adoc    |   7 +-
 .../src/main/docs/fhir-component.adoc              |   2 +-
 .../endpoint/dsl/SparkEndpointBuilderFactory.java  | 347 ++++++---------------
 .../ROOT/pages/bean-validator-component.adoc       |   7 +-
 .../modules/ROOT/pages/fhir-component.adoc         |   2 +-
 docs/components/modules/ROOT/pages/index.adoc      |   6 +-
 parent/pom.xml                                     |   4 +-
 .../camel-spring-boot-dependencies/pom.xml         |  10 +
 11 files changed, 146 insertions(+), 255 deletions(-)

diff --git a/apache-camel/pom.xml b/apache-camel/pom.xml
index 1bfa87c..d691527 100644
--- a/apache-camel/pom.xml
+++ b/apache-camel/pom.xml
@@ -3162,12 +3162,12 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-xslt-starter</artifactId>
+      <artifactId>camel-xslt-saxon-starter</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-xslt-saxon-starter</artifactId>
+      <artifactId>camel-xslt-starter</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
diff --git a/apache-camel/src/main/descriptors/common-bin.xml b/apache-camel/src/main/descriptors/common-bin.xml
index ab4a9b4..fe4a531 100644
--- a/apache-camel/src/main/descriptors/common-bin.xml
+++ b/apache-camel/src/main/descriptors/common-bin.xml
@@ -692,8 +692,8 @@
         <include>org.apache.camel:camel-xmlsecurity-starter</include>
         <include>org.apache.camel:camel-xmpp-starter</include>
         <include>org.apache.camel:camel-xpath-starter</include>
-        <include>org.apache.camel:camel-xslt-starter</include>
         <include>org.apache.camel:camel-xslt-saxon-starter</include>
+        <include>org.apache.camel:camel-xslt-starter</include>
         <include>org.apache.camel:camel-xstream-starter</include>
         <include>org.apache.camel:camel-yammer-starter</include>
         <include>org.apache.camel:camel-zendesk-starter</include>
diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 5ba2c6c..a1a49bc 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -3230,6 +3230,16 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-xslt-saxon</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-xslt-saxon-starter</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-xslt-starter</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
index 064fef0..5b28bcf 100644
--- a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
+++ b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
@@ -121,7 +121,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 9 options, which are listed below.
 
 
 
@@ -130,8 +130,13 @@ The component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.bean-validator.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.bean-validator.bridge-error-handler* | 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
+| *camel.component.bean-validator.constraint-validator-factory* | To use a custom ConstraintValidatorFactory. The option is a javax.validation.ConstraintValidatorFactory type. |  | String
 | *camel.component.bean-validator.enabled* | Enable bean-validator component | true | Boolean
+| *camel.component.bean-validator.ignore-xml-configuration* | Whether to ignore data from the META-INF/validation.xml file. | false | Boolean
 | *camel.component.bean-validator.lazy-start-producer* | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is proce [...]
+| *camel.component.bean-validator.message-interpolator* | To use a custom MessageInterpolator. The option is a javax.validation.MessageInterpolator type. |  | String
+| *camel.component.bean-validator.traversable-resolver* | To use a custom TraversableResolver. The option is a javax.validation.TraversableResolver type. |  | String
+| *camel.component.bean-validator.validation-provider-resolver* | To use a a custom ValidationProviderResolver. The option is a javax.validation.ValidationProviderResolver type. |  | String
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
index 35ab16b..0498a9f 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
@@ -174,7 +174,7 @@ The component supports 29 options, which are listed below.
 | *camel.component.fhir.configuration.defer-model-scanning* | What sub operation to use for the selected operation | false | Boolean
 | *camel.component.fhir.configuration.encoding* | Component configuration for FHIR component. |  | String
 | *camel.component.fhir.configuration.fhir-context* | What sub operation to use for the selected operation |  | FhirContext
-| *camel.component.fhir.configuration.fhir-version* | Component configuration for FHIR component. | DSTU3 | String
+| *camel.component.fhir.configuration.fhir-version* | Component configuration for FHIR component. | R4 | String
 | *camel.component.fhir.configuration.force-conformance-check* | What sub operation to use for the selected operation | false | Boolean
 | *camel.component.fhir.configuration.log* | What sub operation to use for the selected operation | false | Boolean
 | *camel.component.fhir.configuration.method-name* | What sub operation to use for the selected operation |  | String
diff --git a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/SparkEndpointBuilderFactory.java b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/SparkEndpointBuilderFactory.java
index 032bf6b..ed2d7b6 100644
--- a/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/SparkEndpointBuilderFactory.java
+++ b/core/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/SparkEndpointBuilderFactory.java
@@ -17,15 +17,13 @@
 package org.apache.camel.builder.endpoint.dsl;
 
 import javax.annotation.Generated;
-import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.EndpointConsumerBuilder;
 import org.apache.camel.builder.EndpointProducerBuilder;
 import org.apache.camel.builder.endpoint.AbstractEndpointBuilder;
-import org.apache.camel.spi.ExceptionHandler;
 
 /**
- * The spark-rest component is used for hosting REST services which has been
- * defined using Camel rest-dsl.
+ * The spark component can be used to send RDD or DataFrame jobs to Apache Spark
+ * cluster.
  * 
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
@@ -34,262 +32,179 @@ public interface SparkEndpointBuilderFactory {
 
 
     /**
-     * Builder for endpoint for the Spark Rest component.
+     * Builder for endpoint for the Spark component.
      */
-    public interface SparkEndpointBuilder extends EndpointConsumerBuilder {
+    public interface SparkEndpointBuilder extends EndpointProducerBuilder {
         default AdvancedSparkEndpointBuilder advanced() {
             return (AdvancedSparkEndpointBuilder) this;
         }
         /**
-         * Accept type such as: 'text/xml', or 'application/json'. By default we
-         * accept all kinds of types.
-         * 
-         * The option is a: <code>java.lang.String</code> type.
-         * 
-         * Group: consumer
-         */
-        default SparkEndpointBuilder accept(String accept) {
-            doSetProperty("accept", accept);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Group: consumer
-         */
-        default SparkEndpointBuilder bridgeErrorHandler(
-                boolean bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * 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.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Group: consumer
-         */
-        default SparkEndpointBuilder bridgeErrorHandler(
-                String bridgeErrorHandler) {
-            doSetProperty("bridgeErrorHandler", bridgeErrorHandler);
-            return this;
-        }
-        /**
-         * Determines whether or not the raw input stream from Spark
-         * HttpRequest#getContent() is cached or not (Camel will read the stream
-         * into a in light-weight memory based Stream caching) cache. By default
-         * Camel will cache the Netty input stream to support reading it
-         * multiple times to ensure Camel can retrieve all data from the stream.
-         * However you can set this option to true when you for example need to
-         * access the raw stream, such as streaming it directly to a file or
-         * other persistent store. Mind that if you enable this option, then you
-         * cannot read the Netty stream multiple times out of the box, and you
-         * would need manually to reset the reader index on the Spark raw
-         * stream.
+         * Indicates if results should be collected or counted.
          * 
          * The option is a: <code>boolean</code> type.
          * 
-         * Group: consumer
+         * Group: producer
          */
-        default SparkEndpointBuilder disableStreamCache(
-                boolean disableStreamCache) {
-            doSetProperty("disableStreamCache", disableStreamCache);
+        default SparkEndpointBuilder collect(boolean collect) {
+            doSetProperty("collect", collect);
             return this;
         }
         /**
-         * Determines whether or not the raw input stream from Spark
-         * HttpRequest#getContent() is cached or not (Camel will read the stream
-         * into a in light-weight memory based Stream caching) cache. By default
-         * Camel will cache the Netty input stream to support reading it
-         * multiple times to ensure Camel can retrieve all data from the stream.
-         * However you can set this option to true when you for example need to
-         * access the raw stream, such as streaming it directly to a file or
-         * other persistent store. Mind that if you enable this option, then you
-         * cannot read the Netty stream multiple times out of the box, and you
-         * would need manually to reset the reader index on the Spark raw
-         * stream.
+         * Indicates if results should be collected or counted.
          * 
          * The option will be converted to a <code>boolean</code> type.
          * 
-         * Group: consumer
+         * Group: producer
          */
-        default SparkEndpointBuilder disableStreamCache(
-                String disableStreamCache) {
-            doSetProperty("disableStreamCache", disableStreamCache);
+        default SparkEndpointBuilder collect(String collect) {
+            doSetProperty("collect", collect);
             return this;
         }
         /**
-         * If this option is enabled, then during binding from Spark to Camel
-         * Message then the headers will be mapped as well (eg added as header
-         * to the Camel Message as well). You can turn off this option to
-         * disable this. The headers can still be accessed from the
-         * org.apache.camel.component.sparkrest.SparkMessage message with the
-         * method getRequest() that returns the Spark HTTP request instance.
+         * DataFrame to compute against.
          * 
-         * The option is a: <code>boolean</code> type.
+         * The option is a:
+         * <code>org.apache.spark.sql.Dataset&lt;org.apache.spark.sql.Row&gt;</code> type.
          * 
-         * Group: consumer
+         * Group: producer
          */
-        default SparkEndpointBuilder mapHeaders(boolean mapHeaders) {
-            doSetProperty("mapHeaders", mapHeaders);
+        default SparkEndpointBuilder dataFrame(Object dataFrame) {
+            doSetProperty("dataFrame", dataFrame);
             return this;
         }
         /**
-         * If this option is enabled, then during binding from Spark to Camel
-         * Message then the headers will be mapped as well (eg added as header
-         * to the Camel Message as well). You can turn off this option to
-         * disable this. The headers can still be accessed from the
-         * org.apache.camel.component.sparkrest.SparkMessage message with the
-         * method getRequest() that returns the Spark HTTP request instance.
+         * DataFrame to compute against.
          * 
-         * The option will be converted to a <code>boolean</code> type.
+         * The option will be converted to a
+         * <code>org.apache.spark.sql.Dataset&lt;org.apache.spark.sql.Row&gt;</code> type.
          * 
-         * Group: consumer
+         * Group: producer
          */
-        default SparkEndpointBuilder mapHeaders(String mapHeaders) {
-            doSetProperty("mapHeaders", mapHeaders);
+        default SparkEndpointBuilder dataFrame(String dataFrame) {
+            doSetProperty("dataFrame", dataFrame);
             return this;
         }
         /**
-         * If enabled and an Exchange failed processing on the consumer side,
-         * and if the caused Exception was send back serialized in the response
-         * as a application/x-java-serialized-object content type. This is by
-         * default turned off. If you enable this then be aware that Java will
-         * deserialize the incoming data from the request to Java and that can
-         * be a potential security risk.
+         * Function performing action against an DataFrame.
          * 
-         * The option is a: <code>boolean</code> type.
+         * The option is a:
+         * <code>org.apache.camel.component.spark.DataFrameCallback</code> type.
          * 
-         * Group: consumer
+         * Group: producer
          */
-        default SparkEndpointBuilder transferException(boolean transferException) {
-            doSetProperty("transferException", transferException);
+        default SparkEndpointBuilder dataFrameCallback(Object dataFrameCallback) {
+            doSetProperty("dataFrameCallback", dataFrameCallback);
             return this;
         }
         /**
-         * If enabled and an Exchange failed processing on the consumer side,
-         * and if the caused Exception was send back serialized in the response
-         * as a application/x-java-serialized-object content type. This is by
-         * default turned off. If you enable this then be aware that Java will
-         * deserialize the incoming data from the request to Java and that can
-         * be a potential security risk.
+         * Function performing action against an DataFrame.
          * 
-         * The option will be converted to a <code>boolean</code> type.
+         * The option will be converted to a
+         * <code>org.apache.camel.component.spark.DataFrameCallback</code> type.
          * 
-         * Group: consumer
+         * Group: producer
          */
-        default SparkEndpointBuilder transferException(String transferException) {
-            doSetProperty("transferException", transferException);
+        default SparkEndpointBuilder dataFrameCallback(String dataFrameCallback) {
+            doSetProperty("dataFrameCallback", dataFrameCallback);
             return this;
         }
         /**
-         * If this option is enabled, then during binding from Spark to Camel
-         * Message then the header values will be URL decoded (eg %20 will be a
-         * space character.).
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
          * 
          * The option is a: <code>boolean</code> type.
          * 
-         * Group: consumer
+         * Group: producer
          */
-        default SparkEndpointBuilder urlDecodeHeaders(boolean urlDecodeHeaders) {
-            doSetProperty("urlDecodeHeaders", urlDecodeHeaders);
+        default SparkEndpointBuilder lazyStartProducer(boolean lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
         }
         /**
-         * If this option is enabled, then during binding from Spark to Camel
-         * Message then the header values will be URL decoded (eg %20 will be a
-         * space character.).
+         * Whether the producer should be started lazy (on the first message).
+         * By starting lazy you can use this to allow CamelContext and routes to
+         * startup in situations where a producer may otherwise fail during
+         * starting and cause the route to fail being started. By deferring this
+         * startup to be lazy then the startup failure can be handled during
+         * routing messages via Camel's routing error handlers. Beware that when
+         * the first message is processed then creating and starting the
+         * producer may take a little time and prolong the total processing time
+         * of the processing.
          * 
          * The option will be converted to a <code>boolean</code> type.
          * 
-         * Group: consumer
+         * Group: producer
          */
-        default SparkEndpointBuilder urlDecodeHeaders(String urlDecodeHeaders) {
-            doSetProperty("urlDecodeHeaders", urlDecodeHeaders);
+        default SparkEndpointBuilder lazyStartProducer(String lazyStartProducer) {
+            doSetProperty("lazyStartProducer", lazyStartProducer);
             return this;
         }
-    }
-
-    /**
-     * Advanced builder for endpoint for the Spark Rest component.
-     */
-    public interface AdvancedSparkEndpointBuilder
-            extends
-                EndpointConsumerBuilder {
-        default SparkEndpointBuilder basic() {
-            return (SparkEndpointBuilder) this;
-        }
         /**
-         * 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.
+         * RDD to compute against.
          * 
-         * The option is a: <code>org.apache.camel.spi.ExceptionHandler</code>
+         * The option is a: <code>org.apache.spark.api.java.JavaRDDLike</code>
          * type.
          * 
-         * Group: consumer (advanced)
+         * Group: producer
          */
-        default AdvancedSparkEndpointBuilder exceptionHandler(
-                ExceptionHandler exceptionHandler) {
-            doSetProperty("exceptionHandler", exceptionHandler);
+        default SparkEndpointBuilder rdd(Object rdd) {
+            doSetProperty("rdd", rdd);
             return this;
         }
         /**
-         * 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.
+         * RDD to compute against.
          * 
          * The option will be converted to a
-         * <code>org.apache.camel.spi.ExceptionHandler</code> type.
+         * <code>org.apache.spark.api.java.JavaRDDLike</code> type.
          * 
-         * Group: consumer (advanced)
+         * Group: producer
          */
-        default AdvancedSparkEndpointBuilder exceptionHandler(
-                String exceptionHandler) {
-            doSetProperty("exceptionHandler", exceptionHandler);
+        default SparkEndpointBuilder rdd(String rdd) {
+            doSetProperty("rdd", rdd);
             return this;
         }
         /**
-         * Sets the exchange pattern when the consumer creates an exchange.
+         * Function performing action against an RDD.
          * 
-         * The option is a: <code>org.apache.camel.ExchangePattern</code> type.
+         * The option is a:
+         * <code>org.apache.camel.component.spark.RddCallback</code> type.
          * 
-         * Group: consumer (advanced)
+         * Group: producer
          */
-        default AdvancedSparkEndpointBuilder exchangePattern(
-                ExchangePattern exchangePattern) {
-            doSetProperty("exchangePattern", exchangePattern);
+        default SparkEndpointBuilder rddCallback(Object rddCallback) {
+            doSetProperty("rddCallback", rddCallback);
             return this;
         }
         /**
-         * Sets the exchange pattern when the consumer creates an exchange.
+         * Function performing action against an RDD.
          * 
          * The option will be converted to a
-         * <code>org.apache.camel.ExchangePattern</code> type.
+         * <code>org.apache.camel.component.spark.RddCallback</code> type.
          * 
-         * Group: consumer (advanced)
+         * Group: producer
          */
-        default AdvancedSparkEndpointBuilder exchangePattern(
-                String exchangePattern) {
-            doSetProperty("exchangePattern", exchangePattern);
+        default SparkEndpointBuilder rddCallback(String rddCallback) {
+            doSetProperty("rddCallback", rddCallback);
             return this;
         }
+    }
+
+    /**
+     * Advanced builder for endpoint for the Spark component.
+     */
+    public interface AdvancedSparkEndpointBuilder
+            extends
+                EndpointProducerBuilder {
+        default SparkEndpointBuilder basic() {
+            return (SparkEndpointBuilder) this;
+        }
         /**
          * Whether the endpoint should use basic property binding (Camel 2.x) or
          * the newer property binding with additional capabilities.
@@ -317,56 +232,6 @@ public interface SparkEndpointBuilderFactory {
             return this;
         }
         /**
-         * Whether or not the consumer should try to find a target consumer by
-         * matching the URI prefix if no exact match is found.
-         * 
-         * The option is a: <code>boolean</code> type.
-         * 
-         * Group: advanced
-         */
-        default AdvancedSparkEndpointBuilder matchOnUriPrefix(
-                boolean matchOnUriPrefix) {
-            doSetProperty("matchOnUriPrefix", matchOnUriPrefix);
-            return this;
-        }
-        /**
-         * Whether or not the consumer should try to find a target consumer by
-         * matching the URI prefix if no exact match is found.
-         * 
-         * The option will be converted to a <code>boolean</code> type.
-         * 
-         * Group: advanced
-         */
-        default AdvancedSparkEndpointBuilder matchOnUriPrefix(
-                String matchOnUriPrefix) {
-            doSetProperty("matchOnUriPrefix", matchOnUriPrefix);
-            return this;
-        }
-        /**
-         * To use a custom SparkBinding to map to/from Camel message.
-         * 
-         * The option is a:
-         * <code>org.apache.camel.component.sparkrest.SparkBinding</code> type.
-         * 
-         * Group: advanced
-         */
-        default AdvancedSparkEndpointBuilder sparkBinding(Object sparkBinding) {
-            doSetProperty("sparkBinding", sparkBinding);
-            return this;
-        }
-        /**
-         * To use a custom SparkBinding to map to/from Camel message.
-         * 
-         * The option will be converted to a
-         * <code>org.apache.camel.component.sparkrest.SparkBinding</code> type.
-         * 
-         * Group: advanced
-         */
-        default AdvancedSparkEndpointBuilder sparkBinding(String sparkBinding) {
-            doSetProperty("sparkBinding", sparkBinding);
-            return this;
-        }
-        /**
          * Sets whether synchronous processing should be strictly used, or Camel
          * is allowed to use asynchronous processing (if supported).
          * 
@@ -392,28 +257,24 @@ public interface SparkEndpointBuilderFactory {
         }
     }
     /**
-     * Spark Rest (camel-spark-rest)
-     * The spark-rest component is used for hosting REST services which has been
-     * defined using Camel rest-dsl.
-     * 
-     * Category: rest
-     * Available as of version: 2.14
-     * Maven coordinates: org.apache.camel:camel-spark-rest
+     * Spark (camel-spark)
+     * The spark component can be used to send RDD or DataFrame jobs to Apache
+     * Spark cluster.
      * 
-     * Syntax: <code>spark-rest:verb:path</code>
+     * Category: bigdata,iot
+     * Available as of version: 2.17
+     * Maven coordinates: org.apache.camel:camel-spark
      * 
-     * Path parameter: verb (required)
-     * get, post, put, patch, delete, head, trace, connect, or options.
-     * The value can be one of: get, post, put, patch, delete, head, trace,
-     * connect, options
+     * Syntax: <code>spark:endpointType</code>
      * 
-     * Path parameter: path (required)
-     * The content path which support Spark syntax.
+     * Path parameter: endpointType (required)
+     * Type of the endpoint (rdd, dataframe, hive).
+     * The value can be one of: rdd, dataframe, hive
      */
-    default SparkEndpointBuilder sparkRest(String path) {
+    default SparkEndpointBuilder spark(String path) {
         class SparkEndpointBuilderImpl extends AbstractEndpointBuilder implements SparkEndpointBuilder, AdvancedSparkEndpointBuilder {
             public SparkEndpointBuilderImpl(String path) {
-                super("spark-rest", path);
+                super("spark", path);
             }
         }
         return new SparkEndpointBuilderImpl(path);
diff --git a/docs/components/modules/ROOT/pages/bean-validator-component.adoc b/docs/components/modules/ROOT/pages/bean-validator-component.adoc
index 1620158..43ec03e 100644
--- a/docs/components/modules/ROOT/pages/bean-validator-component.adoc
+++ b/docs/components/modules/ROOT/pages/bean-validator-component.adoc
@@ -122,7 +122,7 @@ When using Spring Boot make sure to use the following Maven dependency to have s
 ----
 
 
-The component supports 4 options, which are listed below.
+The component supports 9 options, which are listed below.
 
 
 
@@ -131,8 +131,13 @@ The component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *camel.component.bean-validator.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.bean-validator.bridge-error-handler* | 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
+| *camel.component.bean-validator.constraint-validator-factory* | To use a custom ConstraintValidatorFactory. The option is a javax.validation.ConstraintValidatorFactory type. |  | String
 | *camel.component.bean-validator.enabled* | Enable bean-validator component | true | Boolean
+| *camel.component.bean-validator.ignore-xml-configuration* | Whether to ignore data from the META-INF/validation.xml file. | false | Boolean
 | *camel.component.bean-validator.lazy-start-producer* | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is proce [...]
+| *camel.component.bean-validator.message-interpolator* | To use a custom MessageInterpolator. The option is a javax.validation.MessageInterpolator type. |  | String
+| *camel.component.bean-validator.traversable-resolver* | To use a custom TraversableResolver. The option is a javax.validation.TraversableResolver type. |  | String
+| *camel.component.bean-validator.validation-provider-resolver* | To use a a custom ValidationProviderResolver. The option is a javax.validation.ValidationProviderResolver type. |  | String
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/docs/components/modules/ROOT/pages/fhir-component.adoc b/docs/components/modules/ROOT/pages/fhir-component.adoc
index eefd0b4..8f69031 100644
--- a/docs/components/modules/ROOT/pages/fhir-component.adoc
+++ b/docs/components/modules/ROOT/pages/fhir-component.adoc
@@ -175,7 +175,7 @@ The component supports 29 options, which are listed below.
 | *camel.component.fhir.configuration.defer-model-scanning* | What sub operation to use for the selected operation | false | Boolean
 | *camel.component.fhir.configuration.encoding* | Component configuration for FHIR component. |  | String
 | *camel.component.fhir.configuration.fhir-context* | What sub operation to use for the selected operation |  | FhirContext
-| *camel.component.fhir.configuration.fhir-version* | Component configuration for FHIR component. | DSTU3 | String
+| *camel.component.fhir.configuration.fhir-version* | Component configuration for FHIR component. | R4 | String
 | *camel.component.fhir.configuration.force-conformance-check* | What sub operation to use for the selected operation | false | Boolean
 | *camel.component.fhir.configuration.log* | What sub operation to use for the selected operation | false | Boolean
 | *camel.component.fhir.configuration.method-name* | What sub operation to use for the selected operation |  | String
diff --git a/docs/components/modules/ROOT/pages/index.adoc b/docs/components/modules/ROOT/pages/index.adoc
index fcee28c..82c5573 100644
--- a/docs/components/modules/ROOT/pages/index.adoc
+++ b/docs/components/modules/ROOT/pages/index.adoc
@@ -6,7 +6,7 @@ The following Apache Camel artifacts are provided:
 == Components
 
 // components: START
-Number of Components: 303 in 241 JAR artifacts (0 deprecated)
+Number of Components: 303 in 240 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -546,7 +546,7 @@ Number of Components: 303 in 241 JAR artifacts (0 deprecated)
 
 | xref:spring-redis-component.adoc[Spring Redis] (camel-spring-redis) | 2.11 | The spring-redis component allows sending and receiving messages from Redis.
 
-| xref:spring-ws-component.adoc[Spring WebService] (camel-spring-ws) | 2.6 | The spring-ws component is used for SOAP WebServices using Spring WebServices.
+| xref:spring-ws-component.adoc[Spring WebService] (@@@ARTIFACTID@@@) | 2.6 | The spring-ws component is used for SOAP WebServices using Spring WebServices.
 
 | xref:sql-component.adoc[SQL] (camel-sql) | 1.4 | The sql component allows you to work with databases using JDBC SQL queries.
 
@@ -600,7 +600,7 @@ Number of Components: 303 in 241 JAR artifacts (0 deprecated)
 
 | xref:xchange-component.adoc[XChange] (camel-xchange) | 2.21 | The camel-xchange component provide access to many bitcoin and altcoin exchanges for trading and accessing market data.
 
-| xref:xj-component.adoc[XJ] (camel-xj) | 3.0 | Transforms json/xml message back and forth using a XSLT.
+| xref:xj-component.adoc[XJ] (@@@ARTIFACTID@@@) | 3.0 | Transforms json/xml message back and forth using a XSLT.
 
 | xref:xmlsecurity-component.adoc[XML Security] (camel-xmlsecurity) | 2.12 | Used to sign and verify exchanges using the XML signature specification.
 
diff --git a/parent/pom.xml b/parent/pom.xml
index 27f1ed9..6bbc2a4 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -3917,12 +3917,12 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-xslt-starter</artifactId>
+        <artifactId>camel-xslt-saxon-starter</artifactId>
         <version>${project.version}</version>
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-xslt-saxon-starter</artifactId>
+        <artifactId>camel-xslt-starter</artifactId>
         <version>${project.version}</version>
       </dependency>
       <dependency>
diff --git a/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml b/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml
index 55407e2..17a15bf 100644
--- a/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml
+++ b/platforms/spring-boot/spring-boot-dm/camel-spring-boot-dependencies/pom.xml
@@ -3450,6 +3450,16 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-xslt-saxon</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-xslt-saxon-starter</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-xslt-starter</artifactId>
         <version>${project.version}</version>
       </dependency>