You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2018/10/03 15:04:50 UTC

[camel] 02/32: [CAMEL-12811] Remove deprecated languages and dataformats

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

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

commit 282e5e25001e06c9d0a4edc685a386db9a7995d2
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon Sep 10 17:48:04 2018 +0200

    [CAMEL-12811] Remove deprecated languages and dataformats
---
 apache-camel/pom.xml                               |   72 -
 apache-camel/src/main/descriptors/common-bin.xml   |   15 -
 bom/camel-bom/pom.xml                              |   70 -
 camel-core/readme.adoc                             |    2 +-
 .../org/apache/camel/builder/DataFormatClause.java |   65 -
 .../org/apache/camel/builder/ExpressionClause.java |   77 -
 .../camel/builder/ExpressionClauseSupport.java     |   92 -
 .../camel/component/language/LanguageEndpoint.java |    4 +-
 .../org/apache/camel/model/MarshalDefinition.java  |    8 -
 .../apache/camel/model/UnmarshalDefinition.java    |    8 -
 .../camel/model/dataformat/CastorDataFormat.java   |  192 -
 .../model/dataformat/DataFormatsDefinition.java    |    4 -
 .../camel/model/dataformat/HessianDataFormat.java  |   79 -
 .../camel/model/dataformat/XMLBeansDataFormat.java |   56 -
 .../camel/model/dataformat/XmlJsonDataFormat.java  |  342 --
 .../apache/camel/model/language/ELExpression.java  |   46 -
 .../camel/model/language/JXPathExpression.java     |   84 -
 .../apache/camel/model/language/PhpExpression.java |   46 -
 .../camel/model/language/PythonExpression.java     |   46 -
 .../camel/model/language/RubyExpression.java       |   46 -
 .../apache/camel/model/language/SqlExpression.java |   46 -
 .../DataFormatTransformerDefinition.java           |    8 -
 .../org/apache/camel/model/dataformat/jaxb.index   |    3 -
 .../org/apache/camel/model/language/jaxb.index     |    6 -
 .../java/org/apache/camel/model/XmlParseTest.java  |   22 +-
 ...hElFilter.xml => processorWithSimpleFilter.xml} |    2 +-
 .../camel/model/routeWithCastorDataFormat.xml      |   30 -
 .../camel/model/routeWithXMLBeansDataFormat.xml    |   30 -
 components/camel-avro/pom.xml                      |    5 -
 .../camel/component/avro/AvroHttpConsumerTest.java |    4 +-
 .../component/avro/AvroNettyConsumerTest.java      |    4 +-
 components/camel-castor/pom.xml                    |   80 -
 .../src/main/docs/castor-dataformat.adoc           |  168 -
 .../castor/AbstractCastorDataFormat.java           |  251 --
 .../camel/dataformat/castor/CastorDataFormat.java  |   37 -
 .../dataformat/castor/WhitelistObjectFactory.java  |   96 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/castor    |   18 -
 .../dataformat/castor/MarshalDomainObjectTest.java |   83 -
 .../castor/MarshalWithMappingDomainObjectTest.java |   86 -
 .../camel/dataformat/castor/PurchaseOrder.java     |   70 -
 .../castor/SpringMarshalDomainObjectTest.java      |  107 -
 .../apache/camel/dataformat/castor/Student.java    |   71 -
 .../camel/dataformat/castor/WhitelistTest.java     |   60 -
 .../src/test/resources/log4j2.properties           |   30 -
 components/camel-castor/src/test/resources/map.xml |   62 -
 .../castor/SpringMarshalDomainObjectTest.xml       |   54 -
 components/camel-hessian/pom.xml                   |   80 -
 .../src/main/docs/hessian-dataformat.adoc          |   74 -
 .../dataformat/hessian/HessianDataFormat.java      |  132 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/dataformat/hessian   |   18 -
 .../camel/dataformat/hessian/AnotherObject.java    |   74 -
 .../hessian/HessianDataFormatConfigDslTest.java    |   57 -
 .../hessian/HessianDataFormatConfigXmlTest.java    |   47 -
 .../hessian/HessianDataFormatMarshallingTest.java  |  131 -
 .../hessian/HessianDataFormatWhitelistingTest.java |   96 -
 .../camel/dataformat/hessian/TestObject.java       |  103 -
 .../src/test/resources/log4j2.properties           |   28 -
 .../camel/dataformat/hessian/HessianTestConfig.xml |   41 -
 components/camel-josql/pom.xml                     |   89 -
 .../camel-josql/src/main/docs/sql-language.adoc    |  101 -
 .../java/org/apache/camel/builder/sql/SQL.java     |   39 -
 .../org/apache/camel/builder/sql/SqlBuilder.java   |  142 -
 .../org/apache/camel/language/sql/SqlLanguage.java |   54 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/language/sql         |   18 -
 .../java/org/apache/camel/builder/sql/Person.java  |   53 -
 .../java/org/apache/camel/builder/sql/SqlTest.java |   94 -
 .../camel/lanaguage/sql/SqlLanguageTest.java       |   77 -
 .../camel/lanaguage/sql/SqlResourceTest.java       |   68 -
 .../src/test/resources/log4j2.properties           |   28 -
 .../camel-josql/src/test/resources/myjosql.txt     |    1 -
 components/camel-juel/pom.xml                      |   84 -
 .../camel-juel/src/main/docs/el-language.adoc      |  123 -
 .../language/juel/BeanAndMethodELResolver.java     |   81 -
 .../java/org/apache/camel/language/juel/EL.java    |   39 -
 .../apache/camel/language/juel/JuelExpression.java |  140 -
 .../apache/camel/language/juel/JuelLanguage.java   |   39 -
 .../org/apache/camel/language/juel/package.html    |   27 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../META-INF/services/org/apache/camel/language/el |   19 -
 .../camel-juel/src/main/resources/el.properties    |   21 -
 components/camel-juel/src/test/data/bar.xml        |   20 -
 components/camel-juel/src/test/data/foo.xml        |   20 -
 .../camel/language/juel/JuelLanguageTest.java      |   47 -
 .../camel/language/juel/JuelResourceTest.java      |   48 -
 .../org/apache/camel/language/juel/JuelTest.java   |   44 -
 .../apache/camel/language/juel/NullBodyTest.java   |   55 -
 .../language/juel/issues/XsltLosesHeaderTest.java  |   80 -
 .../apache/camel/processor/juel/SimulatorTest.java |   93 -
 components/camel-juel/src/test/resources/juel.txt  |    1 -
 .../src/test/resources/log4j2.properties           |   28 -
 components/camel-jxpath/pom.xml                    |   81 -
 .../src/main/docs/jxpath-language.adoc             |  172 -
 .../org/apache/camel/language/jxpath/JXPath.java   |   41 -
 .../camel/language/jxpath/JXPathExpression.java    |  107 -
 .../camel/language/jxpath/JXPathLanguage.java      |   55 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/language/jxpath      |   18 -
 .../jxpath/BeanWithJXPathInjectionTest.java        |   92 -
 .../language/jxpath/JXPathFilterHeaderTest.java    |   57 -
 .../language/jxpath/JXPathFilterLenientTest.java   |   46 -
 .../jxpath/JXPathFilterNotLenientTest.java         |   53 -
 .../camel/language/jxpath/JXPathFilterTest.java    |   66 -
 .../camel/language/jxpath/JXPathResourceTest.java  |   48 -
 .../apache/camel/language/jxpath/JXPathTest.java   |   74 -
 .../apache/camel/language/jxpath/PersonBean.java   |   54 -
 .../jxpath/SpringJXPathFilterLenientTest.java      |   43 -
 .../language/jxpath/SpringJXPathFilterTest.java    |   51 -
 .../src/test/resources/log4j2.properties           |   28 -
 .../camel-jxpath/src/test/resources/myjxpath.txt   |    1 -
 .../SpringJXPathFilterLenientTest-context.xml      |   40 -
 .../jxpath/SpringJXPathFilterTest-context.xml      |   40 -
 components/camel-ruby/pom.xml                      |   99 -
 components/camel-ruby/src/main/docs/ruby.adoc      |  177 -
 .../main/java/org/apache/camel/ruby/RubyCamel.java |   60 -
 .../org/apache/camel/ruby/ScriptRouteBuilder.java  |   70 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 components/camel-ruby/src/main/resources/camel.rb  |   86 -
 .../camel/ruby/RouteUsingNestedScopesTest.java     |   31 -
 .../test/java/org/apache/camel/ruby/RubyTest.java  |   93 -
 .../test/java/org/apache/camel/ruby/RunScript.java |   42 -
 .../src/test/java/org/apache/camel/ruby/example.rb |   41 -
 .../src/test/java/org/apache/camel/ruby/scopes.rb  |   36 -
 .../src/test/resources/log4j2.properties           |   30 -
 components/camel-scala/pom.xml                     |   10 -
 .../src/main/docs/javaScript-language.adoc         |    8 +-
 .../java/org/apache/camel/builder/script/PHP.java  |   40 -
 .../apache/camel/builder/script/PhpLanguage.java   |   46 -
 .../org/apache/camel/builder/script/Python.java    |   40 -
 .../camel/builder/script/PythonLanguage.java       |   46 -
 .../java/org/apache/camel/builder/script/Ruby.java |   40 -
 .../apache/camel/builder/script/RubyLanguage.java  |   46 -
 .../services/org/apache/camel/language/php         |   18 -
 .../services/org/apache/camel/language/python      |   18 -
 .../services/org/apache/camel/language/ruby        |   18 -
 .../builder/script/JRubyScriptThreadSafeTest.java  |  151 -
 .../camel/builder/script/JRubySingletonTest.java   |   23 -
 .../script/LanguagePythonStatementsTest.java       |   46 -
 .../camel/builder/script/PythonExpressionTest.java |   64 -
 .../camel/builder/script/RubyExpressionTest.java   |   66 -
 .../camel/builder/script/RubyScriptTextTest.java   |   82 -
 .../builder/script/example/PythonFilterTest.java   |   46 -
 .../builder/script/example/RubyFilterTest.java     |   46 -
 .../camel/language/script/PythonLanguageTest.java  |   40 -
 .../camel-script/src/test/resources/mypython.py    |    3 -
 .../camel/builder/script/example/pythonFilter.xml  |   39 -
 .../camel/builder/script/example/rubyFilter.xml    |   39 -
 components/camel-xmlbeans/pom.xml                  |  140 -
 .../src/main/docs/xmlBeans-dataformat.adoc         |   66 -
 .../converter/xmlbeans/XmlBeansConverter.java      |  116 -
 .../converter/xmlbeans/XmlBeansDataFormat.java     |   94 -
 .../apache/camel/converter/xmlbeans/package.html   |   26 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/dataformat/xmlBeans  |   18 -
 .../camel-xmlbeans/src/test/data/buyStocks.xml     |   20 -
 .../camel/converter/xmlbeans/MarshalTest.java      |  105 -
 .../camel/converter/xmlbeans/UnmarshalTest.java    |   88 -
 .../converter/xmlbeans/XmlBeansConverterTest.java  |  135 -
 .../camel/converter/xmlbeans/XmlBeansDslTest.java  |   72 -
 .../src/test/resources/log4j2.properties           |   30 -
 .../src/test/resources/xsd/buyStocks.xsd           |   19 -
 components/camel-xmljson/pom.xml                   |  119 -
 .../src/main/docs/xmljson-dataformat.adoc          |  307 --
 .../camel/dataformat/xmljson/TypeHintsEnum.java    |   29 -
 .../dataformat/xmljson/XmlJsonDataFormat.java      |  450 ---
 .../xmljson/converters/XmlJsonConverters.java      |   48 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../services/org/apache/camel/TypeConverter        |   18 -
 .../services/org/apache/camel/dataformat/xmljson   |   18 -
 .../xmljson/AbstractJsonTestSupport.java           |   38 -
 .../xmljson/JsonToXmlAttributesTest.java           |   92 -
 .../xmljson/SpringXmlJsonDataFormatTest.java       |  112 -
 .../dataformat/xmljson/XmlJsonDataFormatTest.java  |  267 --
 .../dataformat/xmljson/XmlJsonExceptionsTest.java  |  132 -
 .../dataformat/xmljson/XmlJsonOptionsTest.java     |  247 --
 .../dataformat/xmljson/XmlJsonStressTest.java      |  110 -
 .../src/test/resources/log4j2.properties           |   28 -
 .../xmljson/SpringXmlJsonDataFormatTest.xml        |   76 -
 .../xmljson/jsonToXmlAttributesMessage.json        |    1 -
 .../jsonToXmlElementWithAttributeMessage.json      |    4 -
 .../camel/dataformat/xmljson/testMessage1.json     |    1 -
 .../camel/dataformat/xmljson/testMessage1.xml      |   36 -
 .../xmljson/testMessage2-namespaces.json           |    1 -
 .../dataformat/xmljson/testMessage2-namespaces.xml |   37 -
 .../dataformat/xmljson/testMessage3-large.json     |  160 -
 .../dataformat/xmljson/testMessage3-large.xml      | 4166 --------------------
 .../camel/dataformat/xmljson/testMessage4.xml      |   35 -
 .../dataformat/xmljson/testMessage5-typeHints.json |    1 -
 .../dataformat/xmljson/testMessage5-typeHints.xml  |   25 -
 .../xmljson/testMessage6-prefixedTypeHints.xml     |   24 -
 components/pom.xml                                 |    8 -
 components/readme.adoc                             |   14 +-
 docs/user-manual/en/SUMMARY.md                     |    5 -
 examples/camel-example-bam/pom.xml                 |    4 -
 parent/pom.xml                                     |   70 -
 .../camel-castor-starter/pom.xml                   |   61 -
 .../CastorDataFormatAutoConfiguration.java         |  129 -
 .../springboot/CastorDataFormatConfiguration.java  |  161 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../additional-spring-configuration-metadata.json  |   10 -
 .../src/main/resources/META-INF/spring.factories   |   18 -
 .../src/main/resources/META-INF/spring.provides    |   17 -
 .../camel-hessian-starter/pom.xml                  |   53 -
 .../HessianDataFormatAutoConfiguration.java        |  129 -
 .../springboot/HessianDataFormatConfiguration.java |   91 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../additional-spring-configuration-metadata.json  |   10 -
 .../src/main/resources/META-INF/spring.factories   |   18 -
 .../src/main/resources/META-INF/spring.provides    |   17 -
 .../components-starter/camel-josql-starter/pom.xml |   53 -
 .../springboot/SqlLanguageAutoConfiguration.java   |  117 -
 .../sql/springboot/SqlLanguageConfiguration.java   |   52 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../additional-spring-configuration-metadata.json  |   10 -
 .../src/main/resources/META-INF/spring.factories   |   18 -
 .../src/main/resources/META-INF/spring.provides    |   17 -
 .../components-starter/camel-juel-starter/pom.xml  |   53 -
 .../springboot/JuelLanguageAutoConfiguration.java  |  117 -
 .../juel/springboot/JuelLanguageConfiguration.java |   52 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../additional-spring-configuration-metadata.json  |   10 -
 .../src/main/resources/META-INF/spring.factories   |   18 -
 .../src/main/resources/META-INF/spring.provides    |   17 -
 .../camel-jxpath-starter/pom.xml                   |   53 -
 .../JXPathLanguageAutoConfiguration.java           |  117 -
 .../springboot/JXPathLanguageConfiguration.java    |   66 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../additional-spring-configuration-metadata.json  |   10 -
 .../src/main/resources/META-INF/spring.factories   |   18 -
 .../src/main/resources/META-INF/spring.provides    |   17 -
 .../components-starter/camel-ruby-starter/pom.xml  |   53 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../src/main/resources/META-INF/spring.provides    |   17 -
 .../springboot/PhpLanguageAutoConfiguration.java   |  117 -
 .../springboot/PhpLanguageConfiguration.java       |   52 -
 .../PythonLanguageAutoConfiguration.java           |  117 -
 .../springboot/PythonLanguageConfiguration.java    |   52 -
 .../springboot/RubyLanguageAutoConfiguration.java  |  117 -
 .../springboot/RubyLanguageConfiguration.java      |   52 -
 .../additional-spring-configuration-metadata.json  |   18 -
 .../src/main/resources/META-INF/spring.factories   |    6 +-
 .../camel-xmlbeans-starter/pom.xml                 |   53 -
 .../XmlBeansDataFormatAutoConfiguration.java       |  129 -
 .../XmlBeansDataFormatConfiguration.java           |   67 -
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../additional-spring-configuration-metadata.json  |   10 -
 .../src/main/resources/META-INF/spring.factories   |   18 -
 .../src/main/resources/META-INF/spring.provides    |   17 -
 .../camel-xmljson-starter/pom.xml                  |   61 -
 .../XmlJsonDataFormatAutoConfiguration.java        |  129 -
 .../springboot/XmlJsonDataFormatConfiguration.java |  227 --
 .../src/main/resources/META-INF/LICENSE.txt        |  203 -
 .../src/main/resources/META-INF/NOTICE.txt         |   11 -
 .../additional-spring-configuration-metadata.json  |   10 -
 .../src/main/resources/META-INF/spring.factories   |   18 -
 .../src/main/resources/META-INF/spring.provides    |   17 -
 platforms/spring-boot/components-starter/pom.xml   |    8 -
 .../camel-spring-boot-dependencies/pom.xml         |   70 -
 276 files changed, 17 insertions(+), 22349 deletions(-)

diff --git a/apache-camel/pom.xml b/apache-camel/pom.xml
index 8d2c681..6b65468 100644
--- a/apache-camel/pom.xml
+++ b/apache-camel/pom.xml
@@ -176,10 +176,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-castor</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-cdi</artifactId>
     </dependency>
     <dependency>
@@ -440,10 +436,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-hessian</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-http</artifactId>
     </dependency>
     <dependency>
@@ -584,10 +576,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-josql</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-jpa</artifactId>
     </dependency>
     <dependency>
@@ -604,10 +592,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-juel</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-jt400</artifactId>
       <!-- avoid the WARINING message -->
       <exclusions>
@@ -619,10 +603,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-jxpath</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-kafka</artifactId>
     </dependency>
     <dependency>
@@ -879,10 +859,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-ruby</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-rx</artifactId>
     </dependency>
     <dependency>
@@ -1171,14 +1147,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-xmlbeans</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-xmljson</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-xmlsecurity</artifactId>
     </dependency>
     <dependency>
@@ -1370,11 +1338,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-castor-starter</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-chronicle-starter</artifactId>
       <version>${project.version}</version>
     </dependency>
@@ -1679,11 +1642,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-hessian-starter</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-hipchat-starter</artifactId>
       <version>${project.version}</version>
     </dependency>
@@ -1854,11 +1812,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-josql-starter</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-jpa-starter</artifactId>
       <version>${project.version}</version>
     </dependency>
@@ -1884,16 +1837,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-juel-starter</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-jxpath-starter</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-kafka-starter</artifactId>
       <version>${project.version}</version>
     </dependency>
@@ -2169,11 +2112,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-ruby-starter</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-reactive-streams-starter</artifactId>
       <version>${project.version}</version>
     </dependency>
@@ -2494,16 +2432,6 @@
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
-      <artifactId>camel-xmlbeans-starter</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-xmljson-starter</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
       <artifactId>camel-xmlrpc-starter</artifactId>
       <version>${project.version}</version>
     </dependency>
diff --git a/apache-camel/src/main/descriptors/common-bin.xml b/apache-camel/src/main/descriptors/common-bin.xml
index b376768..a898af7 100644
--- a/apache-camel/src/main/descriptors/common-bin.xml
+++ b/apache-camel/src/main/descriptors/common-bin.xml
@@ -56,7 +56,6 @@
         <include>org.apache.camel:camel-cache</include>
         <include>org.apache.camel:camel-caffeine</include>
         <include>org.apache.camel:camel-cassandraql</include>
-        <include>org.apache.camel:camel-castor</include>
         <include>org.apache.camel:camel-cdi</include>
         <include>org.apache.camel:camel-chronicle</include>
         <include>org.apache.camel:camel-chunk</include>
@@ -123,7 +122,6 @@
         <include>org.apache.camel:camel-hdfs</include>
         <include>org.apache.camel:camel-hdfs2</include>
         <include>org.apache.camel:camel-headersmap</include>
-        <include>org.apache.camel:camel-hessian</include>
         <include>org.apache.camel:camel-hipchat</include>
         <include>org.apache.camel:camel-http</include>
         <include>org.apache.camel:camel-http-common</include>
@@ -157,13 +155,11 @@
         <include>org.apache.camel:camel-jmx</include>
         <include>org.apache.camel:camel-jolt</include>
         <include>org.apache.camel:camel-johnzon</include>
-        <include>org.apache.camel:camel-josql</include>
         <include>org.apache.camel:camel-jpa</include>
         <include>org.apache.camel:camel-jsch</include>
         <include>org.apache.camel:camel-json-validator</include>
         <include>org.apache.camel:camel-jsonpath</include>
         <include>org.apache.camel:camel-jt400</include>
-        <include>org.apache.camel:camel-juel</include>
         <include>org.apache.camel:camel-jxpath</include>
         <include>org.apache.camel:camel-kafka</include>
         <include>org.apache.camel:camel-kestrel</include>
@@ -300,9 +296,7 @@
         <include>org.apache.camel:camel-web3j</include>
         <include>org.apache.camel:camel-websocket</include>
         <include>org.apache.camel:camel-wordpress</include>
-        <include>org.apache.camel:camel-xmlbeans</include>
         <include>org.apache.camel:camel-xchange</include>
-        <include>org.apache.camel:camel-xmljson</include>
         <include>org.apache.camel:camel-xmlrpc</include>
         <include>org.apache.camel:camel-xmlsecurity</include>
         <include>org.apache.camel:camel-xmpp</include>
@@ -382,8 +376,6 @@
         <include>org.apache.camel:camel-cache-starter</include>
         <include>org.apache.camel:camel-caffeine-starter</include>
         <include>org.apache.camel:camel-cassandraql-starter</include>
-        <include>org.apache.camel:camel-castor-starter</include>
-        <include>org.apache.camel:camel-chronicle-starter</include>
         <include>org.apache.camel:camel-chunk-starter</include>
         <include>org.apache.camel:camel-cmis-starter</include>
         <include>org.apache.camel:camel-cm-sms-starter</include>
@@ -445,7 +437,6 @@
         <include>org.apache.camel:camel-hdfs2-starter</include>
         <include>org.apache.camel:camel-headersmap-starter</include>
         <include>org.apache.camel:camel-hessian-starter</include>
-        <include>org.apache.camel:camel-hipchat-starter</include>
         <include>org.apache.camel:camel-hl7-starter</include>
         <include>org.apache.camel:camel-http4-starter</include>
         <include>org.apache.camel:camel-http-common-starter</include>
@@ -479,14 +470,11 @@
         <include>org.apache.camel:camel-jmx-starter</include>
         <include>org.apache.camel:camel-johnzon-starter</include>
         <include>org.apache.camel:camel-jolt-starter</include>
-        <include>org.apache.camel:camel-josql-starter</include>
         <include>org.apache.camel:camel-jpa-starter</include>
         <include>org.apache.camel:camel-jsch-starter</include>
         <include>org.apache.camel:camel-json-validator-starter</include>
         <include>org.apache.camel:camel-jsonpath-starter</include>
         <include>org.apache.camel:camel-jt400-starter</include>
-        <include>org.apache.camel:camel-juel-starter</include>
-        <include>org.apache.camel:camel-jxpath-starter</include>
         <include>org.apache.camel:camel-kafka-starter</include>
         <include>org.apache.camel:camel-kestrel-starter</include>
         <include>org.apache.camel:camel-krati-starter</include>
@@ -607,10 +595,7 @@
         <include>org.apache.camel:camel-web3j-starter</include>
         <include>org.apache.camel:camel-websocket-starter</include>
         <include>org.apache.camel:camel-wordpress-starter</include>
-        <include>org.apache.camel:camel-xmlbeans-starter</include>
         <include>org.apache.camel:camel-xchange-starter</include>
-        <include>org.apache.camel:camel-xmljson-starter</include>
-        <include>org.apache.camel:camel-xmlrpc-starter</include>
         <include>org.apache.camel:camel-xmlsecurity-starter</include>
         <include>org.apache.camel:camel-xmpp-starter</include>
         <include>org.apache.camel:camel-xstream-starter</include>
diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 233ed96..254b4a6 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -338,16 +338,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-castor</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-castor-starter</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-catalog</artifactId>
         <version>${project.version}</version>
       </dependency>
@@ -1065,16 +1055,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-hessian</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-hessian-starter</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-hipchat</artifactId>
         <version>${project.version}</version>
       </dependency>
@@ -1420,16 +1400,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-josql</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-josql-starter</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-jpa</artifactId>
         <version>${project.version}</version>
       </dependency>
@@ -1480,16 +1450,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-juel</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-juel-starter</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-jxpath</artifactId>
         <version>${project.version}</version>
       </dependency>
@@ -2120,16 +2080,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-ruby</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-ruby-starter</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-rx</artifactId>
         <version>${project.version}</version>
       </dependency>
@@ -2800,26 +2750,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-xmlbeans</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-xmlbeans-starter</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-xmljson</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>camel-xmljson-starter</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-xmlrpc</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/camel-core/readme.adoc b/camel-core/readme.adoc
index 2176322..1243b8f 100644
--- a/camel-core/readme.adoc
+++ b/camel-core/readme.adoc
@@ -106,7 +106,7 @@ Data Formats
 
 
 // dataformats: START
-Number of Data Formats: 4 in 39 JAR artifacts (4 deprecated)
+Number of Data Formats: 4 in 38 JAR artifacts (3 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
diff --git a/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java b/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java
index f29ba8c..a02a47d 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/DataFormatClause.java
@@ -31,14 +31,12 @@ import org.apache.camel.model.dataformat.BeanioDataFormat;
 import org.apache.camel.model.dataformat.BindyDataFormat;
 import org.apache.camel.model.dataformat.BindyType;
 import org.apache.camel.model.dataformat.BoonDataFormat;
-import org.apache.camel.model.dataformat.CastorDataFormat;
 import org.apache.camel.model.dataformat.CsvDataFormat;
 import org.apache.camel.model.dataformat.CustomDataFormat;
 import org.apache.camel.model.dataformat.FhirJsonDataFormat;
 import org.apache.camel.model.dataformat.FhirXmlDataFormat;
 import org.apache.camel.model.dataformat.GzipDataFormat;
 import org.apache.camel.model.dataformat.HL7DataFormat;
-import org.apache.camel.model.dataformat.HessianDataFormat;
 import org.apache.camel.model.dataformat.IcalDataFormat;
 import org.apache.camel.model.dataformat.JacksonXMLDataFormat;
 import org.apache.camel.model.dataformat.JaxbDataFormat;
@@ -57,10 +55,8 @@ import org.apache.camel.model.dataformat.SyslogDataFormat;
 import org.apache.camel.model.dataformat.TarFileDataFormat;
 import org.apache.camel.model.dataformat.ThriftDataFormat;
 import org.apache.camel.model.dataformat.TidyMarkupDataFormat;
-import org.apache.camel.model.dataformat.XMLBeansDataFormat;
 import org.apache.camel.model.dataformat.XMLSecurityDataFormat;
 import org.apache.camel.model.dataformat.XStreamDataFormat;
-import org.apache.camel.model.dataformat.XmlJsonDataFormat;
 import org.apache.camel.model.dataformat.YAMLDataFormat;
 import org.apache.camel.model.dataformat.YAMLLibrary;
 import org.apache.camel.model.dataformat.ZipDataFormat;
@@ -236,37 +232,6 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> {
     }
 
     /**
-     * Uses the Castor data format
-     */
-    public T castor() {
-        return dataFormat(new CastorDataFormat());
-    }
-
-    /**
-     * Uses the Castor data format
-     *
-     * @param mappingFile name of mapping file to locate in classpath
-     */
-    public T castor(String mappingFile) {
-        CastorDataFormat castor = new CastorDataFormat();
-        castor.setMappingFile(mappingFile);
-        return dataFormat(castor);
-    }
-
-    /**
-     * Uses the Castor data format
-     *
-     * @param mappingFile name of mapping file to locate in classpath
-     * @param validation  whether validation is enabled or not
-     */
-    public T castor(String mappingFile, boolean validation) {
-        CastorDataFormat castor = new CastorDataFormat();
-        castor.setMappingFile(mappingFile);
-        castor.setValidation(validation);
-        return dataFormat(castor);
-    }
-
-    /**
      * Uses the GZIP deflater data format
      */
     public T gzip() {
@@ -275,13 +240,6 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> {
     }
 
     /**
-     * Uses the Hessian data format
-     */
-    public T hessian() {
-        return dataFormat(new HessianDataFormat());
-    }
-
-    /**
      * Uses the HL7 data format
      */
     public T hl7() {
@@ -1188,29 +1146,6 @@ public class DataFormatClause<T extends ProcessorDefinition<?>> {
     }
 
     /**
-     * Uses the xmlBeans data format
-     */
-    public T xmlBeans() {
-        return dataFormat(new XMLBeansDataFormat());
-    }
-
-    /**
-     * Uses the xmljson dataformat, based on json-lib
-     */
-    @Deprecated
-    public T xmljson() {
-        return dataFormat(new XmlJsonDataFormat());
-    }
-    
-    /**
-     * Uses the xmljson dataformat, based on json-lib, initializing custom options with a Map
-     */
-    @Deprecated
-    public T xmljson(Map<String, String> options) {
-        return dataFormat(new XmlJsonDataFormat(options));
-    }
-    
-    /**
      * Uses the ZIP deflater data format
      */
     public T zip() {
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ExpressionClause.java b/camel-core/src/main/java/org/apache/camel/builder/ExpressionClause.java
index 2faa284..1251973 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ExpressionClause.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ExpressionClause.java
@@ -425,18 +425,6 @@ public class ExpressionClause<T> extends ExpressionDefinition {
     }
 
     /**
-     * Evaluates the <a href="http://camel.apache.org/el.html">EL
-     * Language from JSP and JSF</a> using the <a
-     * href="http://camel.apache.org/juel.html">JUEL library</a>
-     * 
-     * @param text the expression to be evaluated
-     * @return the builder to continue processing the DSL
-     */
-    public T el(String text) {
-        return delegate.el(text);
-    }
-
-    /**
      * Evaluates a <a href="http://camel.apache.org/groovy.html">Groovy
      * expression</a>
      * 
@@ -566,27 +554,6 @@ public class ExpressionClause<T> extends ExpressionDefinition {
     }
 
     /**
-     * Evaluates a <a href="http://commons.apache.org/jxpath/">JXPath expression</a>
-     * 
-     * @param text the expression to be evaluated
-     * @return the builder to continue processing the DSL
-     */
-    public T jxpath(String text) {
-        return delegate.jxpath(text);
-    }
-
-    /**
-     * Evaluates a <a href="http://commons.apache.org/jxpath/">JXPath expression</a>
-     *
-     * @param text the expression to be evaluated
-     * @param lenient to configure whether lenient is in use or not
-     * @return the builder to continue processing the DSL
-     */
-    public T jxpath(String text, boolean lenient) {
-        return delegate.jxpath(text, lenient);
-    }
-
-    /**
      * Evaluates an <a href="http://camel.apache.org/ognl.html">OGNL
      * expression</a>
      * 
@@ -609,28 +576,6 @@ public class ExpressionClause<T> extends ExpressionDefinition {
     }
 
     /**
-     * Evaluates a <a href="http://camel.apache.org/php.html">PHP
-     * expression</a>
-     * 
-     * @param text the expression to be evaluated
-     * @return the builder to continue processing the DSL
-     */
-    public T php(String text) {
-        return delegate.php(text);
-    }
-
-    /**
-     * Evaluates a <a href="http://camel.apache.org/python.html">Python
-     * expression</a>
-     * 
-     * @param text the expression to be evaluated
-     * @return the builder to continue processing the DSL
-     */
-    public T python(String text) {
-        return delegate.python(text);
-    }
-
-    /**
      * Evaluates a <a href="http://camel.apache.org/ref-language.html">Ref
      * expression</a>
      * 
@@ -642,28 +587,6 @@ public class ExpressionClause<T> extends ExpressionDefinition {
     }
 
     /**
-     * Evaluates a <a href="http://camel.apache.org/ruby.html">Ruby
-     * expression</a>
-     *
-     * @param text the expression to be evaluated
-     * @return the builder to continue processing the DSL
-     */
-    public T ruby(String text) {
-        return delegate.ruby(text);
-    }
-
-    /**
-     * Evaluates an <a href="http://camel.apache.org/sql.html">SQL
-     * expression</a>
-     * 
-     * @param text the expression to be evaluated
-     * @return the builder to continue processing the DSL
-     */
-    public T sql(String text) {
-        return delegate.sql(text);
-    }
-
-    /**
      * Evaluates a <a href="http://camel.apache.org/spel.html">SpEL
      * expression</a>
      * 
diff --git a/camel-core/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java b/camel-core/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
index a5ffc3e..79347d4 100644
--- a/camel-core/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
+++ b/camel-core/src/main/java/org/apache/camel/builder/ExpressionClauseSupport.java
@@ -22,25 +22,19 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Expression;
 import org.apache.camel.builder.xml.Namespaces;
 import org.apache.camel.model.language.ConstantExpression;
-import org.apache.camel.model.language.ELExpression;
 import org.apache.camel.model.language.ExchangePropertyExpression;
 import org.apache.camel.model.language.ExpressionDefinition;
 import org.apache.camel.model.language.GroovyExpression;
 import org.apache.camel.model.language.HeaderExpression;
-import org.apache.camel.model.language.JXPathExpression;
 import org.apache.camel.model.language.JavaScriptExpression;
 import org.apache.camel.model.language.JsonPathExpression;
 import org.apache.camel.model.language.LanguageExpression;
 import org.apache.camel.model.language.MethodCallExpression;
 import org.apache.camel.model.language.MvelExpression;
 import org.apache.camel.model.language.OgnlExpression;
-import org.apache.camel.model.language.PhpExpression;
-import org.apache.camel.model.language.PythonExpression;
 import org.apache.camel.model.language.RefExpression;
-import org.apache.camel.model.language.RubyExpression;
 import org.apache.camel.model.language.SimpleExpression;
 import org.apache.camel.model.language.SpELExpression;
-import org.apache.camel.model.language.SqlExpression;
 import org.apache.camel.model.language.TerserExpression;
 import org.apache.camel.model.language.TokenizerExpression;
 import org.apache.camel.model.language.XMLTokenizerExpression;
@@ -303,19 +297,6 @@ public class ExpressionClauseSupport<T> {
     }
 
     /**
-     * Evaluates the <a href="http://camel.apache.org/el.html">EL
-     * Language from JSP and JSF</a> using the <a
-     * href="http://camel.apache.org/juel.html">JUEL library</a>
-     *
-     * @param text the expression to be evaluated
-     * @return the builder to continue processing the DSL
-     */
-    @Deprecated
-    public T el(String text) {
-        return expression(new ELExpression(text));
-    }
-
-    /**
      * Evaluates a <a href="http://camel.apache.org/groovy.html">Groovy
      * expression</a>
      *
@@ -514,31 +495,6 @@ public class ExpressionClauseSupport<T> {
     }
 
     /**
-     * Evaluates a <a href="http://commons.apache.org/jxpath/">JXPath expression</a>
-     *
-     * @param text the expression to be evaluated
-     * @return the builder to continue processing the DSL
-     */
-    @Deprecated
-    public T jxpath(String text) {
-        return jxpath(text, false);
-    }
-
-    /**
-     * Evaluates a <a href="http://commons.apache.org/jxpath/">JXPath expression</a>
-     *
-     * @param text the expression to be evaluated
-     * @param lenient to configure whether lenient is in use or not
-     * @return the builder to continue processing the DSL
-     */
-    @Deprecated
-    public T jxpath(String text, boolean lenient) {
-        JXPathExpression answer = new JXPathExpression(text);
-        answer.setLenient(lenient);
-        return expression(answer);
-    }
-
-    /**
      * Evaluates an <a href="http://camel.apache.org/ognl.html">OGNL
      * expression</a>
      *
@@ -561,30 +517,6 @@ public class ExpressionClauseSupport<T> {
     }
 
     /**
-     * Evaluates a <a href="http://camel.apache.org/php.html">PHP
-     * expression</a>
-     *
-     * @param text the expression to be evaluated
-     * @return the builder to continue processing the DSL
-     */
-    @Deprecated
-    public T php(String text) {
-        return expression(new PhpExpression(text));
-    }
-
-    /**
-     * Evaluates a <a href="http://camel.apache.org/python.html">Python
-     * expression</a>
-     *
-     * @param text the expression to be evaluated
-     * @return the builder to continue processing the DSL
-     */
-    @Deprecated
-    public T python(String text) {
-        return expression(new PythonExpression(text));
-    }
-
-    /**
      * Evaluates a {@link Expression} by looking up existing {@link Expression}
      * from the {@link org.apache.camel.spi.Registry}
      *
@@ -596,18 +528,6 @@ public class ExpressionClauseSupport<T> {
     }
 
     /**
-     * Evaluates a <a href="http://camel.apache.org/ruby.html">Ruby
-     * expression</a>
-     *
-     * @param text the expression to be evaluated
-     * @return the builder to continue processing the DSL
-     */
-    @Deprecated
-    public T ruby(String text) {
-        return expression(new RubyExpression(text));
-    }
-
-    /**
      * Evaluates an <a href="http://camel.apache.org/spel.html">SpEL
      * expression</a>
      *
@@ -617,18 +537,6 @@ public class ExpressionClauseSupport<T> {
     public T spel(String text) {
         return expression(new SpELExpression(text));
     }
-    
-    /**
-     * Evaluates an <a href="http://camel.apache.org/sql.html">SQL
-     * expression</a>
-     *
-     * @param text the expression to be evaluated
-     * @return the builder to continue processing the DSL
-     */
-    @Deprecated
-    public T sql(String text) {
-        return expression(new SqlExpression(text));
-    }
 
     /**
      * Evaluates a <a href="http://camel.apache.org/simple.html">Simple
diff --git a/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
index 7aac69c..da5f75d 100644
--- a/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
+++ b/camel-core/src/main/java/org/apache/camel/component/language/LanguageEndpoint.java
@@ -53,8 +53,8 @@ public class LanguageEndpoint extends ResourceEndpoint {
     private Language language;
     private Expression expression;
     private boolean contentResolvedFromResource;
-    @UriPath(enums = "bean,constant,el,exchangeProperty,file,groovy,header,javascript,jsonpath,jxpath,mvel,ognl,php,python"
-            + ",ref,ruby,simple,spel,sql,terser,tokenize,xpath,xquery,xtokenize")
+    @UriPath(enums = "bean,constant,exchangeProperty,file,groovy,header,javascript,jsonpath,jxpath,mvel,ognl,"
+            + ",ref,simple,spel,sql,terser,tokenize,xpath,xquery,xtokenize")
     @Metadata(required = "true")
     private String languageName;
     // resourceUri is optional in the language endpoint
diff --git a/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java b/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java
index 0310128..42a2aa1 100644
--- a/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/MarshalDefinition.java
@@ -30,7 +30,6 @@ import org.apache.camel.model.dataformat.Base64DataFormat;
 import org.apache.camel.model.dataformat.BeanioDataFormat;
 import org.apache.camel.model.dataformat.BindyDataFormat;
 import org.apache.camel.model.dataformat.BoonDataFormat;
-import org.apache.camel.model.dataformat.CastorDataFormat;
 import org.apache.camel.model.dataformat.CryptoDataFormat;
 import org.apache.camel.model.dataformat.CsvDataFormat;
 import org.apache.camel.model.dataformat.CustomDataFormat;
@@ -39,7 +38,6 @@ import org.apache.camel.model.dataformat.FhirXmlDataFormat;
 import org.apache.camel.model.dataformat.FlatpackDataFormat;
 import org.apache.camel.model.dataformat.GzipDataFormat;
 import org.apache.camel.model.dataformat.HL7DataFormat;
-import org.apache.camel.model.dataformat.HessianDataFormat;
 import org.apache.camel.model.dataformat.IcalDataFormat;
 import org.apache.camel.model.dataformat.JacksonXMLDataFormat;
 import org.apache.camel.model.dataformat.JaxbDataFormat;
@@ -58,10 +56,8 @@ import org.apache.camel.model.dataformat.TidyMarkupDataFormat;
 import org.apache.camel.model.dataformat.UniVocityCsvDataFormat;
 import org.apache.camel.model.dataformat.UniVocityFixedWidthDataFormat;
 import org.apache.camel.model.dataformat.UniVocityTsvDataFormat;
-import org.apache.camel.model.dataformat.XMLBeansDataFormat;
 import org.apache.camel.model.dataformat.XMLSecurityDataFormat;
 import org.apache.camel.model.dataformat.XStreamDataFormat;
-import org.apache.camel.model.dataformat.XmlJsonDataFormat;
 import org.apache.camel.model.dataformat.XmlRpcDataFormat;
 import org.apache.camel.model.dataformat.YAMLDataFormat;
 import org.apache.camel.model.dataformat.ZipDataFormat;
@@ -91,7 +87,6 @@ public class MarshalDefinition extends NoOutputDefinition<MarshalDefinition> {
         @XmlElement(required = false, name = "beanio", type = BeanioDataFormat.class),
         @XmlElement(required = false, name = "bindy", type = BindyDataFormat.class),
         @XmlElement(required = false, name = "boon", type = BoonDataFormat.class),
-        @XmlElement(required = false, name = "castor", type = CastorDataFormat.class),
         @XmlElement(required = false, name = "crypto", type = CryptoDataFormat.class),
         @XmlElement(required = false, name = "csv", type = CsvDataFormat.class),
         @XmlElement(required = false, name = "custom", type = CustomDataFormat.class),
@@ -99,7 +94,6 @@ public class MarshalDefinition extends NoOutputDefinition<MarshalDefinition> {
         @XmlElement(required = false, name = "fhirXml", type = FhirXmlDataFormat.class),
         @XmlElement(required = false, name = "flatpack", type = FlatpackDataFormat.class),
         @XmlElement(required = false, name = "gzip", type = GzipDataFormat.class),
-        @XmlElement(required = false, name = "hessian", type = HessianDataFormat.class),
         @XmlElement(required = false, name = "hl7", type = HL7DataFormat.class),
         @XmlElement(required = false, name = "ical", type = IcalDataFormat.class),
         @XmlElement(required = false, name = "jacksonxml", type = JacksonXMLDataFormat.class),
@@ -119,8 +113,6 @@ public class MarshalDefinition extends NoOutputDefinition<MarshalDefinition> {
         @XmlElement(required = false, name = "univocity-csv", type = UniVocityCsvDataFormat.class),
         @XmlElement(required = false, name = "univocity-fixed", type = UniVocityFixedWidthDataFormat.class),
         @XmlElement(required = false, name = "univocity-tsv", type = UniVocityTsvDataFormat.class),
-        @XmlElement(required = false, name = "xmlBeans", type = XMLBeansDataFormat.class),
-        @XmlElement(required = false, name = "xmljson", type = XmlJsonDataFormat.class),
         @XmlElement(required = false, name = "xmlrpc", type = XmlRpcDataFormat.class),
         @XmlElement(required = false, name = "xstream", type = XStreamDataFormat.class),
         @XmlElement(required = false, name = "pgp", type = PGPDataFormat.class),
diff --git a/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java b/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
index dc638d8..ef92506 100644
--- a/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/UnmarshalDefinition.java
@@ -30,7 +30,6 @@ import org.apache.camel.model.dataformat.Base64DataFormat;
 import org.apache.camel.model.dataformat.BeanioDataFormat;
 import org.apache.camel.model.dataformat.BindyDataFormat;
 import org.apache.camel.model.dataformat.BoonDataFormat;
-import org.apache.camel.model.dataformat.CastorDataFormat;
 import org.apache.camel.model.dataformat.CryptoDataFormat;
 import org.apache.camel.model.dataformat.CsvDataFormat;
 import org.apache.camel.model.dataformat.CustomDataFormat;
@@ -39,7 +38,6 @@ import org.apache.camel.model.dataformat.FhirXmlDataFormat;
 import org.apache.camel.model.dataformat.FlatpackDataFormat;
 import org.apache.camel.model.dataformat.GzipDataFormat;
 import org.apache.camel.model.dataformat.HL7DataFormat;
-import org.apache.camel.model.dataformat.HessianDataFormat;
 import org.apache.camel.model.dataformat.IcalDataFormat;
 import org.apache.camel.model.dataformat.JacksonXMLDataFormat;
 import org.apache.camel.model.dataformat.JaxbDataFormat;
@@ -58,10 +56,8 @@ import org.apache.camel.model.dataformat.TidyMarkupDataFormat;
 import org.apache.camel.model.dataformat.UniVocityCsvDataFormat;
 import org.apache.camel.model.dataformat.UniVocityFixedWidthDataFormat;
 import org.apache.camel.model.dataformat.UniVocityTsvDataFormat;
-import org.apache.camel.model.dataformat.XMLBeansDataFormat;
 import org.apache.camel.model.dataformat.XMLSecurityDataFormat;
 import org.apache.camel.model.dataformat.XStreamDataFormat;
-import org.apache.camel.model.dataformat.XmlJsonDataFormat;
 import org.apache.camel.model.dataformat.XmlRpcDataFormat;
 import org.apache.camel.model.dataformat.YAMLDataFormat;
 import org.apache.camel.model.dataformat.ZipDataFormat;
@@ -90,7 +86,6 @@ public class UnmarshalDefinition extends NoOutputDefinition<UnmarshalDefinition>
         @XmlElement(required = false, name = "beanio", type = BeanioDataFormat.class),
         @XmlElement(required = false, name = "bindy", type = BindyDataFormat.class),
         @XmlElement(required = false, name = "boon", type = BoonDataFormat.class),
-        @XmlElement(required = false, name = "castor", type = CastorDataFormat.class),
         @XmlElement(required = false, name = "crypto", type = CryptoDataFormat.class),
         @XmlElement(required = false, name = "csv", type = CsvDataFormat.class),
         @XmlElement(required = false, name = "custom", type = CustomDataFormat.class),
@@ -98,7 +93,6 @@ public class UnmarshalDefinition extends NoOutputDefinition<UnmarshalDefinition>
         @XmlElement(required = false, name = "fhirXml", type = FhirXmlDataFormat.class),
         @XmlElement(required = false, name = "flatpack", type = FlatpackDataFormat.class),
         @XmlElement(required = false, name = "gzip", type = GzipDataFormat.class),
-        @XmlElement(required = false, name = "hessian", type = HessianDataFormat.class),
         @XmlElement(required = false, name = "hl7", type = HL7DataFormat.class),
         @XmlElement(required = false, name = "ical", type = IcalDataFormat.class),
         @XmlElement(required = false, name = "jacksonxml", type = JacksonXMLDataFormat.class),
@@ -118,8 +112,6 @@ public class UnmarshalDefinition extends NoOutputDefinition<UnmarshalDefinition>
         @XmlElement(required = false, name = "univocity-csv", type = UniVocityCsvDataFormat.class),
         @XmlElement(required = false, name = "univocity-fixed", type = UniVocityFixedWidthDataFormat.class),
         @XmlElement(required = false, name = "univocity-tsv", type = UniVocityTsvDataFormat.class),
-        @XmlElement(required = false, name = "xmlBeans", type = XMLBeansDataFormat.class),
-        @XmlElement(required = false, name = "xmljson", type = XmlJsonDataFormat.class),
         @XmlElement(required = false, name = "xmlrpc", type = XmlRpcDataFormat.class),
         @XmlElement(required = false, name = "xstream", type = XStreamDataFormat.class),
         @XmlElement(required = false, name = "pgp", type = PGPDataFormat.class),
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/CastorDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/CastorDataFormat.java
deleted file mode 100644
index f5be82f..0000000
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/CastorDataFormat.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model.dataformat;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.spi.DataFormat;
-import org.apache.camel.spi.Metadata;
-
-/**
- * Castor data format is used for unmarshal a XML payload to POJO or to marshal POJO back to XML payload.
- *
- * @version 
- */
-@Metadata(firstVersion = "2.1.0", label = "dataformat,transformation,xml", title = "Castor")
-@XmlRootElement(name = "castor")
-@XmlAccessorType(XmlAccessType.FIELD)
-@Deprecated
-public class CastorDataFormat extends DataFormatDefinition {
-    @XmlAttribute
-    private String mappingFile;
-    @XmlAttribute
-    @Metadata(defaultValue = "true")
-    private Boolean whitelistEnabled = true;
-    @XmlAttribute
-    private String allowedUnmarshallObjects;
-    @XmlAttribute
-    private String deniedUnmarshallObjects;
-    @XmlAttribute @Metadata(defaultValue = "true")
-    private Boolean validation;
-    @XmlAttribute @Metadata(defaultValue = "UTF-8")
-    private String encoding;
-    @XmlAttribute
-    private String[] packages;
-    @XmlAttribute
-    private String[] classes;
-
-    public CastorDataFormat() {
-        super("castor");
-    }
-
-    public Boolean getValidation() {
-        return validation;
-    }
-
-    /**
-     * Whether validation is turned on or off.
-     * <p/>
-     * Is by default true.
-     */
-    public void setValidation(Boolean validation) {
-        this.validation = validation;
-    }
-
-    public String getMappingFile() {
-        return mappingFile;
-    }
-
-    /**
-     * Path to a Castor mapping file to load from the classpath.
-     */
-    public void setMappingFile(String mappingFile) {
-        this.mappingFile = mappingFile;
-    }
-
-    public String[] getPackages() {
-        return packages;
-    }
-
-    /**
-     * Add additional packages to Castor XmlContext
-     */
-    public void setPackages(String[] packages) {
-        this.packages = packages;
-    }
-
-    public String[] getClasses() {
-        return classes;
-    }
-
-    /**
-     * Add additional class names to Castor XmlContext
-     */
-    public void setClasses(String[] classes) {
-        this.classes = classes;
-    }
-
-    public String getEncoding() {
-        return encoding;
-    }
-
-    /**
-     * Encoding to use when marshalling an Object to XML.
-     * <p/>
-     * Is by default UTF-8
-     */
-    public void setEncoding(String encoding) {
-        this.encoding = encoding;
-    }
-
-    public Boolean getWhitelistEnabled() {
-        return whitelistEnabled;
-    }
-
-    /**
-     * Define if Whitelist feature is enabled or not
-     */
-    public void setWhitelistEnabled(Boolean whitelistEnabled) {
-        this.whitelistEnabled = whitelistEnabled;
-    }
-
-    public String getAllowedUnmarshallObjects() {
-        return allowedUnmarshallObjects;
-    }
-
-    /**
-     * Define the allowed objects to be unmarshalled.
-     *
-     * You can specify the FQN class name of allowed objects, and you can use comma to separate multiple entries.
-     * It is also possible to use wildcards and regular expression which is based on the pattern
-     * defined by {@link org.apache.camel.util.EndpointHelper#matchPattern(String, String)}.
-     * Denied objects takes precedence over allowed objects.
-     */
-    public void setAllowedUnmarshallObjects(String allowedUnmarshallObjects) {
-        this.allowedUnmarshallObjects = allowedUnmarshallObjects;
-    }
-
-    public String getDeniedUnmarshallObjects() {
-        return deniedUnmarshallObjects;
-    }
-
-    /**
-     * Define the denied objects to be unmarshalled.
-     *
-     * You can specify the FQN class name of deined objects, and you can use comma to separate multiple entries.
-     * It is also possible to use wildcards and regular expression which is based on the pattern
-     * defined by {@link org.apache.camel.util.EndpointHelper#matchPattern(String, String)}.
-     * Denied objects takes precedence over allowed objects.
-     */
-    public void setDeniedUnmarshallObjects(String deniedUnmarshallObjects) {
-        this.deniedUnmarshallObjects = deniedUnmarshallObjects;
-    }
-
-    @Override
-    protected void configureDataFormat(DataFormat dataFormat, CamelContext camelContext) {
-        if (mappingFile != null) {
-            setProperty(camelContext, dataFormat, "mappingFile", mappingFile);
-        }
-        // should be true by default
-        boolean isValidation = getValidation() == null || getValidation();
-        setProperty(camelContext, dataFormat, "validation", isValidation);
-
-        if (encoding != null) {
-            setProperty(camelContext, dataFormat, "encoding", encoding);
-        }
-        if (packages != null) {
-            setProperty(camelContext, dataFormat, "packages", packages);
-        }
-        if (classes != null) {
-            setProperty(camelContext, dataFormat, "classes", classes);
-        }
-        if (whitelistEnabled != null) {
-            setProperty(camelContext, dataFormat, "whitelistEnabled", whitelistEnabled);
-        }
-        if (allowedUnmarshallObjects != null) {
-            setProperty(camelContext, dataFormat, "allowedUnmarshallObjects", allowedUnmarshallObjects);
-        }
-        if (deniedUnmarshallObjects != null) {
-            setProperty(camelContext, dataFormat, "deniedUnmarshallObjects", deniedUnmarshallObjects);
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
index 041c33c..1efc87c 100644
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/dataformat/DataFormatsDefinition.java
@@ -46,7 +46,6 @@ public class DataFormatsDefinition {
         @XmlElement(required = false, name = "beanio", type = BeanioDataFormat.class),
         @XmlElement(required = false, name = "bindy", type = BindyDataFormat.class),
         @XmlElement(required = false, name = "boon", type = BoonDataFormat.class),
-        @XmlElement(required = false, name = "castor", type = CastorDataFormat.class),
         @XmlElement(required = false, name = "crypto", type = CryptoDataFormat.class),
         @XmlElement(required = false, name = "csv", type = CsvDataFormat.class),
         // TODO: Camel 3.0 - Should be named customDataFormat to avoid naming clash with custom loadbalancer
@@ -55,7 +54,6 @@ public class DataFormatsDefinition {
         @XmlElement(required = false, name = "fhirXml", type = FhirXmlDataFormat.class),
         @XmlElement(required = false, name = "flatpack", type = FlatpackDataFormat.class),
         @XmlElement(required = false, name = "gzip", type = GzipDataFormat.class),
-        @XmlElement(required = false, name = "hessian", type = HessianDataFormat.class),
         @XmlElement(required = false, name = "hl7", type = HL7DataFormat.class),
         @XmlElement(required = false, name = "ical", type = IcalDataFormat.class),
         @XmlElement(required = false, name = "jacksonxml", type = JacksonXMLDataFormat.class),
@@ -77,8 +75,6 @@ public class DataFormatsDefinition {
         @XmlElement(required = false, name = "univocity-csv", type = UniVocityCsvDataFormat.class),
         @XmlElement(required = false, name = "univocity-fixed", type = UniVocityFixedWidthDataFormat.class),
         @XmlElement(required = false, name = "univocity-tsv", type = UniVocityTsvDataFormat.class),
-        @XmlElement(required = false, name = "xmlBeans", type = XMLBeansDataFormat.class),
-        @XmlElement(required = false, name = "xmljson", type = XmlJsonDataFormat.class),
         @XmlElement(required = false, name = "xmlrpc", type = XmlRpcDataFormat.class),
         @XmlElement(required = false, name = "xstream", type = XStreamDataFormat.class),
         @XmlElement(required = false, name = "pgp", type = PGPDataFormat.class),
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/HessianDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/HessianDataFormat.java
deleted file mode 100644
index f7b9ce0..0000000
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/HessianDataFormat.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model.dataformat;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.spi.Metadata;
-
-/**
- * Hessian data format is used for marshalling and unmarshalling messages using Caucho’s Hessian format.
- */
-@Metadata(firstVersion = "2.17.0", label = "dataformat,transformation", title = "Hessian")
-@XmlRootElement(name = "hessian")
-@XmlAccessorType(XmlAccessType.FIELD)
-@Deprecated
-public class HessianDataFormat extends DataFormatDefinition {
-    @XmlAttribute
-    @Metadata(defaultValue = "true")
-    private Boolean whitelistEnabled = true;
-    @XmlAttribute
-    private String allowedUnmarshallObjects;
-    @XmlAttribute
-    private String deniedUnmarshallObjects;
-    
-    public HessianDataFormat() {
-        super("hessian");
-    }
-
-    public Boolean getWhitelistEnabled() {
-        return whitelistEnabled;
-    }
-
-    /**
-    * Define if Whitelist feature is enabled or not
-    */
-    public void setWhitelistEnabled(Boolean whitelistEnabled) {
-        this.whitelistEnabled = whitelistEnabled;
-    }
-
-    public String getAllowedUnmarshallObjects() {
-        return allowedUnmarshallObjects;
-    }
-
-    /**
-    * Define the allowed objects to be unmarshalled
-    */
-    public void setAllowedUnmarshallObjects(String allowedUnmarshallObjects) {
-        this.allowedUnmarshallObjects = allowedUnmarshallObjects;
-    }
-
-    public String getDeniedUnmarshallObjects() {
-        return deniedUnmarshallObjects;
-    }
-
-    /**
-    * Define the denied objects to be unmarshalled
-    */
-    public void setDeniedUnmarshallObjects(String deniedUnmarshallObjects) {
-        this.deniedUnmarshallObjects = deniedUnmarshallObjects;
-    }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/XMLBeansDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/XMLBeansDataFormat.java
deleted file mode 100644
index caefc03..0000000
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/XMLBeansDataFormat.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model.dataformat;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.spi.Metadata;
-
-/**
- * XML Beans data format is used for unmarshal a XML payload to POJO or to marshal POJO back to XML payload.
- *
- * @version 
- */
-@Metadata(firstVersion = "1.2.0", label = "dataformat,transformation,xml", title = "XML Beans")
-@XmlRootElement(name = "xmlBeans")
-@XmlAccessorType(XmlAccessType.FIELD)
-@Deprecated
-public class XMLBeansDataFormat extends DataFormatDefinition {
-    @XmlAttribute
-    private Boolean prettyPrint;
-
-    public XMLBeansDataFormat() {
-        super("xmlBeans");
-    }
-
-    public Boolean getPrettyPrint() {
-        return prettyPrint;
-    }
-
-    /**
-     * To enable pretty printing output nicely formatted.
-     * <p/>
-     * Is by default false.
-     */
-    public void setPrettyPrint(Boolean prettyPrint) {
-        this.prettyPrint = prettyPrint;
-    }
-}
\ No newline at end of file
diff --git a/camel-core/src/main/java/org/apache/camel/model/dataformat/XmlJsonDataFormat.java b/camel-core/src/main/java/org/apache/camel/model/dataformat/XmlJsonDataFormat.java
deleted file mode 100644
index ecdcee8..0000000
--- a/camel-core/src/main/java/org/apache/camel/model/dataformat/XmlJsonDataFormat.java
+++ /dev/null
@@ -1,342 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model.dataformat;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlList;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.spi.DataFormat;
-import org.apache.camel.spi.Metadata;
-
-/**
- * XML JSon data format can convert from XML to JSON and vice-versa directly, without stepping through intermediate POJOs.
- *
- * @version 
- */
-@Metadata(firstVersion = "2.10.0", label = "dataformat,transformation,xml,json", title = "XML JSon")
-@XmlRootElement(name = "xmljson")
-@XmlAccessorType(XmlAccessType.FIELD)
-@Deprecated
-public class XmlJsonDataFormat extends DataFormatDefinition {
-    
-    public static final String TYPE_HINTS = "typeHints";
-    public static final String REMOVE_NAMESPACE_PREFIXES = "removeNamespacePrefixes";
-    public static final String SKIP_NAMESPACES = "skipNamespaces";
-    public static final String TRIM_SPACES = "trimSpaces";
-    public static final String SKIP_WHITESPACE = "skipWhitespace";
-    public static final String EXPANDABLE_PROPERTIES = "expandableProperties";
-    public static final String ARRAY_NAME = "arrayName";
-    public static final String ELEMENT_NAME = "elementName";
-    public static final String ROOT_NAME = "rootName";
-    public static final String NAMESPACE_LENIENT = "namespaceLenient";
-    public static final String FORCE_TOP_LEVEL_OBJECT = "forceTopLevelObject";
-    public static final String ENCODING = "encoding";
-    
-    @XmlAttribute
-    private String encoding;
-    @XmlAttribute
-    private String elementName;
-    @XmlAttribute
-    private String arrayName;
-    @XmlAttribute
-    private Boolean forceTopLevelObject;
-    @XmlAttribute
-    private Boolean namespaceLenient;
-    @XmlAttribute
-    private String rootName;
-    @XmlAttribute
-    private Boolean skipWhitespace;
-    @XmlAttribute
-    private Boolean trimSpaces;
-    @XmlAttribute
-    private Boolean skipNamespaces;
-    @XmlAttribute
-    private Boolean removeNamespacePrefixes;
-    @XmlAttribute @XmlList @Metadata(label = "advanced")
-    private List<String> expandableProperties;
-    @XmlAttribute
-    private String typeHints;
-
-    public XmlJsonDataFormat() {
-        super("xmljson");
-    }
-
-    public XmlJsonDataFormat(Map<String, String> options) {
-        super("xmljson");
-        if (options.containsKey(ENCODING)) {
-            encoding = options.get(ENCODING);
-        }
-        if (options.containsKey(FORCE_TOP_LEVEL_OBJECT)) {
-            forceTopLevelObject = Boolean.parseBoolean(options.get(FORCE_TOP_LEVEL_OBJECT));
-        }
-        if (options.containsKey(NAMESPACE_LENIENT)) {
-            namespaceLenient = Boolean.parseBoolean(options.get(NAMESPACE_LENIENT));
-        }
-        if (options.containsKey(ROOT_NAME)) {
-            rootName = options.get(ROOT_NAME);
-        }
-        if (options.containsKey(ELEMENT_NAME)) {
-            elementName = options.get(ELEMENT_NAME);
-        }
-        if (options.containsKey(ARRAY_NAME)) {
-            arrayName = options.get(ARRAY_NAME);
-        }
-        if (options.containsKey(EXPANDABLE_PROPERTIES)) {
-            expandableProperties = Arrays.asList(options.get(EXPANDABLE_PROPERTIES).split(" "));
-        }
-        if (options.containsKey(SKIP_WHITESPACE)) {
-            skipWhitespace = Boolean.parseBoolean(options.get(SKIP_WHITESPACE));
-        }
-        if (options.containsKey(TRIM_SPACES)) {
-            trimSpaces = Boolean.parseBoolean(options.get(TRIM_SPACES));
-        }
-        if (options.containsKey(SKIP_NAMESPACES)) {
-            skipNamespaces = Boolean.parseBoolean(options.get(SKIP_NAMESPACES));
-        }
-        if (options.containsKey(REMOVE_NAMESPACE_PREFIXES)) {
-            removeNamespacePrefixes = Boolean.parseBoolean(options.get(REMOVE_NAMESPACE_PREFIXES));
-        }
-        if (options.containsKey(TYPE_HINTS)) {
-            typeHints = options.get(TYPE_HINTS);
-        }
-    }
-
-    @Override
-    protected void configureDataFormat(DataFormat dataFormat, CamelContext camelContext) {
-        if (encoding != null) {
-            setProperty(camelContext, dataFormat, ENCODING, encoding);
-        }
-
-        if (forceTopLevelObject != null) {
-            setProperty(camelContext, dataFormat, FORCE_TOP_LEVEL_OBJECT, forceTopLevelObject);
-        }
-
-        if (namespaceLenient != null) {
-            setProperty(camelContext, dataFormat, NAMESPACE_LENIENT, namespaceLenient);
-        }
-
-        if (rootName != null) {
-            setProperty(camelContext, dataFormat, ROOT_NAME, rootName);
-        }
-        
-        if (elementName != null) {
-            setProperty(camelContext, dataFormat, ELEMENT_NAME, elementName);
-        }
-
-        if (arrayName != null) {
-            setProperty(camelContext, dataFormat, ARRAY_NAME, arrayName);
-        }
-
-        if (expandableProperties != null && expandableProperties.size() != 0) {
-            setProperty(camelContext, dataFormat, EXPANDABLE_PROPERTIES, expandableProperties);
-        }
-
-        if (skipWhitespace != null) {
-            setProperty(camelContext, dataFormat, SKIP_WHITESPACE, skipWhitespace);
-        }
-
-        if (trimSpaces != null) {
-            setProperty(camelContext, dataFormat, TRIM_SPACES, trimSpaces);
-        }
-
-        if (skipNamespaces != null) {
-            setProperty(camelContext, dataFormat, SKIP_NAMESPACES, skipNamespaces);
-        }
-
-        if (removeNamespacePrefixes != null) {
-            setProperty(camelContext, dataFormat, REMOVE_NAMESPACE_PREFIXES, removeNamespacePrefixes);
-        }
-
-        // will end up calling the setTypeHints(String s) which does the parsing from the Enum String key to the Enum value
-        if (typeHints != null) {
-            setProperty(camelContext, dataFormat, TYPE_HINTS, typeHints);
-        }
-
-        //TODO: xmljson: element-namespace mapping is not implemented in the XML DSL
-        // depending on adoption rate of this data format, we'll make this data format NamespaceAware so that it gets
-        // the prefix-namespaceURI mappings from the context, and with a new attribute called "namespacedElements",
-        // we'll associate named elements with prefixes following a format "element1:prefix1,element2:prefix2,..."
-    }
-
-    public String getEncoding() {
-        return encoding;
-    }
-
-    /**
-     * Sets the encoding.
-     * Used for unmarshalling (JSON to XML conversion).
-     */
-    public void setEncoding(String encoding) {
-        this.encoding = encoding;
-    }
-
-    public String getElementName() {
-        return elementName;
-    }
-
-    /**
-     * Specifies the name of the XML elements representing each array element.
-     * Used for unmarshalling (JSON to XML conversion).
-     */
-    public void setElementName(String elementName) {
-        this.elementName = elementName;
-    }
-
-    public String getArrayName() {
-        return arrayName;
-    }
-
-    /**
-     * Specifies the name of the top-level XML element.
-     * Used for unmarshalling (JSON to XML conversion).
-     *
-     * For example, when converting [1, 2, 3], it will be output by default as <a><e>1</e><e>2</e><e>3</e></a>.
-     * By setting this option or rootName, you can alter the name of element 'a'.
-     */
-    public void setArrayName(String arrayName) {
-        this.arrayName = arrayName;
-    }
-
-    public Boolean getForceTopLevelObject() {
-        return forceTopLevelObject;
-    }
-
-    /**
-     * Determines whether the resulting JSON will start off with a top-most element whose name matches the XML root element.
-     * Used for marshalling (XML to JSon conversion).
-     *
-     * If disabled, XML string <a><x>1</x><y>2</y></a> turns into { 'x: '1', 'y': '2' }.
-     * Otherwise, it turns into { 'a': { 'x: '1', 'y': '2' }}.
-     */
-    public void setForceTopLevelObject(Boolean forceTopLevelObject) {
-        this.forceTopLevelObject = forceTopLevelObject;
-    }
-
-    public Boolean getNamespaceLenient() {
-        return namespaceLenient;
-    }
-
-    /**
-     * Flag to be tolerant to incomplete namespace prefixes.
-     * Used for unmarshalling (JSON to XML conversion).
-     * In most cases, json-lib automatically changes this flag at runtime to match the processing.
-     */
-    public void setNamespaceLenient(Boolean namespaceLenient) {
-        this.namespaceLenient = namespaceLenient;
-    }
-
-    public String getRootName() {
-        return rootName;
-    }
-
-    /**
-     * Specifies the name of the top-level element.
-     * Used for unmarshalling (JSON to XML conversion).
-     *
-     * If not set, json-lib will use arrayName or objectName (default value: 'o', at the current time it is not configurable in this data format).
-     * If set to 'root', the JSON string { 'x': 'value1', 'y' : 'value2' } would turn
-     * into <root><x>value1</x><y>value2</y></root>, otherwise the 'root' element would be named 'o'.
-     */
-    public void setRootName(String rootName) {
-        this.rootName = rootName;
-    }
-
-    public Boolean getSkipWhitespace() {
-        return skipWhitespace;
-    }
-
-    /**
-     * Determines whether white spaces between XML elements will be regarded as text values or disregarded.
-     * Used for marshalling (XML to JSon conversion).
-     */
-    public void setSkipWhitespace(Boolean skipWhitespace) {
-        this.skipWhitespace = skipWhitespace;
-    }
-
-    public Boolean getTrimSpaces() {
-        return trimSpaces;
-    }
-
-    /**
-     * Determines whether leading and trailing white spaces will be omitted from String values.
-     * Used for marshalling (XML to JSon conversion).
-     */
-    public void setTrimSpaces(Boolean trimSpaces) {
-        this.trimSpaces = trimSpaces;
-    }
-
-    public Boolean getSkipNamespaces() {
-        return skipNamespaces;
-    }
-
-    /**
-     * Signals whether namespaces should be ignored. By default they will be added to the JSON output using @xmlns elements.
-     * Used for marshalling (XML to JSon conversion).
-     */
-    public void setSkipNamespaces(Boolean skipNamespaces) {
-        this.skipNamespaces = skipNamespaces;
-    }
-
-    public Boolean getRemoveNamespacePrefixes() {
-        return removeNamespacePrefixes;
-    }
-
-    /**
-     * Removes the namespace prefixes from XML qualified elements, so that the resulting JSON string does not contain them.
-     * Used for marshalling (XML to JSon conversion).
-     */
-    public void setRemoveNamespacePrefixes(Boolean removeNamespacePrefixes) {
-        this.removeNamespacePrefixes = removeNamespacePrefixes;
-    }
-
-    public List<String> getExpandableProperties() {
-        return expandableProperties;
-    }
-
-    /**
-     * With expandable properties, JSON array elements are converted to XML as a sequence of repetitive XML elements
-     * with the local name equal to the JSON key, for example: { number: 1,2,3 }, normally converted to:
-     * <number><e>1</e><e>2</e><e>3</e></number> (where e can be modified by setting elementName), would instead
-     * translate to <number>1</number><number>2</number><number>3</number>, if "number" is set as an expandable property
-     * Used for unmarshalling (JSON to XML conversion).
-     */
-    public void setExpandableProperties(List<String> expandableProperties) {
-        this.expandableProperties = expandableProperties;
-    }
-
-    public String getTypeHints() {
-        return typeHints;
-    }
-
-    /**
-     * Adds type hints to the resulting XML to aid conversion back to JSON.
-     * Used for unmarshalling (JSON to XML conversion).
-     */
-    public void setTypeHints(String typeHints) {
-        this.typeHints = typeHints;
-    }
-
-}
diff --git a/camel-core/src/main/java/org/apache/camel/model/language/ELExpression.java b/camel-core/src/main/java/org/apache/camel/model/language/ELExpression.java
deleted file mode 100644
index d2b9632..0000000
--- a/camel-core/src/main/java/org/apache/camel/model/language/ELExpression.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model.language;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.camel.spi.Metadata;
-
-/**
- * To use EL scripts in Camel expressions or predicates.
- *
- * @version 
- */
-@Metadata(firstVersion = "1.1.0", label = "language,script", title = "EL")
-@XmlRootElement(name = "el")
-@XmlAccessorType(XmlAccessType.FIELD)
-@Deprecated
-public class ELExpression extends ExpressionDefinition {
-
-    public ELExpression() {
-    }
-
-    public ELExpression(String expression) {
-        super(expression);
-    }
-
-    public String getLanguage() {
-        return "el";
-    }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/model/language/JXPathExpression.java b/camel-core/src/main/java/org/apache/camel/model/language/JXPathExpression.java
deleted file mode 100644
index 25e0dee..0000000
--- a/camel-core/src/main/java/org/apache/camel/model/language/JXPathExpression.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model.language;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Expression;
-import org.apache.camel.Predicate;
-import org.apache.camel.spi.Metadata;
-
-/**
- * To use JXPath in Camel expressions or predicates.
- *
- * @version 
- */
-@Metadata(firstVersion = "1.3.0", label = "language,java", title = "JXPath")
-@XmlRootElement(name = "jxpath")
-@XmlAccessorType(XmlAccessType.FIELD)
-@Deprecated
-public class JXPathExpression extends ExpressionDefinition {
-
-    @XmlAttribute @Metadata(defaultValue = "false")
-    private Boolean lenient;
-
-    public JXPathExpression() {
-    }
-
-    public JXPathExpression(String expression) {
-        super(expression);
-    }
-
-    public String getLanguage() {
-        return "jxpath";
-    }
-
-    public Boolean getLenient() {
-        return lenient;
-    }
-
-    /**
-     * Allows to turn lenient on the JXPathContext.
-     * When turned on this allows the JXPath expression to evaluate against expressions and message bodies which may
-     * be invalid / missing data.
-     * <p/>
-     * This option is by default false
-     */
-    public void setLenient(Boolean lenient) {
-        this.lenient = lenient;
-    }
-
-    @Override
-    protected void configureExpression(CamelContext camelContext, Expression expression) {
-        if (lenient != null) {
-            setProperty(expression, "lenient", lenient);
-        }
-        super.configureExpression(camelContext, expression);
-    }
-
-    @Override
-    protected void configurePredicate(CamelContext camelContext, Predicate predicate) {
-        if (lenient != null) {
-            setProperty(predicate, "lenient", lenient);
-        }
-        super.configurePredicate(camelContext, predicate);
-    }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/model/language/PhpExpression.java b/camel-core/src/main/java/org/apache/camel/model/language/PhpExpression.java
deleted file mode 100644
index ef9550f..0000000
--- a/camel-core/src/main/java/org/apache/camel/model/language/PhpExpression.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model.language;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.camel.spi.Metadata;
-
-/**
- * To use PHP scripts in Camel expressions or predicates.
- *
- * @version 
- */
-@Metadata(firstVersion = "1.0.0", label = "language,script", title = "PHP")
-@XmlRootElement(name = "php")
-@XmlAccessorType(XmlAccessType.FIELD)
-@Deprecated
-public class PhpExpression extends ExpressionDefinition {
-
-    public PhpExpression() {
-    }
-
-    public PhpExpression(String expression) {
-        super(expression);
-    }
-
-    public String getLanguage() {
-        return "php";
-    }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/model/language/PythonExpression.java b/camel-core/src/main/java/org/apache/camel/model/language/PythonExpression.java
deleted file mode 100644
index 298f51f..0000000
--- a/camel-core/src/main/java/org/apache/camel/model/language/PythonExpression.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model.language;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.camel.spi.Metadata;
-
-/**
- * To use Python scripts in Camel expressions or predicates.
- *
- * @version 
- */
-@Metadata(firstVersion = "1.0.0", label = "language,script", title = "Python")
-@XmlRootElement(name = "python")
-@XmlAccessorType(XmlAccessType.FIELD)
-@Deprecated
-public class PythonExpression extends ExpressionDefinition {
-
-    public PythonExpression() {
-    }
-
-    public PythonExpression(String expression) {
-        super(expression);
-    }
-
-    public String getLanguage() {
-        return "python";
-    }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/model/language/RubyExpression.java b/camel-core/src/main/java/org/apache/camel/model/language/RubyExpression.java
deleted file mode 100644
index ae141db..0000000
--- a/camel-core/src/main/java/org/apache/camel/model/language/RubyExpression.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model.language;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.camel.spi.Metadata;
-
-/**
- * To use Ruby scripts in Camel expressions or predicates.
- *
- * @version 
- */
-@Metadata(firstVersion = "1.0.0", label = "language,script", title = "Ruby")
-@XmlRootElement(name = "ruby")
-@XmlAccessorType(XmlAccessType.FIELD)
-@Deprecated
-public class RubyExpression extends ExpressionDefinition {
-
-    public RubyExpression() {
-    }
-
-    public RubyExpression(String expression) {
-        super(expression);
-    }
-
-    public String getLanguage() {
-        return "ruby";
-    }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/model/language/SqlExpression.java b/camel-core/src/main/java/org/apache/camel/model/language/SqlExpression.java
deleted file mode 100644
index e75ca44..0000000
--- a/camel-core/src/main/java/org/apache/camel/model/language/SqlExpression.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.model.language;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.camel.spi.Metadata;
-
-/**
- * To use SQL (on Java beans) in Camel expressions or predicates.
- *
- * @version 
- */
-@Metadata(firstVersion = "1.0.0", label = "language", title = "SQL")
-@XmlRootElement(name = "sql")
-@XmlAccessorType(XmlAccessType.FIELD)
-@Deprecated
-public class SqlExpression extends ExpressionDefinition {
-
-    public SqlExpression() {
-    }
-
-    public SqlExpression(String expression) {
-        super(expression);
-    }
-
-    public String getLanguage() {
-        return "sql";
-    }
-}
diff --git a/camel-core/src/main/java/org/apache/camel/model/transformer/DataFormatTransformerDefinition.java b/camel-core/src/main/java/org/apache/camel/model/transformer/DataFormatTransformerDefinition.java
index ef41ba8..e4cacd0 100644
--- a/camel-core/src/main/java/org/apache/camel/model/transformer/DataFormatTransformerDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/transformer/DataFormatTransformerDefinition.java
@@ -33,7 +33,6 @@ import org.apache.camel.model.dataformat.Base64DataFormat;
 import org.apache.camel.model.dataformat.BeanioDataFormat;
 import org.apache.camel.model.dataformat.BindyDataFormat;
 import org.apache.camel.model.dataformat.BoonDataFormat;
-import org.apache.camel.model.dataformat.CastorDataFormat;
 import org.apache.camel.model.dataformat.CryptoDataFormat;
 import org.apache.camel.model.dataformat.CsvDataFormat;
 import org.apache.camel.model.dataformat.CustomDataFormat;
@@ -42,7 +41,6 @@ import org.apache.camel.model.dataformat.FhirXmlDataFormat;
 import org.apache.camel.model.dataformat.FlatpackDataFormat;
 import org.apache.camel.model.dataformat.GzipDataFormat;
 import org.apache.camel.model.dataformat.HL7DataFormat;
-import org.apache.camel.model.dataformat.HessianDataFormat;
 import org.apache.camel.model.dataformat.IcalDataFormat;
 import org.apache.camel.model.dataformat.JacksonXMLDataFormat;
 import org.apache.camel.model.dataformat.JaxbDataFormat;
@@ -63,10 +61,8 @@ import org.apache.camel.model.dataformat.TidyMarkupDataFormat;
 import org.apache.camel.model.dataformat.UniVocityCsvDataFormat;
 import org.apache.camel.model.dataformat.UniVocityFixedWidthDataFormat;
 import org.apache.camel.model.dataformat.UniVocityTsvDataFormat;
-import org.apache.camel.model.dataformat.XMLBeansDataFormat;
 import org.apache.camel.model.dataformat.XMLSecurityDataFormat;
 import org.apache.camel.model.dataformat.XStreamDataFormat;
-import org.apache.camel.model.dataformat.XmlJsonDataFormat;
 import org.apache.camel.model.dataformat.XmlRpcDataFormat;
 import org.apache.camel.model.dataformat.YAMLDataFormat;
 import org.apache.camel.model.dataformat.ZipDataFormat;
@@ -95,7 +91,6 @@ public class DataFormatTransformerDefinition extends TransformerDefinition {
         @XmlElement(required = false, name = "beanio", type = BeanioDataFormat.class),
         @XmlElement(required = false, name = "bindy", type = BindyDataFormat.class),
         @XmlElement(required = false, name = "boon", type = BoonDataFormat.class),
-        @XmlElement(required = false, name = "castor", type = CastorDataFormat.class),
         @XmlElement(required = false, name = "crypto", type = CryptoDataFormat.class),
         @XmlElement(required = false, name = "csv", type = CsvDataFormat.class),
         // TODO: Camel 3.0 - Should be named customDataFormat to avoid naming clash with custom loadbalancer
@@ -104,7 +99,6 @@ public class DataFormatTransformerDefinition extends TransformerDefinition {
         @XmlElement(required = false, name = "fhirXml", type = FhirXmlDataFormat.class),
         @XmlElement(required = false, name = "flatpack", type = FlatpackDataFormat.class),
         @XmlElement(required = false, name = "gzip", type = GzipDataFormat.class),
-        @XmlElement(required = false, name = "hessian", type = HessianDataFormat.class),
         @XmlElement(required = false, name = "hl7", type = HL7DataFormat.class),
         @XmlElement(required = false, name = "ical", type = IcalDataFormat.class),
         @XmlElement(required = false, name = "jacksonxml", type = JacksonXMLDataFormat.class),
@@ -126,8 +120,6 @@ public class DataFormatTransformerDefinition extends TransformerDefinition {
         @XmlElement(required = false, name = "univocity-csv", type = UniVocityCsvDataFormat.class),
         @XmlElement(required = false, name = "univocity-fixed", type = UniVocityFixedWidthDataFormat.class),
         @XmlElement(required = false, name = "univocity-tsv", type = UniVocityTsvDataFormat.class),
-        @XmlElement(required = false, name = "xmlBeans", type = XMLBeansDataFormat.class),
-        @XmlElement(required = false, name = "xmljson", type = XmlJsonDataFormat.class),
         @XmlElement(required = false, name = "xmlrpc", type = XmlRpcDataFormat.class),
         @XmlElement(required = false, name = "xstream", type = XStreamDataFormat.class),
         @XmlElement(required = false, name = "pgp", type = PGPDataFormat.class),
diff --git a/camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index b/camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index
index 01af6da..26d0501 100644
--- a/camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index
+++ b/camel-core/src/main/resources/org/apache/camel/model/dataformat/jaxb.index
@@ -20,7 +20,6 @@ Base64DataFormat
 BeanioDataFormat
 BindyDataFormat
 BindyType
-CastorDataFormat
 CryptoDataFormat
 CsvDataFormat
 CustomDataFormat
@@ -29,7 +28,6 @@ FhirJsonDataFormat
 FhirXmlDataFormat
 FlatpackDataFormat
 GzipDataFormat
-HessianDataFormat
 HL7DataFormat
 IcalDataFormat
 JaxbDataFormat
@@ -51,7 +49,6 @@ UniVocityCsvDataFormat
 UniVocityFixedWidthDataFormat
 UniVocityHeader
 UniVocityTsvDataFormat
-XMLBeansDataFormat
 XMLSecurityDataFormat
 XStreamDataFormat
 YAMLDataFormat
diff --git a/camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index b/camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index
index 2a1c81b..23148e5 100644
--- a/camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index
+++ b/camel-core/src/main/resources/org/apache/camel/model/language/jaxb.index
@@ -15,25 +15,19 @@
 ## limitations under the License.
 ## ------------------------------------------------------------------------
 ConstantExpression
-ELExpression
 ExchangePropertyExpression
 ExpressionDefinition
 GroovyExpression
 HeaderExpression
 JavaScriptExpression
 JsonPathExpression
-JXPathExpression
 LanguageExpression
 MethodCallExpression
 MvelExpression
 OgnlExpression
-PhpExpression
-PythonExpression
 RefExpression
-RubyExpression
 SimpleExpression
 SpELExpression
-SqlExpression
 TerserExpression
 TokenizerExpression
 XMLTokenizerExpression
diff --git a/camel-core/src/test/java/org/apache/camel/model/XmlParseTest.java b/camel-core/src/test/java/org/apache/camel/model/XmlParseTest.java
index 3557f6f..18ef153 100644
--- a/camel-core/src/test/java/org/apache/camel/model/XmlParseTest.java
+++ b/camel-core/src/test/java/org/apache/camel/model/XmlParseTest.java
@@ -16,8 +16,9 @@
  */
 package org.apache.camel.model;
 
-import java.util.List;
+import org.junit.Test;
 
+import java.util.List;
 import javax.xml.bind.JAXBException;
 
 import org.apache.camel.model.language.ExpressionDefinition;
@@ -27,7 +28,6 @@ import org.apache.camel.model.loadbalancer.RandomLoadBalancerDefinition;
 import org.apache.camel.model.loadbalancer.RoundRobinLoadBalancerDefinition;
 import org.apache.camel.model.loadbalancer.StickyLoadBalancerDefinition;
 import org.apache.camel.model.loadbalancer.TopicLoadBalancerDefinition;
-import org.junit.Test;
 
 /**
  * @version 
@@ -66,11 +66,11 @@ public class XmlParseTest extends XmlTestSupport {
     }
 
     @Test
-    public void testParseProcessorWithElFilterXml() throws Exception {
-        RouteDefinition route = assertOneRoute("processorWithElFilter.xml");
+    public void testParseProcessorWithSimpleFilterXml() throws Exception {
+        RouteDefinition route = assertOneRoute("processorWithSimpleFilter.xml");
         assertFrom(route, "seda:a");
         FilterDefinition filter = assertOneProcessorInstanceOf(FilterDefinition.class, route);
-        assertExpression(filter.getExpression(), "el", "$in.header.foo == 'bar'");
+        assertExpression(filter.getExpression(), "simple", "${in.header.foo} == 'bar'");
     }
 
     @Test
@@ -315,12 +315,6 @@ public class XmlParseTest extends XmlTestSupport {
     }
 
     @Test
-    public void testParseXMLBeansDataFormat() throws Exception {
-        RouteDefinition route = assertOneRoute("routeWithXMLBeansDataFormat.xml");
-        assertFrom(route, "seda:a");
-    }
-
-    @Test
     public void testParseXMLSecurityDataFormat() throws Exception {
         RouteDefinition route = assertOneRoute("routeWithXMLSecurityDataFormat.xml");
         assertFrom(route, "seda:a");
@@ -375,12 +369,6 @@ public class XmlParseTest extends XmlTestSupport {
     }
 
     @Test
-    public void testParseCastorDataFormat() throws Exception {
-        RouteDefinition route = assertOneRoute("routeWithCastorDataFormat.xml");
-        assertFrom(route, "seda:a");
-    }
-
-    @Test
     public void testParseBatchResequencerXml() throws Exception {
         RouteDefinition route = assertOneRoute("resequencerBatch.xml");
         ResequenceDefinition resequencer = assertOneProcessorInstanceOf(ResequenceDefinition.class, route);
diff --git a/camel-core/src/test/resources/org/apache/camel/model/processorWithElFilter.xml b/camel-core/src/test/resources/org/apache/camel/model/processorWithSimpleFilter.xml
similarity index 95%
rename from camel-core/src/test/resources/org/apache/camel/model/processorWithElFilter.xml
rename to camel-core/src/test/resources/org/apache/camel/model/processorWithSimpleFilter.xml
index d00bc45..e5d5884 100644
--- a/camel-core/src/test/resources/org/apache/camel/model/processorWithElFilter.xml
+++ b/camel-core/src/test/resources/org/apache/camel/model/processorWithSimpleFilter.xml
@@ -21,7 +21,7 @@
   <route>
     <from uri="seda:a"/>
     <filter>
-      <el>$in.header.foo == 'bar'</el>
+      <simple>${in.header.foo} == 'bar'</simple>
       <process ref="myProcessor"/>
     </filter>
   </route>
diff --git a/camel-core/src/test/resources/org/apache/camel/model/routeWithCastorDataFormat.xml b/camel-core/src/test/resources/org/apache/camel/model/routeWithCastorDataFormat.xml
deleted file mode 100644
index 14996cf..0000000
--- a/camel-core/src/test/resources/org/apache/camel/model/routeWithCastorDataFormat.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<routes id="camel" xmlns="http://camel.apache.org/schema/spring">
-    <route>
-        <from uri="seda:a"/>
-        <pipeline>
-            <marshal>
-                <castor/>
-            </marshal>
-            <to uri="seda:b"/>
-        </pipeline>
-    </route>
-</routes>
diff --git a/camel-core/src/test/resources/org/apache/camel/model/routeWithXMLBeansDataFormat.xml b/camel-core/src/test/resources/org/apache/camel/model/routeWithXMLBeansDataFormat.xml
deleted file mode 100644
index 1e20138..0000000
--- a/camel-core/src/test/resources/org/apache/camel/model/routeWithXMLBeansDataFormat.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<routes id="camel" xmlns="http://camel.apache.org/schema/spring">
-    <route>
-        <from uri="seda:a"/>
-        <pipeline>
-            <marshal>
-                <xmlBeans/>
-            </marshal>
-            <to uri="seda:b"/>
-        </pipeline>
-    </route>
-</routes>
diff --git a/components/camel-avro/pom.xml b/components/camel-avro/pom.xml
index eb3985d..204ca18 100644
--- a/components/camel-avro/pom.xml
+++ b/components/camel-avro/pom.xml
@@ -128,11 +128,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-juel</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
             <artifactId>camel-spring</artifactId>
             <scope>test</scope>
         </dependency>
diff --git a/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroHttpConsumerTest.java b/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroHttpConsumerTest.java
index 8bec47d..07987e2 100644
--- a/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroHttpConsumerTest.java
+++ b/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroHttpConsumerTest.java
@@ -56,8 +56,8 @@ public class AvroHttpConsumerTest extends AvroConsumerTestSupport {
 
                 //In Only
                 from("avro:http:localhost:" + avroPort + "?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol").choice()
-                        .when().el("${in.headers." + AvroConstants.AVRO_MESSAGE_NAME + " == 'put'}").process(new PutProcessor(keyValue))
-                        .when().el("${in.headers." + AvroConstants.AVRO_MESSAGE_NAME + " == 'get'}").process(new GetProcessor(keyValue));
+                        .when().simple("${in.headers." + AvroConstants.AVRO_MESSAGE_NAME + " == 'put'}").process(new PutProcessor(keyValue))
+                        .when().simple("${in.headers." + AvroConstants.AVRO_MESSAGE_NAME + " == 'get'}").process(new GetProcessor(keyValue));
 
                 from("avro:http:localhost:" + avroPortMessageInRoute + "/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
                         .process(new PutProcessor(keyValue));
diff --git a/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroNettyConsumerTest.java b/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroNettyConsumerTest.java
index 2156241..186b475 100644
--- a/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroNettyConsumerTest.java
+++ b/components/camel-avro/src/test/java/org/apache/camel/component/avro/AvroNettyConsumerTest.java
@@ -54,8 +54,8 @@ public class AvroNettyConsumerTest extends AvroConsumerTestSupport {
             public void configure() throws Exception {
                 //In Only
                 from("avro:netty:localhost:" + avroPort + "?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol").choice()
-                        .when().el("${in.headers." + AvroConstants.AVRO_MESSAGE_NAME + " == 'put'}").process(new PutProcessor(keyValue))
-                        .when().el("${in.headers." + AvroConstants.AVRO_MESSAGE_NAME + " == 'get'}").process(new GetProcessor(keyValue));
+                        .when().simple("${in.headers." + AvroConstants.AVRO_MESSAGE_NAME + " == 'put'}").process(new PutProcessor(keyValue))
+                        .when().simple("${in.headers." + AvroConstants.AVRO_MESSAGE_NAME + " == 'get'}").process(new GetProcessor(keyValue));
 
                 from("avro:netty:localhost:" + avroPortMessageInRoute + "/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol")
                         .process(new PutProcessor(keyValue));
diff --git a/components/camel-castor/pom.xml b/components/camel-castor/pom.xml
deleted file mode 100644
index f2fd879..0000000
--- a/components/camel-castor/pom.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>components</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>camel-castor</artifactId>
-    <packaging>jar</packaging>
-    <name>Camel :: Castor (deprecated)</name>
-    <description>Camel Castor data format support</description>
-
-    <properties>
-        <camel.osgi.export.pkg>org.apache.camel.dataformat.castor.*</camel.osgi.export.pkg>
-        <camel.osgi.import.before.defaults>org.exolab.castor.*;version="[1.2.0,2)"</camel.osgi.import.before.defaults>
-        <camel.osgi.export.service>org.apache.camel.spi.DataFormatResolver;dataformat=castor</camel.osgi.export.service>
-    </properties>
-
-    <dependencies>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.castor</groupId>
-            <artifactId>castor-xml</artifactId>
-        </dependency>
-
-        <!-- testing -->
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-spring</artifactId>
-            <scope>test</scope>
-        </dependency>        
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-api</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-slf4j-impl</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-    </dependencies>
-
-</project>
diff --git a/components/camel-castor/src/main/docs/castor-dataformat.adoc b/components/camel-castor/src/main/docs/castor-dataformat.adoc
deleted file mode 100644
index f7d65f7..0000000
--- a/components/camel-castor/src/main/docs/castor-dataformat.adoc
+++ /dev/null
@@ -1,168 +0,0 @@
-[[castor-dataformat]]
-== Castor DataFormat (deprecated)
-
-*Available as of Camel version 2.1*
-
-Castor is a Data Format which uses the
-http://www.castor.org/[Castor XML library] to unmarshal an XML payload
-into Java objects or to marshal Java objects into an XML payload.
-
-As usually you can use either Java DSL or Spring XML to work with Castor
-Data Format.
-
-### Using the Java DSL
-
-[source,java]
------------------------------
-from("direct:order").
-  marshal().castor().
-  to("activemq:queue:order");
------------------------------
-
-For example the following uses a named DataFormat of Castor which uses
-default Castor data binding features.
-
-[source,java]
---------------------------------------------------
-CastorDataFormat castor = new CastorDataFormat ();
-
-from("activemq:My.Queue").
-  unmarshal(castor).
-  to("mqseries:Another.Queue");
---------------------------------------------------
-
-If you prefer to use a named reference to a data format which can then
-be defined in your Registry such as via your Spring XML file. e.g.
-
-[source,java]
--------------------------------
-from("activemq:My.Queue").
-  unmarshal("mycastorType").
-  to("mqseries:Another.Queue");
--------------------------------
-
-If you want to override default mapping schema by providing a mapping
-file you can set it as follows.
-
-[source,java]
---------------------------------------------------
-CastorDataFormat castor = new CastorDataFormat ();
-castor.setMappingFile("mapping.xml");
---------------------------------------------------
-
-Also if you want to have more control on Castor Marshaller and
-Unmarshaller you can access them as below.
-
-[source,java]
--------------------------
-castor.getMarshaller();
-castor.getUnmarshaller();
--------------------------
-
-### Using Spring XML
-
-The following example shows how to use Castor to unmarshal using Spring
-configuring the castor data type
-
-[source,java]
------------------------------------------------------------------------
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-  <route>
-    <from uri="direct:start"/>
-    <unmarshal>
-      <castor validation="true" />
-    </unmarshal>
-    <to uri="mock:result"/>
-  </route>
-</camelContext>
------------------------------------------------------------------------
-
-This example shows how to configure the data type just once and reuse it
-on multiple routes. You have to set the <castor> element directly in
-<camelContext>.
-
-[source,java]
------------------------------------------------------------------------
-<camelContext>
-<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-  <dataFormats>
-    <castor id="myCastor"/>
-  </dataFormats>
-
-  <route>
-    <from uri="direct:start"/>
-    <marshal ref="myCastor"/>
-    <to uri="direct:marshalled"/>
-  </route>
-  <route>
-    <from uri="direct:marshalled"/>
-    <unmarshal ref="myCastor"/>
-    <to uri="mock:result"/>
-  </route>
-
-</camelContext>
------------------------------------------------------------------------
-
-### Options
-
-// dataformat options: START
-The Castor dataformat supports 9 options, which are listed below.
-
-
-
-[width="100%",cols="2s,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| mappingFile |  | String | Path to a Castor mapping file to load from the classpath.
-| whitelistEnabled | true | Boolean | Define if Whitelist feature is enabled or not
-| allowedUnmarshallObjects |  | String | Define the allowed objects to be unmarshalled. You can specify the FQN class name of allowed objects, and you can use comma to separate multiple entries. It is also possible to use wildcards and regular expression which is based on the pattern defined by link org.apache.camel.util.EndpointHelper#matchPattern(String, String). Denied objects takes precedence over allowed objects.
-| deniedUnmarshallObjects |  | String | Define the denied objects to be unmarshalled. You can specify the FQN class name of deined objects, and you can use comma to separate multiple entries. It is also possible to use wildcards and regular expression which is based on the pattern defined by link org.apache.camel.util.EndpointHelper#matchPattern(String, String). Denied objects takes precedence over allowed objects.
-| validation | true | Boolean | Whether validation is turned on or off. Is by default true.
-| encoding | UTF-8 | String | Encoding to use when marshalling an Object to XML. Is by default UTF-8
-| packages |  | String[] | Add additional packages to Castor XmlContext
-| classes |  | String[] | Add additional class names to Castor XmlContext
-| contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc.
-|===
-// dataformat options: END
-// spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
-
-
-The component supports 10 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *camel.dataformat.castor.allowed-unmarshall-objects* | Define the allowed objects to be unmarshalled. You can specify the FQN class name of allowed objects, and you can use comma to separate multiple entries. It is also possible to use wildcards and regular expression which is based on the pattern defined by link org.apache.camel.util.EndpointHelper#matchPattern(String, String). Denied objects takes precedence over allowed objects. |  | String
-| *camel.dataformat.castor.classes* | Add additional class names to Castor XmlContext |  | String[]
-| *camel.dataformat.castor.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
-| *camel.dataformat.castor.denied-unmarshall-objects* | Define the denied objects to be unmarshalled. You can specify the FQN class name of deined objects, and you can use comma to separate multiple entries. It is also possible to use wildcards and regular expression which is based on the pattern defined by link org.apache.camel.util.EndpointHelper#matchPattern(String, String). Denied objects takes precedence over allowed objects. |  | String
-| *camel.dataformat.castor.enabled* | Enable castor dataformat | true | Boolean
-| *camel.dataformat.castor.encoding* | Encoding to use when marshalling an Object to XML. Is by default UTF-8 | UTF-8 | String
-| *camel.dataformat.castor.mapping-file* | Path to a Castor mapping file to load from the classpath. |  | String
-| *camel.dataformat.castor.packages* | Add additional packages to Castor XmlContext |  | String[]
-| *camel.dataformat.castor.validation* | Whether validation is turned on or off. Is by default true. | true | Boolean
-| *camel.dataformat.castor.whitelist-enabled* | Define if Whitelist feature is enabled or not | true | Boolean
-|===
-// spring-boot-auto-configure options: END
-ND
-
-### Dependencies
-
-To use Castor in your camel routes you need to add the a dependency on
-*camel-castor* which implements this data format.
-
-If you use maven you could just add the following to your pom.xml,
-substituting the version number for the latest & greatest release (see
-the download page for the latest versions).
-
-[source,java]
----------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-castor</artifactId>
-  <version>x.x.x</version>
-</dependency>
----------------------------------------
diff --git a/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/AbstractCastorDataFormat.java b/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/AbstractCastorDataFormat.java
deleted file mode 100644
index 951ff76..0000000
--- a/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/AbstractCastorDataFormat.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.castor;
-
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-import java.io.Reader;
-import java.io.Writer;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.CamelContextAware;
-import org.apache.camel.Exchange;
-import org.apache.camel.spi.ClassResolver;
-import org.apache.camel.spi.DataFormat;
-import org.apache.camel.spi.DataFormatName;
-import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.CollectionStringBuffer;
-import org.apache.camel.util.ObjectHelper;
-import org.exolab.castor.mapping.Mapping;
-import org.exolab.castor.xml.Marshaller;
-import org.exolab.castor.xml.Unmarshaller;
-import org.exolab.castor.xml.XMLContext;
-
-/**
- * An abstract class which implement <a
- * href="http://camel.apache.org/data-format.html">data format</a> ({@link DataFormat})
- * interface which leverage the Castor library for XML marshaling and
- * unmarshaling
- */
-public abstract class AbstractCastorDataFormat extends ServiceSupport implements DataFormat, DataFormatName, CamelContextAware {
-
-    /**
-     * The default encoding used for stream access.
-     */
-    public static final String DEFAULT_ENCODING = "UTF-8";
-
-    private CamelContext camelContext;
-    private String encoding = DEFAULT_ENCODING;
-    private String mappingFile;
-    private String[] classNames;
-    private String[] packages;
-    private boolean validation;
-    private volatile XMLContext xmlContext;
-    private boolean contentTypeHeader = true;
-    private boolean whitlistEnabled = true;
-    private String allowedUnmarshallObjects;
-    private String deniedUnmarshallObjects;
-
-    public AbstractCastorDataFormat() {
-    }
-
-    public AbstractCastorDataFormat(XMLContext xmlContext) {
-        this.xmlContext = xmlContext;
-    }
-
-    @Override
-    public String getDataFormatName() {
-        return "castor";
-    }
-
-    public void marshal(Exchange exchange, Object body, OutputStream outputStream) throws Exception {
-        Writer writer = new OutputStreamWriter(outputStream, encoding);
-
-        Marshaller marshaller = createMarshaller(exchange);
-        marshaller.setWriter(writer);
-        marshaller.marshal(body);
-
-        if (contentTypeHeader) {
-            if (exchange.hasOut()) {
-                exchange.getOut().setHeader(Exchange.CONTENT_TYPE, "application/xml");
-            } else {
-                exchange.getIn().setHeader(Exchange.CONTENT_TYPE, "application/xml");
-            }
-        }
-    }
-
-    public Object unmarshal(Exchange exchange, InputStream inputStream) throws Exception {
-        Reader reader = new InputStreamReader(inputStream, encoding);
-        return createUnmarshaller(exchange).unmarshal(reader);
-    }
-
-    protected XMLContext createXMLContext(ClassResolver resolver, ClassLoader contextClassLoader) throws Exception {
-        XMLContext xmlContext = new XMLContext();
-
-        if (ObjectHelper.isNotEmpty(getMappingFile())) {
-            Mapping xmlMap;
-            if (contextClassLoader != null) {
-                xmlMap = new Mapping(contextClassLoader);
-            } else {
-                xmlMap = new Mapping();
-            }
-            xmlMap.loadMapping(resolver.loadResourceAsURL(getMappingFile()));
-            xmlContext.addMapping(xmlMap);
-        }
-
-        if (getPackages() != null) {
-            xmlContext.addPackages(getPackages());
-        }
-        if (getClassNames() != null) {
-            for (String name : getClassNames()) {
-                Class<?> clazz = resolver.resolveClass(name);
-                xmlContext.addClass(clazz);
-            }
-        }
-        return xmlContext;
-    }
-
-    public CamelContext getCamelContext() {
-        return camelContext;
-    }
-
-    public void setCamelContext(CamelContext camelContext) {
-        this.camelContext = camelContext;
-    }
-
-    public Unmarshaller createUnmarshaller(Exchange exchange) throws Exception {
-        // need to create new marshaller as we may have concurrent processing
-        Unmarshaller answer = xmlContext.createUnmarshaller();
-        answer.setValidation(isValidation());
-        if (whitlistEnabled) {
-            WhitelistObjectFactory factory = new WhitelistObjectFactory();
-            factory.setAllowClasses(allowedUnmarshallObjects);
-            factory.setDenyClasses(deniedUnmarshallObjects);
-            answer.setObjectFactory(factory);
-        }
-        return answer;
-    }
-
-    public Marshaller createMarshaller(Exchange exchange) throws Exception {
-        // need to create new marshaller as we may have concurrent processing
-        Marshaller answer = xmlContext.createMarshaller();
-        answer.setValidation(isValidation());
-        return answer;
-    }
-
-    public void setXmlContext(XMLContext xmlContext) {
-        this.xmlContext = xmlContext;
-    }
-
-    public String getMappingFile() {
-        return mappingFile;
-    }
-
-    public void setMappingFile(String mappingFile) {
-        this.mappingFile = mappingFile;
-    }
-
-    public String[] getClassNames() {
-        return classNames;
-    }
-
-    public void setClassNames(String[] classNames) {
-        this.classNames = classNames;
-    }
-
-    public String[] getPackages() {
-        return packages;
-    }
-
-    public void setPackages(String[] packages) {
-        this.packages = packages;
-    }
-
-    public String getEncoding() {
-        return encoding;
-    }
-
-    public void setEncoding(String encoding) {
-        this.encoding = encoding;
-    }
-
-    public boolean isValidation() {
-        return validation;
-    }
-
-    public void setValidation(boolean validation) {
-        this.validation = validation;
-    }
-
-    public boolean isContentTypeHeader() {
-        return contentTypeHeader;
-    }
-
-    /**
-     * If enabled then Castor will set the Content-Type header to <tt>application/xml</tt> when marshalling.
-     */
-    public void setContentTypeHeader(boolean contentTypeHeader) {
-        this.contentTypeHeader = contentTypeHeader;
-    }
-
-    public boolean isWhitlistEnabled() {
-        return whitlistEnabled;
-    }
-
-    public void setWhitlistEnabled(boolean whitlistEnabled) {
-        this.whitlistEnabled = whitlistEnabled;
-    }
-
-    public String getAllowedUnmarshallObjects() {
-        return allowedUnmarshallObjects;
-    }
-
-    public void setAllowedUnmarshallObjects(String allowedUnmarshallObjects) {
-        this.allowedUnmarshallObjects = allowedUnmarshallObjects;
-    }
-
-    public void setAllowClasses(Class... allowClasses) {
-        CollectionStringBuffer csb = new CollectionStringBuffer(",");
-        for (Class clazz : allowClasses) {
-            csb.append(clazz.getName());
-        }
-        this.allowedUnmarshallObjects = csb.toString();
-    }
-
-    public String getDeniedUnmarshallObjects() {
-        return deniedUnmarshallObjects;
-    }
-
-    public void setDeniedUnmarshallObjects(String deniedUnmarshallObjects) {
-        this.deniedUnmarshallObjects = deniedUnmarshallObjects;
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        if (xmlContext == null) {
-            xmlContext = createXMLContext(getCamelContext().getClassResolver(), getCamelContext().getApplicationContextClassLoader());
-        }
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        // noop
-    }
-
-}
\ No newline at end of file
diff --git a/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/CastorDataFormat.java b/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/CastorDataFormat.java
deleted file mode 100644
index f9a26ad..0000000
--- a/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/CastorDataFormat.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.castor;
-
-import org.apache.camel.spi.DataFormat;
-import org.exolab.castor.xml.XMLContext;
-
-/**
- * A <a href="http://camel.apache.org/data-format.html">data format</a>
- * ({@link DataFormat}) using Castor to marshal to and from XML
- *
- * @version 
- */
-public class CastorDataFormat extends AbstractCastorDataFormat {
-
-    public CastorDataFormat() {
-    }
-
-    public CastorDataFormat(XMLContext xmlContext) {
-        super(xmlContext);
-    }
-
-}
diff --git a/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/WhitelistObjectFactory.java b/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/WhitelistObjectFactory.java
deleted file mode 100644
index 7a87e32..0000000
--- a/components/camel-castor/src/main/java/org/apache/camel/dataformat/castor/WhitelistObjectFactory.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.castor;
-
-import org.apache.camel.util.EndpointHelper;
-import org.exolab.castor.util.DefaultObjectFactory;
-
-public class WhitelistObjectFactory extends DefaultObjectFactory {
-
-    private String allowClasses;
-    private String denyClasses;
-
-    public String getAllowClasses() {
-        return allowClasses;
-    }
-
-    public void setAllowClasses(String allowClasses) {
-        this.allowClasses = allowClasses;
-    }
-
-    public String getDenyClasses() {
-        return denyClasses;
-    }
-
-    public void setDenyClasses(String denyClasses) {
-        this.denyClasses = denyClasses;
-    }
-
-    @Override
-    public Object createInstance(Class type) throws IllegalAccessException, InstantiationException {
-        if (allowCreate(type)) {
-            return super.createInstance(type);
-        } else {
-            throw new IllegalAccessException("Not allowed to create class of type: " + type);
-        }
-    }
-
-    @Override
-    public Object createInstance(Class type, Object[] args) throws IllegalAccessException, InstantiationException {
-        if (allowCreate(type)) {
-            return super.createInstance(type, args);
-        } else {
-            throw new IllegalAccessException("Not allowed to create class of type: " + type);
-        }
-    }
-
-    @Override
-    public Object createInstance(Class type, Class[] argTypes, Object[] args) throws IllegalAccessException, InstantiationException {
-        if (allowCreate(type)) {
-            return super.createInstance(type, argTypes, args);
-        } else {
-            throw new IllegalAccessException("Not allowed to create class of type: " + type);
-        }
-    }
-
-    private boolean allowCreate(Class type) {
-        String name = type.getName();
-
-        // deny takes precedence
-        if (denyClasses != null) {
-            String[] arr = denyClasses.split(",");
-            for (String key : arr) {
-                if (EndpointHelper.matchPattern(name, key)) {
-                    return false;
-                }
-            }
-        }
-
-        // deny takes precedence
-        if (allowClasses != null) {
-            String[] arr = allowClasses.split(",");
-            for (String key : arr) {
-                if (EndpointHelper.matchPattern(name, key)) {
-                    return true;
-                }
-            }
-        }
-
-        // deny by default
-        return false;
-    }
-}
diff --git a/components/camel-castor/src/main/resources/META-INF/LICENSE.txt b/components/camel-castor/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-castor/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-castor/src/main/resources/META-INF/NOTICE.txt b/components/camel-castor/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-castor/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-castor/src/main/resources/META-INF/services/org/apache/camel/dataformat/castor b/components/camel-castor/src/main/resources/META-INF/services/org/apache/camel/dataformat/castor
deleted file mode 100644
index 723e69d..0000000
--- a/components/camel-castor/src/main/resources/META-INF/services/org/apache/camel/dataformat/castor
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.dataformat.castor.CastorDataFormat
diff --git a/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/MarshalDomainObjectTest.java b/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/MarshalDomainObjectTest.java
deleted file mode 100644
index 4a12d1a..0000000
--- a/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/MarshalDomainObjectTest.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.castor;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-/**
- * Marhsal tests with domain objects.
- */
-public class MarshalDomainObjectTest extends CamelTestSupport {
-
-    @Test
-    public void testMarshalDomainObject() throws Exception {
-        // some platform cannot test using Castor as it uses a SUN dependent Xerces
-        if (isJavaVendor("IBM")) {
-            return;
-        }
-
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(1);
-
-        PurchaseOrder order = new PurchaseOrder();
-        order.setName("Tiger");
-        order.setAmount(1);
-        order.setPrice(99.95);
-
-        template.sendBody("direct:in", order);
-
-        mock.assertIsSatisfied();
-    }
-
-    @Test
-    public void testMarshalDomainObjectTwice() throws Exception {
-        // some platform cannot test using Castor as it uses a SUN dependent Xerces
-        if (isJavaVendor("IBM")) {
-            return;
-        }
-
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(2);
-
-        PurchaseOrder order = new PurchaseOrder();
-        order.setName("Tiger");
-        order.setAmount(1);
-        order.setPrice(99.95);
-
-        template.sendBody("direct:in", order);
-        template.sendBody("direct:in", order);
-
-        mock.assertIsSatisfied();
-
-        String body1 = mock.getExchanges().get(0).getIn().getBody(String.class);
-        String body2 = mock.getExchanges().get(1).getIn().getBody(String.class);
-        assertEquals("The body should marshalled to the same", body1, body2);
-    }
-
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            public void configure() throws Exception {
-                from("direct:in").marshal().castor().to("mock:result");
-                from("direct:marshal").marshal().castor();
-            }
-        };
-    }
-
-}
\ No newline at end of file
diff --git a/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/MarshalWithMappingDomainObjectTest.java b/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/MarshalWithMappingDomainObjectTest.java
deleted file mode 100644
index f9e24ae..0000000
--- a/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/MarshalWithMappingDomainObjectTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.castor;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-/**
- * Marhsal tests with domain objects.
- */
-public class MarshalWithMappingDomainObjectTest extends CamelTestSupport {
-
-    @Test
-    public void testMarshalDomainObject() throws Exception {
-        // some platform cannot test using Castor as it uses a SUN dependent Xerces
-        if (isJavaVendor("IBM")) {
-            return;
-        }
-
-        MockEndpoint mock = getMockEndpoint("mock:marshal");
-        mock.expectedMessageCount(1);
-
-        Student student = new Student();
-        student.setStuLastName("Dilshan");
-        student.setStuAge(25);
-        template.sendBody("direct:marshal", student);
-
-        mock.assertIsSatisfied();
-    }
-
-    @Test
-    public void testUnmarshalDomainObject() throws Exception {
-        // some platform cannot test using Castor as it uses a SUN dependent Xerces
-        if (isJavaVendor("IBM")) {
-            return;
-        }
-
-        MockEndpoint mock = getMockEndpoint("mock:unmarshal");
-        mock.expectedMessageCount(1);
-
-        String xml = "<student><firstname>Sagara</firstname><lastname>Gunathunga</lastname><age>27</age></student>";
-        template.sendBody("direct:unmarshal", xml);
-
-        Student student = new Student();
-        student.setStuLastName("Gunathunga");
-        student.setStuFirstName("Sagara");
-        student.setStuAge(27);
-
-        mock.assertIsSatisfied();
-        mock.message(0).body().isInstanceOf(Student.class);
-        mock.message(0).body().isEqualTo(student);
-    }
-
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            public void configure() throws Exception {
-
-                CastorDataFormat myformat = new CastorDataFormat();
-                myformat.setMappingFile("map.xml");
-                myformat.setValidation(true);
-                myformat.setAllowClasses(Student.class);
-                
-                from("direct:marshal").marshal(myformat).to("mock:marshal");
-                from("direct:unmarshal").unmarshal(myformat).to("mock:unmarshal");
-
-            }
-        };
-    }
-
-}
\ No newline at end of file
diff --git a/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/PurchaseOrder.java b/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/PurchaseOrder.java
deleted file mode 100644
index a854d92..0000000
--- a/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/PurchaseOrder.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.castor;
-
-import org.apache.camel.util.ObjectHelper;
-
-public class PurchaseOrder {
-    private String name;
-    private double price;
-    private double amount;
-
-    @Override
-    public String toString() {
-        return "PurchaseOrder[name: " + name + " amount: " + amount
-                + " price: " + price + "]";
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (o instanceof PurchaseOrder) {
-            PurchaseOrder that = (PurchaseOrder) o;
-            return ObjectHelper.equal(this.name, that.name)
-                    && ObjectHelper.equal(this.amount, that.amount)
-                    && ObjectHelper.equal(this.price, that.price);
-        }
-        return false;
-    }
-
-    public int hashCode() {
-        return (int) (name.hashCode() + (price * 100) + (amount * 100));
-    }
-
-    public double getAmount() {
-        return amount;
-    }
-
-    public void setAmount(double amount) {
-        this.amount = amount;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public double getPrice() {
-        return price;
-    }
-
-    public void setPrice(double price) {
-        this.price = price;
-    }
-}
diff --git a/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/SpringMarshalDomainObjectTest.java b/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/SpringMarshalDomainObjectTest.java
deleted file mode 100644
index 9629b96..0000000
--- a/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/SpringMarshalDomainObjectTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.castor;
-
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.spring.CamelSpringTestSupport;
-import org.junit.Test;
-import org.springframework.context.support.AbstractApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-public class SpringMarshalDomainObjectTest extends CamelSpringTestSupport {
-
-    @Test
-    public void testMarshalDomainObject() throws Exception {
-        // some platform cannot test using Castor as it uses a SUN dependent Xerces
-        if (isJavaVendor("IBM")) {
-            return;
-        }
-
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(1);
-
-        PurchaseOrder order = new PurchaseOrder();
-        order.setName("Tiger");
-        order.setAmount(1);
-        order.setPrice(99.95);
-
-        template.sendBody("direct:in", order);
-
-        mock.assertIsSatisfied();
-    }
-
-    @Test
-    public void testMappingOfDomainObject() throws Exception {
-        // some platform cannot test using Castor as it uses a SUN dependent Xerces
-        if (isJavaVendor("IBM")) {
-            return;
-        }
-
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(2);
-
-        Student expectedStudent = new Student();
-        expectedStudent.setStuFirstName("John");
-        expectedStudent.setStuLastName("Doe");
-        expectedStudent.setStuAge(21);
-
-        String expectedString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<student><firstname>John</firstname><lastname>Doe</lastname><age>21</age></student>";
-
-        template.sendBody("direct:unmarshal", expectedString);
-        template.sendBody("direct:marshal", expectedStudent);
-
-        mock.assertIsSatisfied();
-        Student actualStudent = mock.getExchanges().get(0).getIn().getBody(Student.class);
-        String actualString = mock.getExchanges().get(1).getIn().getBody(String.class);
-
-        // compare objects
-        assertEquals("The expected student does not match the unmarshal XML student.", expectedStudent, actualStudent);
-        // compare XML
-        assertEquals("The expected XML does not match the marshal student XML.", expectedString, actualString);
-    }
-
-    @Test
-    public void testMarshalDomainObjectTwice() throws Exception {
-        // some platform cannot test using Castor as it uses a SUN dependent Xerces
-        if (isJavaVendor("IBM")) {
-            return;
-        }
-
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMessageCount(2);
-
-        PurchaseOrder order = new PurchaseOrder();
-        order.setName("Tiger");
-        order.setAmount(1);
-        order.setPrice(99.95);
-
-        template.sendBody("direct:in", order);
-        template.sendBody("direct:in", order);
-
-        mock.assertIsSatisfied();
-
-        String body1 = mock.getExchanges().get(0).getIn().getBody(String.class);
-        String body2 = mock.getExchanges().get(1).getIn().getBody(String.class);
-        assertEquals("The body should marshalled to the same", body1, body2);
-    }
-
-    @Override
-    protected AbstractApplicationContext createApplicationContext() {
-        return new ClassPathXmlApplicationContext("org/apache/camel/dataformat/castor/SpringMarshalDomainObjectTest.xml");
-    }
-
-}
diff --git a/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/Student.java b/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/Student.java
deleted file mode 100644
index 994079a..0000000
--- a/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/Student.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.castor;
-
-public class Student {
-    private String stuFirstName;
-    private String stuLastName;
-    private Integer stuAge;
-
-    public Integer getStuAge() {
-        return stuAge;
-    }
-
-    public void setStuAge(Integer stuAge) {
-        this.stuAge = stuAge;
-    }
-
-    public String getStuFirstName() {
-        return stuFirstName;
-    }
-
-    public void setStuFirstName(String stuFirstName) {
-        this.stuFirstName = stuFirstName;
-    }
-
-    public String getStuLastName() {
-        return stuLastName;
-    }
-
-    public void setStuLastName(String stuLastName) {
-        this.stuLastName = stuLastName;
-    }
-
-    @Override
-    public String toString() {
-        return "Name : " + getStuLastName()
-                + ", " + getStuFirstName()
-                + " [" + stuAge + "]";
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        try {
-            Student student = (Student) obj;
-            return stuLastName.equals(student.stuLastName)
-                    && stuFirstName.equals(student.stuFirstName)
-                    && stuAge.equals(student.stuAge);
-        } catch (ClassCastException e) {
-            return false;
-        }
-    }
-
-    @Override
-    public int hashCode() {
-        return 0;
-    }
-}
diff --git a/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/WhitelistTest.java b/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/WhitelistTest.java
deleted file mode 100644
index 7625fe0..0000000
--- a/components/camel-castor/src/test/java/org/apache/camel/dataformat/castor/WhitelistTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.castor;
-
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-public class WhitelistTest extends CamelTestSupport {
-
-    @Test
-    public void testDeny() throws Exception {
-        final String stuff = "<x xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:java=\"http://java.sun.com\""
-            + " xsi:type=\"java:org.springframework.beans.factory.config.PropertyPathFactoryBean\">"
-            + "<target-bean-name>ldap://localhost:1389/obj</target-bean-name><property-path>foo</property-path>"
-            + "<bean-factory xsi:type=\"java:org.springframework.jndi.support.SimpleJndiBeanFactory\">"
-            + "<shareable-resource>ldap://localhost:1389/obj</shareable-resource></bean-factory></x>";
-
-        try {
-            template.sendBody("direct:unmarshal", stuff);
-            fail("Should throw an error");
-        } catch (Exception e) {
-            IllegalAccessException iae = assertIsInstanceOf(IllegalAccessException.class, e.getCause().getCause());
-            assertNotNull(iae);
-            assertTrue(iae.getMessage().startsWith("Not allowed to create class of type: class org.springframework.beans.factory.config.PropertyPathFactoryBean"));
-        }
-    }
-
-    @Override
-    protected RoutesBuilder createRouteBuilder() throws Exception {
-        CastorDataFormat castor = new CastorDataFormat();
-        // note that whitelist is enabled by default
-        // castor.setWhitlistEnabled(true);
-        // and that everything is denied by default
-        // so you would need to configure allow to enable safe classes to be loaded
-        // castor.setDeniedUnmarshallObjects("org.spring.*");
-
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:unmarshal").unmarshal(castor).to("mock:unmarshal");
-            }
-        };
-    }
-}
diff --git a/components/camel-castor/src/test/resources/log4j2.properties b/components/camel-castor/src/test/resources/log4j2.properties
deleted file mode 100644
index 0e91054..0000000
--- a/components/camel-castor/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-appender.out.type = File
-appender.out.name = out
-appender.out.fileName = target/camel-castor-test.log
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.stdout.type = Console
-appender.stdout.name = stdout
-appender.stdout.layout.type = PatternLayout
-appender.stdout.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-logger.spring.name = org.apache.activemq.spring
-logger.spring.level = WARN
-rootLogger.level = INFO
-rootLogger.appenderRef.out.ref = out
diff --git a/components/camel-castor/src/test/resources/map.xml b/components/camel-castor/src/test/resources/map.xml
deleted file mode 100644
index a5216fb..0000000
--- a/components/camel-castor/src/test/resources/map.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<mapping>
-    <class name="org.apache.camel.dataformat.castor.Student" auto-complete="false">
-        <description>Default mapping</description>
-        <map-to xml="student"/>
-        <field name="stuFirstName"
-               type="string"
-               required="false"
-               direct="false"
-               transient="false"
-               get-method="getStuFirstName"
-               set-method="setStuFirstName">
-
-            <bind-xml name="firstname"
-                      node="element"/>
-            <sql name="name" type="char"/>
-        </field>
-        <field name="stuLastName"
-               type="string"
-               required="false"
-               direct="false"
-               transient="false"
-               get-method="getStuLastName"
-               set-method="setStuLastName">
-
-            <bind-xml name="lastname"
-                      node="element"/>
-            <sql name="name" type="char"/>
-        </field>
-
-        <field name="stuAge"
-               type="integer"
-               required="false"
-               direct="false"
-               transient="false"
-               get-method="getStuAge"
-               set-method="setStuAge">
-
-            <bind-xml name="age"
-                      node="element"/>
-            <sql name="name" type="numeric"/>
-        </field>
-    </class>
-</mapping>
diff --git a/components/camel-castor/src/test/resources/org/apache/camel/dataformat/castor/SpringMarshalDomainObjectTest.xml b/components/camel-castor/src/test/resources/org/apache/camel/dataformat/castor/SpringMarshalDomainObjectTest.xml
deleted file mode 100644
index d89a5a4..0000000
--- a/components/camel-castor/src/test/resources/org/apache/camel/dataformat/castor/SpringMarshalDomainObjectTest.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
-
-      
-    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">        
-       
-        <dataFormats>
-            <castor id="castor" mappingFile="map.xml" allowedUnmarshallObjects="org.apache.camel.dataformat.castor.Student"/>
-        </dataFormats>
-
-        <route>
-            <from uri="direct:in"/>
-            <marshal ref="castor"/>
-            <to uri="mock:result"/>			
-        </route>
-
-        <route>
-            <from uri="direct:marshal"/>
-            <marshal ref="castor"/>
-            <to uri="mock:result"/>	
-        </route>
-        
-        <route>
-            <from uri="direct:unmarshal"/>
-            <unmarshal ref="castor"/>
-            <to uri="mock:result"/>	
-        </route>
-
-    </camelContext>   
-
-
-</beans>
diff --git a/components/camel-hessian/pom.xml b/components/camel-hessian/pom.xml
deleted file mode 100644
index eba1088..0000000
--- a/components/camel-hessian/pom.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>components</artifactId>
-        <version>3.0.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>camel-hessian</artifactId>
-    <packaging>jar</packaging>
-    <name>Camel :: Hessian (deprecated)</name>
-    <description>Hessian serialization support</description>
-
-    <properties>
-        <camel.osgi.export.pkg>org.apache.camel.dataformat.hessian.*</camel.osgi.export.pkg>
-        <camel.osgi.export.service>org.apache.camel.spi.DataFormatResolver;dataformat=hessian</camel.osgi.export.service>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.caucho</groupId>
-            <artifactId>hessian</artifactId>
-            <version>${hessian-version}</version>
-        </dependency>
-
-        <!-- testing -->
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-spring</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>   
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-api</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-slf4j-impl</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/components/camel-hessian/src/main/docs/hessian-dataformat.adoc b/components/camel-hessian/src/main/docs/hessian-dataformat.adoc
deleted file mode 100644
index fca47b4..0000000
--- a/components/camel-hessian/src/main/docs/hessian-dataformat.adoc
+++ /dev/null
@@ -1,74 +0,0 @@
-[[hessian-dataformat]]
-== Hessian DataFormat (deprecated)
-
-*Available as of Camel version 2.17*
-
-Hessian is Data Format for marshalling and unmarshalling messages using Caucho's Hessian format.
-
-If you want to use Hessian Data Format from Maven, add the following dependency to your `pom.xml`:
-
-[source,xml]
-------------------------------------------------------------
-<dependency>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-hessian</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-### Options
-
-// dataformat options: START
-The Hessian dataformat supports 4 options, which are listed below.
-
-
-
-[width="100%",cols="2s,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| whitelistEnabled | true | Boolean | Define if Whitelist feature is enabled or not
-| allowedUnmarshallObjects |  | String | Define the allowed objects to be unmarshalled
-| deniedUnmarshallObjects |  | String | Define the denied objects to be unmarshalled
-| contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc.
-|===
-// dataformat options: END
-// spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
-
-
-The component supports 5 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *camel.dataformat.hessian.allowed-unmarshall-objects* | Define the allowed objects to be unmarshalled |  | String
-| *camel.dataformat.hessian.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
-| *camel.dataformat.hessian.denied-unmarshall-objects* | Define the denied objects to be unmarshalled |  | String
-| *camel.dataformat.hessian.enabled* | Enable hessian dataformat | true | Boolean
-| *camel.dataformat.hessian.whitelist-enabled* | Define if Whitelist feature is enabled or not | true | Boolean
-|===
-// spring-boot-auto-configure options: END
-ND
-
-### Using the Hessian data format in Java DSL
-
-[source,java]
---------------------------------------------------------------------------------
-    from("direct:in")
-        .marshal().hessian();
---------------------------------------------------------------------------------
-
-### Using the Hessian data format in Spring DSL
-
-[source,xml]
---------------------------------------------------------------------------------
-    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
-        <route>
-            <from uri="direct:in"/>
-            <marshal ref="hessian"/>
-        </route>
-    </camelContext>
---------------------------------------------------------------------------------
diff --git a/components/camel-hessian/src/main/java/org/apache/camel/dataformat/hessian/HessianDataFormat.java b/components/camel-hessian/src/main/java/org/apache/camel/dataformat/hessian/HessianDataFormat.java
deleted file mode 100644
index d2d9882..0000000
--- a/components/camel-hessian/src/main/java/org/apache/camel/dataformat/hessian/HessianDataFormat.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.hessian;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import com.caucho.hessian.io.Hessian2Input;
-import com.caucho.hessian.io.Hessian2Output;
-import com.caucho.hessian.io.HessianFactory;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.spi.DataFormat;
-import org.apache.camel.spi.DataFormatName;
-import org.apache.camel.support.ServiceSupport;
-import org.apache.camel.util.ObjectHelper;
-
-/**
- * The <a href="http://camel.apache.org/data-format.html">data format</a> using
- * <a href="http://hessian.caucho.com/doc/hessian-serialization.html">Hessian
- * Serialization</a>.
- *
- * @since 2.17
- */
-public class HessianDataFormat extends ServiceSupport implements DataFormat, DataFormatName {
-
-    private static final String FORMAT_NAME = "hessian";
-    private boolean whitelistEnabled = true;
-    private String allowedUnmarshallObjects;
-    private String deniedUnmarshallObjects;
-
-    @Override
-    public String getDataFormatName() {
-        return FORMAT_NAME;
-    }
-
-    @Override
-    public void marshal(final Exchange exchange, final Object graph, final OutputStream outputStream) throws Exception {
-        final Hessian2Output out = new Hessian2Output(outputStream);
-        try {
-            out.startMessage();
-            out.writeObject(graph);
-            out.completeMessage();
-        } finally {
-            out.flush();
-            try {
-                out.close();
-            } catch (IOException e) {
-                // ignore
-            }
-        }
-    }
-
-    @Override
-    public Object unmarshal(final Exchange exchange, final InputStream inputStream) throws Exception {
-        final Hessian2Input in;
-        if (!whitelistEnabled) {
-            in = new Hessian2Input(inputStream);
-        } else {
-            HessianFactory factory = new HessianFactory();
-            if (ObjectHelper.isNotEmpty(allowedUnmarshallObjects)) {
-                factory.allow(allowedUnmarshallObjects);
-            }
-            if (ObjectHelper.isNotEmpty(deniedUnmarshallObjects)) {
-                factory.deny(deniedUnmarshallObjects);
-            }
-            in = factory.createHessian2Input(inputStream);
-        }
-        try {
-            in.startMessage();
-            final Object obj = in.readObject();
-            in.completeMessage();
-            return obj;
-        } finally {
-            try {
-                in.close();
-            } catch (IOException e) {
-                // ignore
-            }
-        }
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        // noop
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        // noop
-    }
-
-    public boolean isWhitelistEnabled() {
-        return whitelistEnabled;
-    }
-
-    public void setWhitelistEnabled(boolean whitelistEnabled) {
-        this.whitelistEnabled = whitelistEnabled;
-    }
-
-    public String getAllowedUnmarshallObjects() {
-        return allowedUnmarshallObjects;
-    }
-
-    public void setAllowedUnmarshallObjects(String allowedUnmarshallObjects) {
-        this.allowedUnmarshallObjects = allowedUnmarshallObjects;
-    }
-
-    public String getDeniedUnmarshallObjects() {
-        return deniedUnmarshallObjects;
-    }
-
-    public void setDeniedUnmarshallObjects(String deniedUnmarshallObjects) {
-        this.deniedUnmarshallObjects = deniedUnmarshallObjects;
-    }
-
-}
diff --git a/components/camel-hessian/src/main/resources/META-INF/LICENSE.txt b/components/camel-hessian/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-hessian/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-hessian/src/main/resources/META-INF/NOTICE.txt b/components/camel-hessian/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-hessian/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-hessian/src/main/resources/META-INF/services/org/apache/camel/dataformat/hessian b/components/camel-hessian/src/main/resources/META-INF/services/org/apache/camel/dataformat/hessian
deleted file mode 100644
index 57afefc..0000000
--- a/components/camel-hessian/src/main/resources/META-INF/services/org/apache/camel/dataformat/hessian
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.dataformat.hessian.HessianDataFormat
diff --git a/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/AnotherObject.java b/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/AnotherObject.java
deleted file mode 100644
index cdc450b..0000000
--- a/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/AnotherObject.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.hessian;
-
-import java.io.Serializable;
-
-/** A simple object used used by {@link HessianDataFormatMarshallingTest}. */
-class AnotherObject implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private boolean bool;
-    private int intNumber;
-
-    public boolean isBool() {
-        return bool;
-    }
-
-    public void setBool(final boolean bool) {
-        this.bool = bool;
-    }
-
-    public int getIntNumber() {
-        return intNumber;
-    }
-
-    public void setIntNumber(final int intNumber) {
-        this.intNumber = intNumber;
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + (bool ? 1231 : 1237);
-        result = prime * result + intNumber;
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-        AnotherObject other = (AnotherObject)obj;
-        if (bool != other.bool) {
-            return false;
-        }
-        if (intNumber != other.intNumber) {
-            return false;
-        }
-        return true;
-    }
-}
diff --git a/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/HessianDataFormatConfigDslTest.java b/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/HessianDataFormatConfigDslTest.java
deleted file mode 100644
index 654b11a..0000000
--- a/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/HessianDataFormatConfigDslTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.hessian;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-/**
- * Test for {@link HessianDataFormat}.
- */
-public class HessianDataFormatConfigDslTest extends CamelTestSupport {
-
-    @Test
-    public void testMarshalAndUnmarshalString() throws Exception {
-        final String object = "This is a string";
-
-        final MockEndpoint mock = context().getEndpoint("mock:reverse", MockEndpoint.class);
-        mock.expectedMessageCount(1);
-        mock.message(0).body().isInstanceOf(object.getClass());
-        mock.message(0).body().isEqualTo(object);
-
-        final Object marshalled = template.requestBody("direct:in", object);
-        template.sendBody("direct:back", marshalled);
-
-        mock.assertIsSatisfied();
-
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:in").marshal().hessian();
-                from("direct:back").unmarshal().hessian().to("mock:reverse");
-            }
-        };
-    }
-
-
-}
\ No newline at end of file
diff --git a/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/HessianDataFormatConfigXmlTest.java b/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/HessianDataFormatConfigXmlTest.java
deleted file mode 100644
index 84f87c5..0000000
--- a/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/HessianDataFormatConfigXmlTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.hessian;
-
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.spring.CamelSpringTestSupport;
-import org.junit.Test;
-import org.springframework.context.support.AbstractApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-public class HessianDataFormatConfigXmlTest extends CamelSpringTestSupport {
-
-    @Test
-    public void testMarshalAndUnmarshalString() throws Exception {
-        final String object = "This is a string";
-
-        final MockEndpoint mock = context().getEndpoint("mock:reverse", MockEndpoint.class);
-        mock.expectedMessageCount(1);
-        mock.message(0).body().isInstanceOf(object.getClass());
-        mock.message(0).body().isEqualTo(object);
-
-        final Object marshalled = template.requestBody("direct:in", object);
-        template.sendBody("direct:back", marshalled);
-
-        mock.assertIsSatisfied();
-
-    }
-
-    @Override
-    protected AbstractApplicationContext createApplicationContext() {
-        return new ClassPathXmlApplicationContext("org/apache/camel/dataformat/hessian/HessianTestConfig.xml");
-    }
-}
diff --git a/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/HessianDataFormatMarshallingTest.java b/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/HessianDataFormatMarshallingTest.java
deleted file mode 100644
index 19c578f..0000000
--- a/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/HessianDataFormatMarshallingTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.hessian;
-
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-/**
- * Test for {@link HessianDataFormat}.
- */
-public class HessianDataFormatMarshallingTest extends CamelTestSupport {
-
-    @Test
-    public void testMarshalAndUnmarshalNull() throws Exception {
-        testMarshalAndUnmarshal(null);
-    }
-
-    @Test
-    public void testMarshalAndUnmarshalBoolean() throws Exception {
-        testMarshalAndUnmarshal(Boolean.TRUE);
-    }
-
-    @Test
-    public void testMarshalAndUnmarshalString() throws Exception {
-        testMarshalAndUnmarshal("This is a string");
-    }
-
-    @Test
-    public void testMarshalAndUnmarshalInteger() throws Exception {
-        testMarshalAndUnmarshal(42);
-    }
-
-    @Test
-    public void testMarshalAndUnmarshalLong() throws Exception {
-        testMarshalAndUnmarshal(100_000_000_000_000L);
-    }
-
-    @Test
-    public void testMarshalAndUnmarshalDouble() throws Exception {
-        testMarshalAndUnmarshal(6.022e23);
-    }
-
-    @Test
-    public void testMarshalAndUnmarshalDate() throws Exception {
-        testMarshalAndUnmarshal(new Date());
-    }
-
-
-    @Test
-    public void testMarshalAndUnmarshalArray() throws Exception {
-        testMarshalAndUnmarshal(new String[]{"one", "two", "three"});
-    }
-
-    @Test
-    public void testMarshalAndUnmarshalList() throws Exception {
-        testMarshalAndUnmarshal(Arrays.asList("one", "two", "three"));
-    }
-
-    @Test
-    public void testMarshalAndUnmarshalMap() throws Exception {
-        final Map<Integer, String> map = new HashMap<>();
-        map.put(1, "one");
-        map.put(2, "two");
-        map.put(3, "three");
-
-        testMarshalAndUnmarshal(map);
-    }
-
-    @Test
-    public void testMarshalAndUnmarshalObject() throws Exception {
-        final TestObject object = new TestObject();
-        object.setBool(true);
-        object.setIntNumber(42);
-        object.setFloatNumber(3.14159f);
-        object.setCharacter('Z');
-        object.setText("random text");
-
-        testMarshalAndUnmarshal(object);
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                final HessianDataFormat format = new HessianDataFormat();
-
-                from("direct:in").marshal(format);
-                from("direct:back").unmarshal(format).to("mock:reverse");
-            }
-        };
-    }
-
-    private void testMarshalAndUnmarshal(final Object object) throws Exception {
-        final MockEndpoint mock = getMockEndpoint("mock:reverse");
-        mock.expectedMessageCount(1);
-
-        if (object == null) {
-            mock.message(0).body().isNull();
-        } else {
-            mock.message(0).body().isNotNull();
-            mock.message(0).body().isEqualTo(object);
-        }
-
-        final Object marshalled = template.requestBody("direct:in", object);
-        template.sendBody("direct:back", marshalled);
-
-        mock.assertIsSatisfied();
-    }
-}
\ No newline at end of file
diff --git a/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/HessianDataFormatWhitelistingTest.java b/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/HessianDataFormatWhitelistingTest.java
deleted file mode 100644
index 588c735..0000000
--- a/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/HessianDataFormatWhitelistingTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.hessian;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-/**
- * Test for {@link HessianDataFormat}.
- */
-public class HessianDataFormatWhitelistingTest extends CamelTestSupport {
-
-    @Test
-    public void testMarshalAndUnmarshalObject() throws Exception {
-        final TestObject object = new TestObject();
-        object.setBool(true);
-        object.setIntNumber(42);
-        object.setFloatNumber(3.14159f);
-        object.setCharacter('Z');
-        object.setText("random text");
-
-        testMarshalAndUnmarshalFailed(object);
-        
-        final AnotherObject diffObject = new AnotherObject();
-        object.setBool(true);
-        object.setIntNumber(45);
-
-        testMarshalAndUnmarshalSuccess(diffObject);
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                final HessianDataFormat format = new HessianDataFormat();
-                format.setWhitelistEnabled(true);
-                format.setDeniedUnmarshallObjects("org.apache.camel.dataformat.hessian.TestObject");
-                format.setAllowedUnmarshallObjects("org.apache.camel.dataformat.hessian.AnotherObject");
-
-                from("direct:in").marshal(format);
-                from("direct:back").unmarshal(format).to("mock:reverse");
-            }
-        };
-    }
-    
-    private void testMarshalAndUnmarshalFailed(final Object object) throws Exception {
-        final MockEndpoint mock = getMockEndpoint("mock:reverse");
-        mock.expectedMessageCount(1);
-
-        if (object == null) {
-            mock.message(0).body().isNull();
-        } else {
-            mock.message(0).body().isNotNull();
-            mock.message(0).body().isNotEqualTo(object);
-        }
-
-        final Object marshalled = template.requestBody("direct:in", object);
-        template.sendBody("direct:back", marshalled);
-
-        mock.assertIsSatisfied();
-    }
-    
-    private void testMarshalAndUnmarshalSuccess(final Object object) throws Exception {
-        final MockEndpoint mock = getMockEndpoint("mock:reverse");
-        mock.expectedMessageCount(2);
-
-        if (object == null) {
-            mock.message(1).body().isNull();
-        } else {
-            mock.message(1).body().isNotNull();
-            mock.message(1).body().isEqualTo(object);
-        }
-
-        final Object marshalled = template.requestBody("direct:in", object);
-        template.sendBody("direct:back", marshalled);
-
-        mock.assertIsSatisfied();
-    }
-}
\ No newline at end of file
diff --git a/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/TestObject.java b/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/TestObject.java
deleted file mode 100644
index 2e1182a..0000000
--- a/components/camel-hessian/src/test/java/org/apache/camel/dataformat/hessian/TestObject.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dataformat.hessian;
-
-import java.io.Serializable;
-import java.util.Objects;
-
-/** A simple object used used by {@link HessianDataFormatMarshallingTest}. */
-class TestObject implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private boolean bool;
-    private int intNumber;
-    private double floatNumber;
-    private char character;
-    private String text;
-
-    public boolean isBool() {
-        return bool;
-    }
-
-    public void setBool(final boolean bool) {
-        this.bool = bool;
-    }
-
-    public int getIntNumber() {
-        return intNumber;
-    }
-
-    public void setIntNumber(final int intNumber) {
-        this.intNumber = intNumber;
-    }
-
-    public double getFloatNumber() {
-        return floatNumber;
-    }
-
-    public void setFloatNumber(final double floatNumber) {
-        this.floatNumber = floatNumber;
-    }
-
-    public char getCharacter() {
-        return character;
-    }
-
-    public void setCharacter(final char character) {
-        this.character = character;
-    }
-
-    public String getText() {
-        return text;
-    }
-
-    public void setText(final String text) {
-        this.text = text;
-    }
-
-    @Override
-    public boolean equals(final Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-
-        final TestObject that = (TestObject) o;
-
-        return Objects.equals(bool, that.bool)
-                && Objects.equals(intNumber, that.intNumber)
-                && Objects.equals(floatNumber, that.floatNumber)
-                && Objects.equals(character, that.character)
-                && Objects.equals(text, that.text);
-    }
-
-    @Override
-    public int hashCode() {
-        int result;
-        long temp;
-        result = bool ? 1 : 0;
-        result = 31 * result + intNumber;
-        temp = Double.doubleToLongBits(floatNumber);
-        result = 31 * result + (int) (temp ^ (temp >>> 32));
-        result = 31 * result + character;
-        result = 31 * result + (text != null ? text.hashCode() : 0);
-        return result;
-    }
-}
diff --git a/components/camel-hessian/src/test/resources/log4j2.properties b/components/camel-hessian/src/test/resources/log4j2.properties
deleted file mode 100644
index 013ab63..0000000
--- a/components/camel-hessian/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-appender.file.type = File
-appender.file.name = file
-appender.file.fileName = target/camel-hessian-test.log
-appender.file.layout.type = PatternLayout
-appender.file.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.out.type = Console
-appender.out.name = out
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-rootLogger.level = DEBUG
-rootLogger.appenderRef.file.ref = file
diff --git a/components/camel-hessian/src/test/resources/org/apache/camel/dataformat/hessian/HessianTestConfig.xml b/components/camel-hessian/src/test/resources/org/apache/camel/dataformat/hessian/HessianTestConfig.xml
deleted file mode 100644
index d29ed3b..0000000
--- a/components/camel-hessian/src/test/resources/org/apache/camel/dataformat/hessian/HessianTestConfig.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<bean:beans xmlns="http://camel.apache.org/schema/spring"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:bean="http://www.springframework.org/schema/beans"
-       xsi:schemaLocation="
-          http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-          http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
-
-    <camelContext id="camel">
-
-        <route>
-            <from uri="direct:in"/>
-            <marshal ref="hessian"/>
-        </route>
-
-        <route>
-            <from uri="direct:back"/>
-            <unmarshal ref="hessian"/>
-            <to uri="mock:reverse"/>
-        </route>
-
-    </camelContext>
-</bean:beans>
\ No newline at end of file
diff --git a/components/camel-josql/pom.xml b/components/camel-josql/pom.xml
deleted file mode 100644
index 9248a3d..0000000
--- a/components/camel-josql/pom.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>components</artifactId>
-    <version>3.0.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>camel-josql</artifactId>
-  <packaging>jar</packaging>
-  <name>Camel :: JoSQL (deprecated)</name>
-  <description>Camel JoSQL support</description>
-
-  <properties>
-    <!-- need to import spi as felix-bundle-plugin has a bug and do not include this package despite we use in the source code -->
-    <camel.osgi.import.before.defaults>org.apache.camel.spi;${camel.osgi.import.strict.version}</camel.osgi.import.before.defaults>
-    <camel.osgi.export.pkg>org.apache.camel.builder.sql.*,org.apache.camel.language.sql.*</camel.osgi.export.pkg>
-    <camel.osgi.export.service>org.apache.camel.spi.LanguageResolver;language=sql</camel.osgi.export.service>
-  </properties>
-
-  <dependencies>
-
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.servicemix.bundles</groupId>
-      <artifactId>org.apache.servicemix.bundles.josql</artifactId>
-      <version>${josql-bundle-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.servicemix.bundles</groupId>
-      <artifactId>org.apache.servicemix.bundles.gentlyweb-utils</artifactId>
-      <version>${gentlyweb-bundle-version}</version>
-    </dependency>
-
-    <!-- test dependencies -->
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test</artifactId>      
-      <optional>true</optional>
-      <scope>test</scope>
-    </dependency>   
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-slf4j-impl</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-  </dependencies>
-
-</project>
diff --git a/components/camel-josql/src/main/docs/sql-language.adoc b/components/camel-josql/src/main/docs/sql-language.adoc
deleted file mode 100644
index 2e1bbe6..0000000
--- a/components/camel-josql/src/main/docs/sql-language.adoc
+++ /dev/null
@@ -1,101 +0,0 @@
-[[sql-language]]
-== SQL Language (deprecated)
-
-*Available as of Camel version 1.0*
-
-The SQL support is added by http://josql.sourceforge.net/[JoSQL] and is
-primarily used for performing SQL queries on in-memory objects. If you
-prefer to perform actual database queries then check out the
-<<jpa-component,JPA>> component.
-
-*Looking for the SQL component*
-
-Camel has both a <<sql-component,SQL>> language and a
-<<sql-component,SQL Component>>. This page is about the SQL
-language. Click on <<sql-component,SQL Component>> if you are
-looking for the component instead.
-
-To use SQL in your camel routes you need to add the a dependency on
-*camel-josql* which implements the SQL language.
-
-If you use maven you could just add the following to your pom.xml,
-substituting the version number for the latest & greatest release (see
-the download page for the latest versions).
-
-[source,xml]
-----------------------------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-josql</artifactId>
-  <version>x.x.x</version>
-  <!-- use the same version as your Camel core version -->
-</dependency>
-----------------------------------------------------------
-
-Camel supports http://en.wikipedia.org/wiki/SQL[SQL] to allow an
-Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
-Configuration]. For example you could use SQL to create an
-Predicate in a link:message-filter.html[Message
-Filter] or as an Expression for a
-Recipient List.
-
-[source,java]
------------------------------------------------------------------------
-from("queue:foo").setBody().sql("select * from MyType").to("queue:bar")
------------------------------------------------------------------------
-
-And the spring DSL:
-
-[source,xml]
---------------------------------------
-   <from uri="queue:foo"/>
-   <setBody>
-       <sql>select * from MyType</sql>
-   </setBody>
-   <to uri="queue:bar"/>
---------------------------------------
-
-### Options
-
-
-// language options: START
-The SQL language supports 1 options, which are listed below.
-
-
-
-[width="100%",cols="2,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| trim | true | Boolean | Whether to trim the value to remove leading and trailing whitespaces and line breaks
-|===
-// language options: END
-// spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
-
-
-The component supports 2 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *camel.language.sql.enabled* | Enable sql language | true | Boolean
-| *camel.language.sql.trim* | Whether to trim the value to remove leading and trailing whitespaces and line breaks | true | Boolean
-|===
-// spring-boot-auto-configure options: END
-
-### Loading script from external resource
-
-*Available as of Camel 2.11*
-
-You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
- This is done using the following syntax: `"resource:scheme:location"`,
-eg to refer to a file on the classpath you can do:
-
-[source,java]
-----------------------------------------------------------
-.setHeader("myHeader").sql("resource:classpath:mysql.sql")
-----------------------------------------------------------
diff --git a/components/camel-josql/src/main/java/org/apache/camel/builder/sql/SQL.java b/components/camel-josql/src/main/java/org/apache/camel/builder/sql/SQL.java
deleted file mode 100644
index 659b8db..0000000
--- a/components/camel-josql/src/main/java/org/apache/camel/builder/sql/SQL.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.builder.sql;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.camel.language.LanguageAnnotation;
-
-/**
- * An annotation for injection of SQL expressions into method parameters, fields or properties
- *
- * @version 
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
-@LanguageAnnotation(language = "sql")
-@Deprecated
-public @interface SQL {
-    String value();
-}
\ No newline at end of file
diff --git a/components/camel-josql/src/main/java/org/apache/camel/builder/sql/SqlBuilder.java b/components/camel-josql/src/main/java/org/apache/camel/builder/sql/SqlBuilder.java
deleted file mode 100644
index eed4f2a..0000000
--- a/components/camel-josql/src/main/java/org/apache/camel/builder/sql/SqlBuilder.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.builder.sql;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Expression;
-import org.apache.camel.Message;
-import org.apache.camel.Predicate;
-import org.apache.camel.RuntimeExpressionException;
-import org.apache.camel.util.ObjectHelper;
-
-import org.josql.Query;
-import org.josql.QueryExecutionException;
-import org.josql.QueryParseException;
-
-/**
- * A builder of SQL {@link org.apache.camel.Expression} and
- * {@link org.apache.camel.Predicate} implementations
- * 
- * @version 
- */
-public class SqlBuilder implements Expression, Predicate {
-
-    private Query query;
-    private Map<String, Object> variables = new HashMap<>();
-
-    public SqlBuilder(Query query) {
-        this.query = query;
-    }
-
-    public <T> T evaluate(Exchange exchange, Class<T> type) {
-        Object result = evaluateQuery(exchange);
-        return exchange.getContext().getTypeConverter().convertTo(type, result);
-    }
-
-    public boolean matches(Exchange exchange) {
-        List<?> list = evaluateQuery(exchange);
-        return matches(exchange, list);
-    }
-
-    public void assertMatches(String text, Exchange exchange) throws AssertionError {
-        List<?> list = evaluateQuery(exchange);
-        if (!matches(exchange, list)) {
-            throw new AssertionError(this + " failed on " + exchange + " as found " + list);
-        }
-    }
-
-    // Builder API
-    // -----------------------------------------------------------------------
-
-    /**
-     * Creates a new builder for the given SQL query string
-     * 
-     * @param sql the SQL query to perform
-     * @return a new builder
-     * @throws QueryParseException if there is an issue with the SQL
-     */
-    public static SqlBuilder sql(String sql) throws QueryParseException {
-        Query q = new Query();
-        q.parse(sql);
-        return new SqlBuilder(q);
-    }
-
-    /**
-     * Adds the variable value to be used by the SQL query
-     */
-    public SqlBuilder variable(String name, Object value) {
-        getVariables().put(name, value);
-        return this;
-    }
-
-    // Properties
-    // -----------------------------------------------------------------------
-    public Map<String, Object> getVariables() {
-        return variables;
-    }
-
-    public void setVariables(Map<String, Object> properties) {
-        this.variables = properties;
-    }
-
-    // Implementation methods
-    // -----------------------------------------------------------------------
-    protected boolean matches(Exchange exchange, List<?> list) {
-        return ObjectHelper.matches(list);
-    }
-
-    protected List<?> evaluateQuery(Exchange exchange) {
-        configureQuery(exchange);
-        Message in = exchange.getIn();
-        List<?> list = in.getBody(List.class);
-        if (list == null) {
-            list = Collections.singletonList(in.getBody());
-        }
-        try {
-            return query.execute(list).getResults();
-        } catch (QueryExecutionException e) {
-            throw new RuntimeExpressionException(e);
-        }
-    }
-
-    protected void configureQuery(Exchange exchange) {
-        // lets pass in the headers as variables that the SQL can use
-        addVariables(exchange.getProperties());
-        addVariables(exchange.getIn().getHeaders());
-        addVariables(getVariables());
-
-        query.setVariable("exchange", exchange);
-        query.setVariable("in", exchange.getIn());
-        // To avoid the side effect of creating out message without notice
-        if (exchange.hasOut()) {
-            query.setVariable("out", exchange.getOut());
-        }
-    }
-
-    protected void addVariables(Map<String, Object> map) {
-        Set<Map.Entry<String, Object>> propertyEntries = map.entrySet();
-        for (Map.Entry<String, Object> entry : propertyEntries) {
-            query.setVariable(entry.getKey(), entry.getValue());
-        }
-    }
-}
diff --git a/components/camel-josql/src/main/java/org/apache/camel/language/sql/SqlLanguage.java b/components/camel-josql/src/main/java/org/apache/camel/language/sql/SqlLanguage.java
deleted file mode 100644
index 18057b2..0000000
--- a/components/camel-josql/src/main/java/org/apache/camel/language/sql/SqlLanguage.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.sql;
-
-import org.apache.camel.Expression;
-import org.apache.camel.ExpressionIllegalSyntaxException;
-import org.apache.camel.Predicate;
-import org.apache.camel.builder.sql.SqlBuilder;
-import org.apache.camel.support.LanguageSupport;
-import org.josql.QueryParseException;
-
-/**
- * JoSQL language.
- *
- * @version 
- */
-public class SqlLanguage extends LanguageSupport {
-   
-    public Predicate createPredicate(String expression) {
-        expression = loadResource(expression);
-        try {
-            SqlBuilder builder = SqlBuilder.sql(expression);
-            return builder;
-        } catch (QueryParseException e) {
-            throw new ExpressionIllegalSyntaxException(expression, e);
-        }
-        
-    }
-
-    public Expression createExpression(String expression) {
-        expression = loadResource(expression);
-        try {
-            SqlBuilder builder = SqlBuilder.sql(expression);
-            return builder;
-        } catch (QueryParseException e) {
-            throw new ExpressionIllegalSyntaxException(expression, e);
-        }
-    }
-    
-}
diff --git a/components/camel-josql/src/main/resources/META-INF/LICENSE.txt b/components/camel-josql/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-josql/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-josql/src/main/resources/META-INF/NOTICE.txt b/components/camel-josql/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-josql/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-josql/src/main/resources/META-INF/services/org/apache/camel/language/sql b/components/camel-josql/src/main/resources/META-INF/services/org/apache/camel/language/sql
deleted file mode 100644
index dce8f09..0000000
--- a/components/camel-josql/src/main/resources/META-INF/services/org/apache/camel/language/sql
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.language.sql.SqlLanguage
diff --git a/components/camel-josql/src/test/java/org/apache/camel/builder/sql/Person.java b/components/camel-josql/src/test/java/org/apache/camel/builder/sql/Person.java
deleted file mode 100644
index 3d314ab..0000000
--- a/components/camel-josql/src/test/java/org/apache/camel/builder/sql/Person.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.builder.sql;
-
-/**
- * @version 
- */
-public class Person {
-    private String name;
-    private String city;
-
-    public Person() {
-    }
-
-    public Person(String name, String city) {
-        this.name = name;
-        this.city = city;
-    }
-
-    public String toString() {
-        return "Person[" + name + "]";
-    }
-
-    public String getCity() {
-        return city;
-    }
-
-    public void setCity(String city) {
-        this.city = city;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-}
diff --git a/components/camel-josql/src/test/java/org/apache/camel/builder/sql/SqlTest.java b/components/camel-josql/src/test/java/org/apache/camel/builder/sql/SqlTest.java
deleted file mode 100644
index 1837d81..0000000
--- a/components/camel-josql/src/test/java/org/apache/camel/builder/sql/SqlTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.builder.sql;
-
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Expression;
-import org.apache.camel.Message;
-import org.apache.camel.impl.DefaultExchange;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Before;
-import org.junit.Test;
-
-import static org.apache.camel.builder.sql.SqlBuilder.sql;
-
-/**
- * @version 
- */
-public class SqlTest extends CamelTestSupport {
-
-    protected Exchange exchange;
-
-    @Test
-    public void testExpression() throws Exception {
-        Expression expression = sql("SELECT * FROM org.apache.camel.builder.sql.Person where city = 'London'");
-        List<?> value = expression.evaluate(exchange, List.class);
-        assertEquals("List size", 2, value.size());
-
-        for (Object person : value) {
-            log.info("Found: " + person);
-        }
-    }
-
-    @Test
-    public void testExpressionWithHeaderVariable() throws Exception {
-        Expression expression = sql("SELECT * FROM org.apache.camel.builder.sql.Person where name = :fooHeader");
-        List<?> value = expression.evaluate(exchange, List.class);
-        assertEquals("List size", 1, value.size());
-
-        for (Object person : value) {
-            log.info("Found: " + person);
-
-            assertEquals("name", "James", ((Person)person).getName());
-        }
-    }
-
-    @Test
-    public void testPredicates() throws Exception {
-        assertPredicate(sql("SELECT * FROM org.apache.camel.builder.sql.Person where city = 'London'"), exchange, true);
-        assertPredicate(sql("SELECT * FROM org.apache.camel.builder.sql.Person where city = 'Manchester'"), exchange, false);
-    }
-
-    @Test
-    public void testPredicateWithHeaderVariable() throws Exception {
-        assertPredicate(sql("SELECT * FROM org.apache.camel.builder.sql.Person where name = :fooHeader"), exchange, true);
-    }
-
-    @Before
-    public void setUp() throws Exception {        
-        super.setUp();
-        exchange = createExchange();
-    }
-
-    protected Exchange createExchange() {
-        Exchange exchange = new DefaultExchange(context);
-        Message message = exchange.getIn();
-        message.setHeader("fooHeader", "James");
-
-        Person[] people = {
-            new Person("James", "London"), 
-            new Person("Guillaume", "Normandy"), 
-            new Person("Rob", "London"), 
-            new Person("Hiram", "Tampa")
-        };
-
-        message.setBody(people);
-        return exchange;
-    }
-}
diff --git a/components/camel-josql/src/test/java/org/apache/camel/lanaguage/sql/SqlLanguageTest.java b/components/camel-josql/src/test/java/org/apache/camel/lanaguage/sql/SqlLanguageTest.java
deleted file mode 100644
index d6cb174..0000000
--- a/components/camel-josql/src/test/java/org/apache/camel/lanaguage/sql/SqlLanguageTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.lanaguage.sql;
-
-import java.util.List;
-
-import org.apache.camel.Expression;
-import org.apache.camel.builder.sql.Person;
-import org.apache.camel.builder.sql.SqlTest;
-import org.apache.camel.spi.Language;
-import org.junit.Test;
-
-/**
- * @version 
- */
-public class SqlLanguageTest extends SqlTest {
-
-    @Test
-    public void testExpression() throws Exception {
-        Language language = assertResolveLanguage(getLanguageName());
-
-        Expression expression = language.createExpression("SELECT * FROM org.apache.camel.builder.sql.Person where city = 'London'");        
-        List<?> value = expression.evaluate(exchange, List.class);
-        assertEquals("List size", 2, value.size());
-
-        for (Object person : value) {
-            log.info("Found: " + person);
-        }
-    }
-
-    @Test
-    public void testExpressionWithHeaderVariable() throws Exception {
-        Language language = assertResolveLanguage(getLanguageName());
-
-        Expression expression = language.createExpression("SELECT * FROM org.apache.camel.builder.sql.Person where name = :fooHeader");
-        List<?> value = expression.evaluate(exchange, List.class);
-        assertEquals("List size", 1, value.size());
-
-        for (Object person : value) {
-            log.info("Found: " + person);
-
-            assertEquals("name", "James", ((Person) person).getName());
-        }
-    }
-
-    @Test
-    public void testPredicates() throws Exception {
-        Language language = assertResolveLanguage(getLanguageName());
-        assertPredicate(language.createPredicate("SELECT * FROM org.apache.camel.builder.sql.Person where city = 'London'"), exchange, true);
-        assertPredicate(language.createPredicate("SELECT * FROM org.apache.camel.builder.sql.Person where city = 'Manchester'"), exchange, false);
-    }
-
-    @Test
-    public void testPredicateWithHeaderVariable() throws Exception {
-        Language language = assertResolveLanguage(getLanguageName());
-        assertPredicate(language.createPredicate("SELECT * FROM org.apache.camel.builder.sql.Person where name = :fooHeader"), exchange, true);
-    }
-
-    protected String getLanguageName() {
-        return "sql";
-    }
-    
-}
diff --git a/components/camel-josql/src/test/java/org/apache/camel/lanaguage/sql/SqlResourceTest.java b/components/camel-josql/src/test/java/org/apache/camel/lanaguage/sql/SqlResourceTest.java
deleted file mode 100644
index c823d73..0000000
--- a/components/camel-josql/src/test/java/org/apache/camel/lanaguage/sql/SqlResourceTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.lanaguage.sql;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.builder.sql.Person;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-/**
- *
- */
-public class SqlResourceTest extends CamelTestSupport {
-
-    @Test
-    public void testSqlResource() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(1);
-        getMockEndpoint("mock:result").expectedHeaderReceived("foo", 123);
-        getMockEndpoint("mock:name").expectedBodiesReceived("Hiram");
-
-        template.sendBody("direct:start", createBody());
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @SuppressWarnings({"rawtypes"})
-    private List createBody() {
-        List<Person> list = new ArrayList<>();
-        list.add(new Person("James", "London"));
-        list.add(new Person("Guillaume", "Normandy"));
-        list.add(new Person("Hiram", "Tampa"));
-        list.add(new Person("Rob", "London"));
-        return list;
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start")
-                        .setHeader("foo", constant(123))
-                        .transform().sql("resource:classpath:myjosql.txt")
-                        .to("mock:result")
-                        // the result from josql is a spreadsheet eg list<list> so we grab the 1st data
-                        .transform().simple("${body[0][0]}")
-                        .to("mock:name");
-            }
-        };
-    }
-}
diff --git a/components/camel-josql/src/test/resources/log4j2.properties b/components/camel-josql/src/test/resources/log4j2.properties
deleted file mode 100644
index 46e4967..0000000
--- a/components/camel-josql/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-appender.file.type = File
-appender.file.name = file
-appender.file.fileName = target/camel-josql-test.log
-appender.file.layout.type = PatternLayout
-appender.file.layout.pattern = %d %-5p %c{1} - %m %n
-appender.stdout.type = Console
-appender.stdout.name = stdout
-appender.stdout.layout.type = PatternLayout
-appender.stdout.layout.pattern = %d %-5p %c{1} - %m %n
-rootLogger.level = INFO
-rootLogger.appenderRef.file.ref = file
diff --git a/components/camel-josql/src/test/resources/myjosql.txt b/components/camel-josql/src/test/resources/myjosql.txt
deleted file mode 100644
index 2753591..0000000
--- a/components/camel-josql/src/test/resources/myjosql.txt
+++ /dev/null
@@ -1 +0,0 @@
-SELECT name FROM org.apache.camel.builder.sql.Person where city = 'Tampa'
\ No newline at end of file
diff --git a/components/camel-juel/pom.xml b/components/camel-juel/pom.xml
deleted file mode 100644
index 30638e5..0000000
--- a/components/camel-juel/pom.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>components</artifactId>
-    <version>3.0.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>camel-juel</artifactId>
-  <packaging>jar</packaging>
-  <name>Camel :: JUEL (deprecated)</name>
-  <description>Camel JUEL support</description>
-
-  <properties>
-    <camel.osgi.import.before.defaults>javax.el;version="[2,3)"</camel.osgi.import.before.defaults>
-    <camel.osgi.export.pkg>org.apache.camel.language.juel.*</camel.osgi.export.pkg>
-    <camel.osgi.export.service>org.apache.camel.spi.LanguageResolver;language=el</camel.osgi.export.service>
-  </properties>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-el_1.0_spec</artifactId>
-      <version>${geronimo-el-spec-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>de.odysseus.juel</groupId>
-      <artifactId>juel</artifactId>
-      <version>${juel-version}</version>
-    </dependency>
-
-    <!-- test dependencies -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test</artifactId>
-      <scope>test</scope>
-    </dependency>   
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-slf4j-impl</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-</project>
diff --git a/components/camel-juel/src/main/docs/el-language.adoc b/components/camel-juel/src/main/docs/el-language.adoc
deleted file mode 100644
index c2f02fa..0000000
--- a/components/camel-juel/src/main/docs/el-language.adoc
+++ /dev/null
@@ -1,123 +0,0 @@
-[[el-language]]
-== EL Language (deprecated)
-[[EL-EL]]
-*Available as of Camel version 1.1.0*
-
-EL
-~~
-
-Camel supports the unified JSP and JSF Expression Language via the
-http://juel.sourceforge.net/[JUEL] to allow an
-Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
-Configuration].
-
-For example you could use EL inside a link:message-filter.html[Message
-Filter] in XML
-
-[source,xml]
----------------------------------------
-<route>
-  <from uri="seda:foo"/>
-  <filter>
-    <el>${in.headers.foo == 'bar'}</el>
-    <to uri="seda:bar"/>
-  </filter>
-</route>
----------------------------------------
-
-You could also use slightly different syntax, e.g. if the header name is
-not a valid identifier:
-
-[source,xml]
-------------------------------------------------
-<route>
-  <from uri="seda:foo"/>
-  <filter>
-    <el>${in.headers['My Header'] == 'bar'}</el>
-    <to uri="seda:bar"/>
-  </filter>
-</route>
-------------------------------------------------
-
-You could use EL to create an Predicate in a
-Message Filter or as an
-Expression for a
-Recipient List
-
-### EL Options
-
-
-
-// language options: START
-The EL language supports 1 options, which are listed below.
-
-
-
-[width="100%",cols="2,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| trim | true | Boolean | Whether to trim the value to remove leading and trailing whitespaces and line breaks
-|===
-// language options: END
-// spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
-
-
-The component supports 2 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *camel.language.el.enabled* | Enable el language | true | Boolean
-| *camel.language.el.trim* | Whether to trim the value to remove leading and trailing whitespaces and line breaks | true | Boolean
-|===
-// spring-boot-auto-configure options: END
-
-
-### Variables
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Variable |Type |Description
-
-|exchange |Exchange |the Exchange object
-
-|in |Message |the exchange.in message
-
-|out |Message |the exchange.out message
-|=======================================================================
-
-### Samples
-
-You can use EL dot notation to invoke operations. If you for instance
-have a body that contains a POJO that has a `getFamiliyName` method then
-you can construct the syntax as follows:
-
-[source,java]
------------------------
-"${in.body.familyName}"
------------------------
-
-### Dependencies
-
-To use EL in your camel routes you need to add the a dependency on
-*camel-juel* which implements the EL language.
-
-If you use maven you could just add the following to your pom.xml,
-substituting the version number for the latest & greatest release (see
-the download page for the latest versions).
-
-[source,java]
--------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-juel</artifactId>
-  <version>x.x.x</version>
-</dependency>
--------------------------------------
-
-Otherwise you'll also need to include
-http://repo2.maven.org/maven2/de/odysseus/juel/juel/2.1.3/juel-2.1.3.jar[JUEL].
diff --git a/components/camel-juel/src/main/java/org/apache/camel/language/juel/BeanAndMethodELResolver.java b/components/camel-juel/src/main/java/org/apache/camel/language/juel/BeanAndMethodELResolver.java
deleted file mode 100644
index bea9089..0000000
--- a/components/camel-juel/src/main/java/org/apache/camel/language/juel/BeanAndMethodELResolver.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.juel;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.el.BeanELResolver;
-import javax.el.ELContext;
-import javax.el.PropertyNotFoundException;
-
-/**
- * An extension of the JUEL {@link BeanELResolver} which also supports the resolving of methods
- *
- * @version 
- */
-public class BeanAndMethodELResolver extends BeanELResolver {
-    public BeanAndMethodELResolver() {
-        super(false);
-    }
-
-    @Override
-    public Object getValue(ELContext elContext, Object base, Object property) {
-        try {
-            return (property instanceof Method) ? property : super.getValue(elContext, base, property);
-        } catch (PropertyNotFoundException e) {
-            // lets see if its a method call...
-            Method method = findMethod(elContext, base, property);
-            if (method != null) {
-                elContext.setPropertyResolved(true);
-                return method;
-            } else {
-                throw e;
-            }
-        }
-    }
-
-    protected Method findMethod(ELContext elContext, Object base, Object property) {
-        if (base != null) {
-            Method[] methods = base.getClass().getMethods();
-            List<Method> matching = new ArrayList<>();
-            for (Method method : methods) {
-                if (method.getName().equals(property.toString()) && Modifier.isPublic(method.getModifiers())) {
-                    matching.add(method);
-                }
-            }
-            int size = matching.size();
-            if (size > 0) {
-                if (size > 1) {
-                    // TODO there's currently no way for JUEL to tell us how many parameters there are
-                    // so lets just pick the first one that has a single param by default
-                    for (Method method : matching) {
-                        Class<?>[] paramTypes = method.getParameterTypes();
-                        if (paramTypes.length == 1) {
-                            return method;
-                        }
-                    }
-                }
-                // lets default to the first one
-                return matching.get(0);
-            }
-        }
-        return null;
-    }
-}
diff --git a/components/camel-juel/src/main/java/org/apache/camel/language/juel/EL.java b/components/camel-juel/src/main/java/org/apache/camel/language/juel/EL.java
deleted file mode 100644
index 630e861..0000000
--- a/components/camel-juel/src/main/java/org/apache/camel/language/juel/EL.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.juel;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.camel.language.LanguageAnnotation;
-
-/**
- * An annotation for injection of EL (JSP & JSF) expressions into method parameters, fields or properties
- *
- * @version 
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
-@LanguageAnnotation(language = "el")
-@Deprecated
-public @interface EL {
-    String value();
-}
\ No newline at end of file
diff --git a/components/camel-juel/src/main/java/org/apache/camel/language/juel/JuelExpression.java b/components/camel-juel/src/main/java/org/apache/camel/language/juel/JuelExpression.java
deleted file mode 100644
index 92db0a5..0000000
--- a/components/camel-juel/src/main/java/org/apache/camel/language/juel/JuelExpression.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.juel;
-
-import java.io.IOException;
-
-import javax.el.ArrayELResolver;
-import javax.el.CompositeELResolver;
-import javax.el.ELContext;
-import javax.el.ELResolver;
-import javax.el.ExpressionFactory;
-import javax.el.ListELResolver;
-import javax.el.MapELResolver;
-import javax.el.ResourceBundleELResolver;
-import javax.el.ValueExpression;
-import de.odysseus.el.ExpressionFactoryImpl;
-import de.odysseus.el.util.SimpleContext;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.spi.FactoryFinder;
-import org.apache.camel.support.ExpressionSupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * The <a href="http://camel.apache.org/el.html">EL Language from JSP and JSF</a>
- * using the <a href="http://camel.apache.org/juel.html">JUEL library</a>
- *
- * @version 
- */
-public class JuelExpression extends ExpressionSupport {
-    public static final String DEFAULT_EXPRESSION_FACTORY_IMPL_CLASS = "de.odysseus.el.ExpressionFactoryImpl";
-    private static final Logger LOG = LoggerFactory.getLogger(JuelExpression.class);
-
-    private final String expression;
-    private final Class<?> type;
-    private ExpressionFactory expressionFactory;
-
-    public JuelExpression(String expression, Class<?> type) {
-        this.expression = expression;
-        this.type = type;
-    }
-
-    public static JuelExpression el(String expression) {
-        return new JuelExpression(expression, Object.class);
-    }
-
-    public <T> T evaluate(Exchange exchange, Class<T> tClass) {
-        // Create (if needed) the ExpressionFactory first from the CamelContext using FactoryFinder
-        ExpressionFactory factory = getExpressionFactory(exchange.getContext());
-        ELContext context = populateContext(createContext(), exchange);
-        ValueExpression valueExpression = factory.createValueExpression(context, expression, type);
-        Object value = valueExpression.getValue(context);
-        LOG.trace("Value returned {}", value);
-        return exchange.getContext().getTypeConverter().convertTo(tClass, value);
-    }
-
-    public synchronized ExpressionFactory getExpressionFactory(CamelContext context) {
-        if (expressionFactory == null && context != null) {
-            try {
-                FactoryFinder finder = context.getFactoryFinder("META-INF/services/org/apache/camel/language/");
-                Class<?> clazz = finder.findClass("el", "impl.", ExpressionFactory.class);
-                if (clazz != null) {
-                    expressionFactory = (ExpressionFactory)clazz.newInstance();
-                }
-            } catch (ClassNotFoundException e) {
-                LOG.debug("'impl.class' not found", e);
-            } catch (IOException e) {
-                LOG.debug("No impl class for juel ExpressionFactory defined in 'META-INF/services/org/apache/camel/language/el'", e);
-            } catch (InstantiationException e) {
-                LOG.debug("Failed to instantiate juel ExpressionFactory implementation class.", e);
-            } catch (IllegalAccessException e) {
-                LOG.debug("Failed to instantiate juel ExpressionFactory implementation class.", e);
-            }
-        }
-        return getExpressionFactory();
-    }
-
-    public synchronized ExpressionFactory getExpressionFactory() {
-        if (expressionFactory == null) {
-            expressionFactory = new ExpressionFactoryImpl();
-        }
-        return expressionFactory;
-    }
-
-    public void setExpressionFactory(ExpressionFactory expressionFactory) {
-        this.expressionFactory = expressionFactory;
-    }
-
-    protected ELContext populateContext(ELContext context, Exchange exchange) {
-        setVariable(context, "exchange", exchange, Exchange.class);
-        setVariable(context, "in", exchange.getIn(), Message.class);
-        if (exchange.hasOut()) {
-            setVariable(context, "out", exchange.getOut(), Message.class);
-        }
-        return context;
-    }
-
-    protected void setVariable(ELContext context, String name, Object value, Class<?> type) {
-        ValueExpression valueExpression = getExpressionFactory().createValueExpression(value, type);
-        SimpleContext simpleContext = (SimpleContext) context;
-        simpleContext.setVariable(name, valueExpression);
-    }
-
-    /**
-     * Factory method to create the EL context
-     */
-    protected ELContext createContext() {
-        ELResolver resolver = new CompositeELResolver() {
-            {
-                add(new ArrayELResolver(false));
-                add(new ListELResolver(false));
-                add(new MapELResolver(false));
-                add(new ResourceBundleELResolver());
-                add(new BeanAndMethodELResolver());
-            }
-        };
-        return new SimpleContext(resolver);
-    }
-
-    protected String assertionFailureMessage(Exchange exchange) {
-        return expression;
-    }
-}
diff --git a/components/camel-juel/src/main/java/org/apache/camel/language/juel/JuelLanguage.java b/components/camel-juel/src/main/java/org/apache/camel/language/juel/JuelLanguage.java
deleted file mode 100644
index 211a969..0000000
--- a/components/camel-juel/src/main/java/org/apache/camel/language/juel/JuelLanguage.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.juel;
-
-import org.apache.camel.Expression;
-import org.apache.camel.Predicate;
-import org.apache.camel.support.LanguageSupport;
-
-/**
- * The <a href="http://camel.apache.org/el.html">EL Language from JSP and JSF</a>
- *
- * @version 
- */
-public class JuelLanguage extends LanguageSupport {
-
-    public Predicate createPredicate(String expression) {
-        expression = loadResource(expression);
-        return new JuelExpression(expression, Boolean.class);
-    }
-
-    public Expression createExpression(String expression) {
-        expression = loadResource(expression);
-        return new JuelExpression(expression, Object.class);
-    }
-}
diff --git a/components/camel-juel/src/main/java/org/apache/camel/language/juel/package.html b/components/camel-juel/src/main/java/org/apache/camel/language/juel/package.html
deleted file mode 100644
index 3dfbcd8..0000000
--- a/components/camel-juel/src/main/java/org/apache/camel/language/juel/package.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!--
-    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.
--->
-<html>
-<head>
-</head>
-<body>
-
-A <a href="http://activemq.apache.org/camel/language.html">Language Plugin</a> for the
-<a href="http://activemq.apache.org/camel/el.html">EL Language from JSP and JSF</a> using the
-<a href="http://activemq.apache.org/camel/juel.html">JUEL library</a>
-
-</body>
-</html>
diff --git a/components/camel-juel/src/main/resources/META-INF/LICENSE.txt b/components/camel-juel/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-juel/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-juel/src/main/resources/META-INF/NOTICE.txt b/components/camel-juel/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-juel/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-juel/src/main/resources/META-INF/services/org/apache/camel/language/el b/components/camel-juel/src/main/resources/META-INF/services/org/apache/camel/language/el
deleted file mode 100644
index 92bbaed..0000000
--- a/components/camel-juel/src/main/resources/META-INF/services/org/apache/camel/language/el
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# 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.language.juel.JuelLanguage
-impl.class=de.odysseus.el.ExpressionFactoryImpl
\ No newline at end of file
diff --git a/components/camel-juel/src/main/resources/el.properties b/components/camel-juel/src/main/resources/el.properties
deleted file mode 100644
index 7cbe10e..0000000
--- a/components/camel-juel/src/main/resources/el.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-javax.el.methodInvocations=true
-javax.el.varArgs=true
-javax.el.nullProperties=true
-
diff --git a/components/camel-juel/src/test/data/bar.xml b/components/camel-juel/src/test/data/bar.xml
deleted file mode 100644
index a4fb428..0000000
--- a/components/camel-juel/src/test/data/bar.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<hello>barResponse</hello>
diff --git a/components/camel-juel/src/test/data/foo.xml b/components/camel-juel/src/test/data/foo.xml
deleted file mode 100644
index 01905df..0000000
--- a/components/camel-juel/src/test/data/foo.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<hello>fooResponse</hello>
diff --git a/components/camel-juel/src/test/java/org/apache/camel/language/juel/JuelLanguageTest.java b/components/camel-juel/src/test/java/org/apache/camel/language/juel/JuelLanguageTest.java
deleted file mode 100644
index 8cf04da..0000000
--- a/components/camel-juel/src/test/java/org/apache/camel/language/juel/JuelLanguageTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.juel;
-
-import org.apache.camel.test.junit4.LanguageTestSupport;
-import org.junit.Test;
-
-/**
- * @version 
- */
-public class JuelLanguageTest extends LanguageTestSupport {
-
-    @Test
-    public void testElExpressions() throws Exception {
-        assertExpression("${exchange}", exchange);
-        assertExpression("${in.headers.foo}", "abc");
-        assertExpression("${in.body}", "<hello id='m123'>world!</hello>");
-    }
-
-    @Test
-    public void testElPredicates() throws Exception {
-        assertPredicate("${in.headers.foo.startsWith('a')}");
-        assertPredicate("${in.headers.foo == 'abc'}");
-        assertPredicateFails("${in.headers.foo == 'badString'}");
-
-        assertPredicate("${in.headers['foo'] == 'abc'}");
-        assertPredicateFails("${in.headers['foo'] == 'badString'}");
-    }
-
-    protected String getLanguageName() {
-        return "el";
-    }
-}
diff --git a/components/camel-juel/src/test/java/org/apache/camel/language/juel/JuelResourceTest.java b/components/camel-juel/src/test/java/org/apache/camel/language/juel/JuelResourceTest.java
deleted file mode 100644
index 700fc76..0000000
--- a/components/camel-juel/src/test/java/org/apache/camel/language/juel/JuelResourceTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.juel;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-/**
- *
- */
-public class JuelResourceTest extends CamelTestSupport {
-
-    @Test
-    public void testJuelResource() throws Exception {
-        getMockEndpoint("mock:result").expectedBodiesReceived("The name is Camel");
-
-        template.sendBody("direct:start", "Camel");
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start")
-                    .transform().el("resource:classpath:juel.txt")
-                    .to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-juel/src/test/java/org/apache/camel/language/juel/JuelTest.java b/components/camel-juel/src/test/java/org/apache/camel/language/juel/JuelTest.java
deleted file mode 100644
index 1a2c527..0000000
--- a/components/camel-juel/src/test/java/org/apache/camel/language/juel/JuelTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.juel;
-
-import javax.el.ELContext;
-import javax.el.ExpressionFactory;
-import javax.el.ValueExpression;
-
-import de.odysseus.el.ExpressionFactoryImpl;
-import de.odysseus.el.util.SimpleContext;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-
-/**
- * @version 
- */
-public class JuelTest extends Assert {
-
-    @Test
-    public void testJuel() throws Exception {
-        ExpressionFactory factory = new ExpressionFactoryImpl();
-        ELContext context  = new SimpleContext();
-        ValueExpression valueExpression = factory.createValueExpression(context, "${123 * 2}", Object.class);
-        Object value = valueExpression.getValue(context);
-
-        assertEquals("Result is a Long object", 246L, value);
-    }
-}
diff --git a/components/camel-juel/src/test/java/org/apache/camel/language/juel/NullBodyTest.java b/components/camel-juel/src/test/java/org/apache/camel/language/juel/NullBodyTest.java
deleted file mode 100644
index c90b16b..0000000
--- a/components/camel-juel/src/test/java/org/apache/camel/language/juel/NullBodyTest.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.juel;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-import static org.apache.camel.language.juel.JuelExpression.el;
-
-/**
- * @version 
- */
-public class NullBodyTest extends CamelTestSupport {
-
-    @Test
-    public void testNullBody() throws Exception {
-        MockEndpoint resultEndpoint = getMockEndpoint("mock:After");
-
-        resultEndpoint.expectedBodiesReceived("xxtestbodyxx");
-
-        template.sendBody("seda:nullbodytest", "testbody");
-
-        resultEndpoint.assertIsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() {
-                from("seda:nullbodytest")
-                        .to("mock:Before")
-                        //.setBody().el("xx${in.body}xx")
-                        .setBody(el("xx${in.body}xx"))
-                        .to("mock:After");
-            }
-        };
-    }
-}
diff --git a/components/camel-juel/src/test/java/org/apache/camel/language/juel/issues/XsltLosesHeaderTest.java b/components/camel-juel/src/test/java/org/apache/camel/language/juel/issues/XsltLosesHeaderTest.java
deleted file mode 100644
index a54578c..0000000
--- a/components/camel-juel/src/test/java/org/apache/camel/language/juel/issues/XsltLosesHeaderTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.juel.issues;
-
-import javax.xml.transform.TransformerConfigurationException;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.Processor;
-import org.apache.camel.StringSource;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.builder.xml.XsltBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-import static org.apache.camel.language.juel.JuelExpression.el;
-
-/**
- * @version 
- */
-public class XsltLosesHeaderTest extends CamelTestSupport {
-    protected String xslt = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>"
-            + "<xsl:stylesheet version=\"2.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">"
-            + "<xsl:template match=\"/cats\">"
-            + "<b>dummy</b>"
-            + "</xsl:template>"
-            + "</xsl:stylesheet>";
-
-    @Test
-    public void testXsltLosesHeader() throws Exception {
-
-        MockEndpoint endpointAfter = getMockEndpoint("mock:After");
-        MockEndpoint endpointBefore = getMockEndpoint("mock:Before");
-
-        endpointBefore.expectedBodiesReceived("header:hello");
-        endpointAfter.expectedBodiesReceived("header:hello");
-
-        template.send("seda:xslttest", new Processor() {
-            public void process(Exchange exchange) {
-                Message in = exchange.getIn();
-                in.setBody("dummy");
-            }
-        });
-
-        endpointBefore.assertIsSatisfied();
-        endpointAfter.assertIsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws TransformerConfigurationException {
-                from("seda:xslttest")
-                        .setHeader("testheader", el("hello"))
-                        .setBody(el("header:${in.headers.testheader}"))
-                        .to("mock:Before")
-                        .setBody(el("<cats><cat id=\"1\"/><cat id=\"2\"/></cats>"))
-                        .process(XsltBuilder.xslt(new StringSource(xslt)))
-                        .setBody(el("header:${in.headers.testheader}"))
-                        .to("mock:After");
-            }
-        };
-    }
-}
\ No newline at end of file
diff --git a/components/camel-juel/src/test/java/org/apache/camel/processor/juel/SimulatorTest.java b/components/camel-juel/src/test/java/org/apache/camel/processor/juel/SimulatorTest.java
deleted file mode 100644
index c224b17..0000000
--- a/components/camel-juel/src/test/java/org/apache/camel/processor/juel/SimulatorTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.processor.juel;
-
-import javax.naming.Context;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.InvalidPayloadException;
-import org.apache.camel.Message;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.apache.camel.util.jndi.JndiContext;
-
-import org.junit.Test;
-
-import static org.apache.camel.language.juel.JuelExpression.el;
-
-/**
- * @version 
- */
-public class SimulatorTest extends CamelTestSupport {
-
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
-        answer.bind("foo", new MyBean("foo"));
-        answer.bind("bar", new MyBean("bar"));
-        return answer;
-    }
-
-    @Test
-    public void testReceivesFooResponse() throws Exception {
-        assertRespondsWith("foo", "Bye said foo");
-    }
-
-    @Test
-    public void testReceivesBarResponse() throws Exception {
-        assertRespondsWith("bar", "Bye said bar");
-    }
-
-    protected void assertRespondsWith(final String value, String containedText) throws InvalidPayloadException {
-        Exchange response = template.request("direct:a", new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                Message in = exchange.getIn();
-                in.setBody("answer");
-                in.setHeader("cheese", value);
-            }
-        });
-
-        assertNotNull("Should receive a response!", response);
-
-        String text = response.getOut().getMandatoryBody(String.class);
-        assertStringContains(text, containedText);
-    }
-
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            public void configure() {
-                // START SNIPPET: example
-                from("direct:a").
-                    recipientList(el("bean:${in.headers.cheese}"));
-                // END SNIPPET: example
-            }
-        };
-    }
-
-    public static class MyBean {
-        private String value;
-
-        public MyBean(String value) {
-            this.value = value;
-        }
-
-        public String doSomething(String in) {
-            return "Bye said " + value;
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/components/camel-juel/src/test/resources/juel.txt b/components/camel-juel/src/test/resources/juel.txt
deleted file mode 100644
index 3f8b7bf..0000000
--- a/components/camel-juel/src/test/resources/juel.txt
+++ /dev/null
@@ -1 +0,0 @@
-The name is ${in.body}
\ No newline at end of file
diff --git a/components/camel-juel/src/test/resources/log4j2.properties b/components/camel-juel/src/test/resources/log4j2.properties
deleted file mode 100644
index c5c6ba0..0000000
--- a/components/camel-juel/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-appender.out.type = File
-appender.out.name = out
-appender.out.fileName = target/camel-juel-test.log
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.stdout.type = Console
-appender.stdout.name = stdout
-appender.stdout.layout.type = PatternLayout
-appender.stdout.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-rootLogger.level = INFO
-rootLogger.appenderRef.out.ref = out
diff --git a/components/camel-jxpath/pom.xml b/components/camel-jxpath/pom.xml
deleted file mode 100644
index 6f53080..0000000
--- a/components/camel-jxpath/pom.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>components</artifactId>
-    <version>3.0.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>camel-jxpath</artifactId>
-  <packaging>jar</packaging>
-  <name>Camel :: JXPath (deprecated)</name>
-  <description>Camel JXPath support</description>
-
-  <properties>
-    <!-- need to import spi as felix-bundle-plugin has a bug and do not include this package despite we use in the source code -->
-    <camel.osgi.import.before.defaults>org.apache.camel.spi;${camel.osgi.import.strict.version}</camel.osgi.import.before.defaults>
-    <camel.osgi.export.pkg>org.apache.camel.language.jxpath.*</camel.osgi.export.pkg>
-    <camel.osgi.export.service>org.apache.camel.spi.LanguageResolver;language=jxpath</camel.osgi.export.service>
-  </properties>
-
-  <dependencies>
-
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>commons-jxpath</groupId>
-      <artifactId>commons-jxpath</artifactId>
-      <version>${commons-jxpath-version}</version>
-    </dependency>
-
-    <!-- test dependencies -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test-spring</artifactId>
-      <scope>test</scope>
-    </dependency>   
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-slf4j-impl</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-</project>
diff --git a/components/camel-jxpath/src/main/docs/jxpath-language.adoc b/components/camel-jxpath/src/main/docs/jxpath-language.adoc
deleted file mode 100644
index f948ca7..0000000
--- a/components/camel-jxpath/src/main/docs/jxpath-language.adoc
+++ /dev/null
@@ -1,172 +0,0 @@
-[[jxpath-language]]
-== JXPath Language (deprecated)
-
-*Available as of Camel version 1.3*
-
-Camel supports http://commons.apache.org/jxpath/[JXPath] to allow
-<<xpath-language,XPath>> expressions to be used on beans in an
-Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
-Configuration]. For example you could use JXPath to create an
-Predicate in a link:message-filter.html[Message
-Filter] or as an Expression for a
-Recipient List.
-
-You can use XPath expressions directly using smart completion in your
-IDE as follows
-
-[source,java]
----------------------------
-from("queue:foo").filter().
-  jxpath("/in/body/foo").
-  to("queue:bar")
----------------------------
-
-### JXPath Options
-
-
-// language options: START
-The JXPath language supports 2 options, which are listed below.
-
-
-
-[width="100%",cols="2,1m,1m,6",options="header"]
-|===
-| Name | Default | Java Type | Description
-| lenient | false | Boolean | Allows to turn lenient on the JXPathContext. When turned on this allows the JXPath expression to evaluate against expressions and message bodies which may be invalid / missing data. This option is by default false
-| trim | true | Boolean | Whether to trim the value to remove leading and trailing whitespaces and line breaks
-|===
-// language options: END
-// spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
-
-
-The component supports 3 options, which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|===
-| Name | Description | Default | Type
-| *camel.language.jxpath.enabled* | Enable jxpath language | true | Boolean
-| *camel.language.jxpath.lenient* | Allows to turn lenient on the JXPathContext. When turned on this allows the JXPath expression to evaluate against expressions and message bodies which may be invalid / missing data. This option is by default false | false | Boolean
-| *camel.language.jxpath.trim* | Whether to trim the value to remove leading and trailing whitespaces and line breaks | true | Boolean
-|===
-// spring-boot-auto-configure options: END
-
-
-
-
-### Variables
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Variable |Type |Description
-
-|*this* |Exchange |the Exchange object
-
-|in |Message |the exchange.in message
-
-|out |Message |the exchange.out message
-|=======================================================================
-
-### Options
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Option |Type |Description
-
-|lenient |boolean |*Camel 2.11/2.10.5:* Allows to turn lenient on the JXPathContext. When
-turned on this allows the JXPath expression to evaluate against
-expressions and message bodies which may be invalid / missing data. See
-more details at the
-http://commons.apache.org/proper/commons-jxpath//users-guide.html#Lenient_Mode[JXPath
-Documentation] This option is by default false.
-|=======================================================================
-
-### Using XML configuration
-
-If you prefer to configure your routes in your Spring
-XML file then you can use JXPath expressions as follows
-
-[source,xml]
----------------------------------------------------------------------------------------------------------------
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
-
-  <camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring">
-    <route>
-      <from uri="activemq:MyQueue"/>
-      <filter>
-        <jxpath>in/body/name = 'James'</xpath>
-        <to uri="mqseries:SomeOtherQueue"/>
-      </filter>
-    </route>
-  </camelContext>
-</beans>
----------------------------------------------------------------------------------------------------------------
-
-### Examples
-
-Here is a simple
-http://svn.apache.org/repos/asf/camel/trunk/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterTest.java[example]
-using a JXPath expression as a predicate in a
-Message Filter
-
-### JXPath injection
-
-You can use Bean Integration to invoke a
-method on a bean and use various languages such as JXPath to extract a
-value from the message and bind it to a method parameter.
-
-For example
-
-[source,java]
----------------------------------------------------------------------------------------------
-public class Foo {
-    
-    @MessageDriven(uri = "activemq:my.queue")
-    public void doSomething(@JXPath("in/body/foo") String correlationID, @Body String body) {
-        // process the inbound message here
-    }
-}
----------------------------------------------------------------------------------------------
-
-### Loading script from external resource
-
-*Available as of Camel 2.11*
-
-You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
- This is done using the following syntax: `"resource:scheme:location"`,
-eg to refer to a file on the classpath you can do:
-
-[source,java]
-----------------------------------------------------------------
-.setHeader("myHeader").jxpath("resource:classpath:myjxpath.txt")
-----------------------------------------------------------------
-
-### Dependencies
-
-To use JXpath in your camel routes you need to add the a dependency on
-*camel-jxpath* which implements the JXpath language.
-
-If you use maven you could just add the following to your pom.xml,
-substituting the version number for the latest & greatest release (see
-the download page for the latest versions).
-
-[source,java]
----------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-jxpath</artifactId>
-  <version>x.x.x</version>
-</dependency>
----------------------------------------
-
-Otherwise, you'll also need
-http://repo2.maven.org/maven2/commons-jxpath/commons-jxpath/1.3/commons-jxpath-1.3.jar[Commons
-JXPath].
diff --git a/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPath.java b/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPath.java
deleted file mode 100644
index c431216..0000000
--- a/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPath.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.apache.camel.language.LanguageAnnotation;
-
-/**
- * An annotation used to inject a <a href="http://commons.apache.org/jxpath/">JXPath</a>
- * expression into a method parameter when using
- * <a href="http://camel.apache.org/bean-integration.html">Bean Integration</a>
- *
- * @version 
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Documented
-@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER })
-@LanguageAnnotation(language = "jxpath")
-@Deprecated
-public @interface JXPath {
-    String value();
-}
\ No newline at end of file
diff --git a/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPathExpression.java b/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPathExpression.java
deleted file mode 100644
index 70c0b37..0000000
--- a/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPathExpression.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.ExpressionEvaluationException;
-import org.apache.camel.support.ExpressionSupport;
-import org.apache.commons.jxpath.CompiledExpression;
-import org.apache.commons.jxpath.JXPathContext;
-import org.apache.commons.jxpath.JXPathException;
-
-/**
- * <a href="http://commons.apache.org/jxpath/">JXPath</a> {@link org.apache.camel.Expression} support
- */
-public class JXPathExpression extends ExpressionSupport {
-
-    private final String expression;
-    private CompiledExpression compiledExpression;
-    private final Class<?> type;
-    private boolean lenient;
-
-    /**
-     * Creates a new JXPathExpression instance (lenient is disabled)
-     * 
-     * @param expression the JXPath expression to be evaluated
-     * @param type the expected result type
-     */
-    public JXPathExpression(String expression, Class<?> type) {
-        this(expression, type, false);
-    }
-
-    /**
-     * Creates a new JXPathExpression instance
-     *
-     * @param expression the JXPath expression to be evaluated
-     * @param type the expected result type
-     * @param lenient to configure lenient
-     */
-    public JXPathExpression(String expression, Class<?> type, boolean lenient) {
-        this.expression = expression;
-        this.type = type;
-        this.lenient = lenient;
-    }
-
-    public boolean isLenient() {
-        return lenient;
-    }
-
-    public void setLenient(boolean lenient) {
-        this.lenient = lenient;
-    }
-
-    public <T> T evaluate(Exchange exchange, Class<T> tClass) {
-        try {
-            JXPathContext context = JXPathContext.newContext(exchange);
-            context.setLenient(lenient);
-            Object result = getJXPathExpression().getValue(context, type);
-            assertResultType(exchange, result);
-            return exchange.getContext().getTypeConverter().convertTo(tClass, result);
-        } catch (JXPathException e) {
-            throw new ExpressionEvaluationException(this, exchange, e);
-        }
-    }
-
-    /*
-     * Check if the result is of the specified type
-     */
-    private void assertResultType(Exchange exchange, Object result) {
-        if (result != null && !type.isAssignableFrom(result.getClass())) {
-            throw new JXPathException("JXPath result type is " + result.getClass() + " instead of required type " + type);
-        }
-    }
-
-    @Override
-    protected String assertionFailureMessage(Exchange exchange) {
-        return expression;
-    }
-
-    /*
-     * Get a compiled expression instance for better performance
-     */
-    private synchronized CompiledExpression getJXPathExpression() {
-        if (compiledExpression == null) {
-            compiledExpression = JXPathContext.compile(expression);
-        }
-        return compiledExpression;
-    }
-
-    @Override
-    public String toString() {
-        return "JXpath[" + expression + "]";
-    }
-}
diff --git a/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPathLanguage.java b/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPathLanguage.java
deleted file mode 100644
index 9fbe849..0000000
--- a/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPathLanguage.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-import org.apache.camel.Expression;
-import org.apache.camel.Predicate;
-import org.apache.camel.spi.Language;
-import org.apache.camel.support.LanguageSupport;
-
-/**
- * <a href="http://commons.apache.org/jxpath/">JXPath</a> {@link Language}
- * provider
- */
-public class JXPathLanguage extends LanguageSupport {
-
-    private boolean lenient;
-
-    public boolean isLenient() {
-        return lenient;
-    }
-
-    public void setLenient(boolean lenient) {
-        this.lenient = lenient;
-    }
-
-    public Expression createExpression(String expression) {
-        expression = loadResource(expression);
-        return new JXPathExpression(expression, Object.class, lenient);
-    }
-
-    public Predicate createPredicate(String predicate) {
-        predicate = loadResource(predicate);
-        return new JXPathExpression(predicate, Boolean.class, lenient);
-    }
-
-    @Override
-    public boolean isSingleton() {
-        // cannot be singleton due lenient option
-        return false;
-    }
-}
diff --git a/components/camel-jxpath/src/main/resources/META-INF/LICENSE.txt b/components/camel-jxpath/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-jxpath/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-jxpath/src/main/resources/META-INF/NOTICE.txt b/components/camel-jxpath/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-jxpath/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-jxpath/src/main/resources/META-INF/services/org/apache/camel/language/jxpath b/components/camel-jxpath/src/main/resources/META-INF/services/org/apache/camel/language/jxpath
deleted file mode 100644
index 924f80b..0000000
--- a/components/camel-jxpath/src/main/resources/META-INF/services/org/apache/camel/language/jxpath
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# 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.language.jxpath.JXPathLanguage
diff --git a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/BeanWithJXPathInjectionTest.java b/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/BeanWithJXPathInjectionTest.java
deleted file mode 100644
index 1c3d315..0000000
--- a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/BeanWithJXPathInjectionTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-import javax.naming.Context;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.apache.camel.util.jndi.JndiContext;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * @version 
- */
-public class BeanWithJXPathInjectionTest extends CamelTestSupport {
-    private static final Logger LOG = LoggerFactory.getLogger(BeanWithJXPathInjectionTest.class);
-
-    @Test
-    public void testSendMessage() throws Exception {
-        template.sendBody("direct:in", new PersonBean("James", "London"));
-
-        MyBean myBean = context.getRegistry().lookupByNameAndType("myBean", MyBean.class);
-
-        assertEquals("bean foo: " + myBean, "James", myBean.getName());
-        assertNotNull("Should pass body as well", myBean.getBody());
-    }
-
-    @Test
-    public void testSendNullMessage() throws Exception {
-        template.sendBody("direct:in", new PersonBean(null, "London"));
-
-        MyBean myBean = context.getRegistry().lookupByNameAndType("myBean", MyBean.class);
-
-        assertEquals("bean foo: " + myBean, null, myBean.getName());
-        assertNotNull("Should pass body as well", myBean.getBody());
-    }
-
-    @Override
-    protected Context createJndiContext() throws Exception {
-        JndiContext answer = new JndiContext();
-        answer.bind("myBean", new MyBean());
-        return answer;
-    }
-
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            public void configure() {
-                from("direct:in").bean("myBean");
-            }
-        };
-    }
-
-    public static final class MyBean {
-        private PersonBean body;
-        private String name;
-
-        @Override
-        public String toString() {
-            return "MyBean[foo: " + name + " body: " + body + "]";
-        }
-
-        public void read(PersonBean body, @JXPath("in/body/name") String name) {
-            this.body = body;
-            this.name = name;
-            LOG.info("read() method called on " + this);
-        }
-
-        public PersonBean getBody() {
-            return body;
-        }
-
-        public String getName() {
-            return name;
-        }
-    }
-}
diff --git a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterHeaderTest.java b/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterHeaderTest.java
deleted file mode 100644
index 56de439..0000000
--- a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterHeaderTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-/**
- * @version 
- */
-public class JXPathFilterHeaderTest extends CamelTestSupport {
-
-    @Test
-    public void testSendMatchingMessage() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(1);
-
-        template.sendBodyAndHeader("direct:start", new PersonBean("James", "London"), "fooBarBaz", "Carlsberg");
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Test
-    public void testSendNotMatchingMessage() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(0);
-
-        template.sendBodyAndHeader("direct:start", new PersonBean("Hiram", "Tampa"), "fooBarBaz", "Heineken");
-
-        assertMockEndpointsSatisfied();
-    }
-    
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            public void configure() {
-                // START SNIPPET: example
-                from("direct:start").
-                        filter().jxpath("in/headers/fooBarBaz='Carlsberg'").
-                        to("mock:result");
-                // END SNIPPET: example
-            }
-        };
-    }
-}
diff --git a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterLenientTest.java b/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterLenientTest.java
deleted file mode 100644
index 79178be..0000000
--- a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterLenientTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-/**
- * @version 
- */
-public class JXPathFilterLenientTest extends CamelTestSupport {
-
-    @Test
-    public void testLenient() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(0);
-
-        template.sendBody("direct:start", new PersonBean("James", "London"));
-
-        assertMockEndpointsSatisfied();
-    }
-
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            public void configure() {
-                from("direct:start").
-                        filter().jxpath("in/body/name2", true).
-                        to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterNotLenientTest.java b/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterNotLenientTest.java
deleted file mode 100644
index 7e54737..0000000
--- a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterNotLenientTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.apache.commons.jxpath.JXPathNotFoundException;
-import org.junit.Test;
-
-/**
- * @version 
- */
-public class JXPathFilterNotLenientTest extends CamelTestSupport {
-
-    @Test
-    public void testNotLenient() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(0);
-
-        try {
-            template.sendBody("direct:start", new PersonBean("James", "London"));
-            fail("Should have thrown exception");
-        } catch (Exception e) {
-            JXPathNotFoundException cause = assertIsInstanceOf(JXPathNotFoundException.class, e.getCause().getCause());
-            assertEquals("No value for xpath: in/body/name2", cause.getMessage());
-        }
-
-        assertMockEndpointsSatisfied();
-    }
-
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            public void configure() {
-                from("direct:start").
-                        filter().jxpath("in/body/name2", false).
-                        to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterTest.java b/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterTest.java
deleted file mode 100644
index e27f3a0..0000000
--- a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-/**
- * @version 
- */
-public class JXPathFilterTest extends CamelTestSupport {
-
-    @Test
-    public void testSendMatchingMessage() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(1);
-
-        sendBody("direct:start", new PersonBean("James", "London"));
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Test
-    public void testSendNotMatchingMessage() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(0);
-
-        sendBody("direct:start", new PersonBean("Hiram", "Tampa"));
-
-        assertMockEndpointsSatisfied();
-    }
-    
-    @Test
-    public void testSendNullMessage() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(0);
-
-        sendBody("direct:start", new PersonBean(null, "Tampa"));
-
-        assertMockEndpointsSatisfied();
-    }
-
-    protected RouteBuilder createRouteBuilder() {
-        return new RouteBuilder() {
-            public void configure() {
-                // START SNIPPET: example
-                from("direct:start").
-                        filter().jxpath("in/body/name='James'").
-                        to("mock:result");
-                // END SNIPPET: example
-            }
-        };
-    }
-}
diff --git a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathResourceTest.java b/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathResourceTest.java
deleted file mode 100644
index 4a294b4..0000000
--- a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathResourceTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-/**
- *
- */
-public class JXPathResourceTest extends CamelTestSupport {
-
-    @Test
-    public void testJXPathResource() throws Exception {
-        getMockEndpoint("mock:result").expectedBodiesReceived("James");
-
-        template.sendBody("direct:start", new PersonBean("James", "London"));
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected RouteBuilder createRouteBuilder() throws Exception {
-        return new RouteBuilder() {
-            @Override
-            public void configure() throws Exception {
-                from("direct:start")
-                        .transform().jxpath("resource:classpath:myjxpath.txt")
-                        .to("mock:result");
-            }
-        };
-    }
-}
diff --git a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathTest.java b/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathTest.java
deleted file mode 100644
index 8697215..0000000
--- a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-import org.apache.camel.ExpressionEvaluationException;
-import org.apache.camel.test.junit4.LanguageTestSupport;
-import org.junit.Test;
-
-/**
- * Test for {@link JXPathExpression} and {@link JXPathLanguage}
- */
-public class JXPathTest extends LanguageTestSupport {
-
-    protected PersonBean body = new PersonBean("James", "London");
-
-    @Test
-    public void testJXPathExpressions() throws Exception {
-        assertExpression(".", exchange);
-        assertExpression("./in/body", "<hello id='m123'>world!</hello>");
-        assertExpression("in/body", "<hello id='m123'>world!</hello>");
-        assertExpression("in/headers", exchange.getIn().getHeaders());
-        assertExpression("in/headers/@foo", "abc");
-    }
-
-    @Test
-    public void testJXPathPredicates() throws Exception {
-        assertPredicate("in/headers/@foo = 'abc'");
-        assertInvalidPredicate("in/headders/@foo = 'abc'");
-    }
-
-    @Test
-    public void testExceptions() throws Exception {
-        assertInvalidExpression(".@.");
-        assertInvalidExpression("ins/body");
-    }
-
-    private void assertInvalidExpression(String expression) {
-        try {
-            assertExpression(expression, null);
-            fail("Expected an ExpressionEvaluationException");
-        } catch (ExpressionEvaluationException e) {
-            // nothing to do -- test success
-        }
-    }
-
-    private void assertInvalidPredicate(String predicate) {
-        try {
-            assertPredicate(predicate);
-            fail("Expected an ExpressionEvaluationException");
-        } catch (AssertionError e) {
-            //nothing to do -- test success
-        }
-    }
-
-    @Override
-    protected String getLanguageName() {
-        return "jxpath";
-    }
-
-}
diff --git a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/PersonBean.java b/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/PersonBean.java
deleted file mode 100644
index 7179ae1..0000000
--- a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/PersonBean.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-/**
- * @version 
- */
-public class PersonBean {
-    private String name;
-    private String location;
-
-    public PersonBean() {
-    }
-
-    public PersonBean(String name, String location) {
-        this.name = name;
-        this.location = location;
-    }
-
-    @Override
-    public String toString() {
-        return "PersonBean[name: " + name + " location: " + location + "]";
-    }
-
-    public String getLocation() {
-        return location;
-    }
-
-    public void setLocation(String location) {
-        this.location = location;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-}
diff --git a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/SpringJXPathFilterLenientTest.java b/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/SpringJXPathFilterLenientTest.java
deleted file mode 100644
index f0d1127..0000000
--- a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/SpringJXPathFilterLenientTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-import org.apache.camel.test.spring.CamelSpringTestSupport;
-import org.junit.Test;
-import org.springframework.context.support.AbstractApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-/**
- * @version 
- */
-public class SpringJXPathFilterLenientTest extends CamelSpringTestSupport {
-
-    @Test
-    public void testLenient() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(0);
-
-        template.sendBody("direct:start", new PersonBean("James", "London"));
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected AbstractApplicationContext createApplicationContext() {
-        return new ClassPathXmlApplicationContext("org/apache/camel/language/jxpath/SpringJXPathFilterLenientTest-context.xml");
-    }
-
-}
diff --git a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/SpringJXPathFilterTest.java b/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/SpringJXPathFilterTest.java
deleted file mode 100644
index edc5b42..0000000
--- a/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/SpringJXPathFilterTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.language.jxpath;
-
-import org.apache.camel.test.spring.CamelSpringTestSupport;
-import org.junit.Test;
-import org.springframework.context.support.AbstractApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
-
-/**
- * @version 
- */
-public class SpringJXPathFilterTest extends CamelSpringTestSupport {
-
-    @Test
-    public void testMatching() throws Exception {
-        getMockEndpoint("mock:results").expectedMessageCount(1);
-
-        template.sendBody("direct:start", new PersonBean("James", "London"));
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Test
-    public void testNotMatching() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(0);
-
-        template.sendBody("direct:start", new PersonBean("Hiram", "Tampa"));
-
-        assertMockEndpointsSatisfied();
-    }
-
-    @Override
-    protected AbstractApplicationContext createApplicationContext() {
-        return new ClassPathXmlApplicationContext("org/apache/camel/language/jxpath/SpringJXPathFilterTest-context.xml");
-    }
-}
\ No newline at end of file
diff --git a/components/camel-jxpath/src/test/resources/log4j2.properties b/components/camel-jxpath/src/test/resources/log4j2.properties
deleted file mode 100644
index ebfcddf..0000000
--- a/components/camel-jxpath/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-## ---------------------------------------------------------------------------
-## 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.
-## ---------------------------------------------------------------------------
-
-appender.out.type = File
-appender.out.name = out
-appender.out.fileName = target/camel-jxpath-test.log
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.stdout.type = Console
-appender.stdout.name = stdout
-appender.stdout.layout.type = PatternLayout
-appender.stdout.layout.pattern = [%30.30t] %-30.30c{1} %-5p %m%n
-rootLogger.level = INFO
-rootLogger.appenderRef.out.ref = out
diff --git a/components/camel-jxpath/src/test/resources/myjxpath.txt b/components/camel-jxpath/src/test/resources/myjxpath.txt
deleted file mode 100644
index 9a124e5..0000000
--- a/components/camel-jxpath/src/test/resources/myjxpath.txt
+++ /dev/null
@@ -1 +0,0 @@
-in/body/name
\ No newline at end of file
diff --git a/components/camel-jxpath/src/test/resources/org/apache/camel/language/jxpath/SpringJXPathFilterLenientTest-context.xml b/components/camel-jxpath/src/test/resources/org/apache/camel/language/jxpath/SpringJXPathFilterLenientTest-context.xml
deleted file mode 100644
index a5e697e..0000000
--- a/components/camel-jxpath/src/test/resources/org/apache/camel/language/jxpath/SpringJXPathFilterLenientTest-context.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
-    ">
-
-  <camelContext xmlns="http://camel.apache.org/schema/spring">
-    <template id="myTemplate"/>
-
-    <route>
-      <from uri="direct:start"/>
-      <filter>
-        <jxpath lenient="true">in/body/name2</jxpath>
-        <to uri="mock:results"/>
-      </filter>
-    </route>
-
-  </camelContext>
-
-</beans>
diff --git a/components/camel-jxpath/src/test/resources/org/apache/camel/language/jxpath/SpringJXPathFilterTest-context.xml b/components/camel-jxpath/src/test/resources/org/apache/camel/language/jxpath/SpringJXPathFilterTest-context.xml
deleted file mode 100644
index 8c43b25..0000000
--- a/components/camel-jxpath/src/test/resources/org/apache/camel/language/jxpath/SpringJXPathFilterTest-context.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="
-       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
-       http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
-    ">
-
-  <camelContext xmlns="http://camel.apache.org/schema/spring">
-    <template id="myTemplate"/>
-
-    <route>
-      <from uri="direct:start"/>
-      <filter>
-        <jxpath>in/body/name='James'</jxpath>
-        <to uri="mock:results"/>
-      </filter>
-    </route>
-
-  </camelContext>
-
-</beans>
diff --git a/components/camel-ruby/pom.xml b/components/camel-ruby/pom.xml
deleted file mode 100644
index af99bb8..0000000
--- a/components/camel-ruby/pom.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>components</artifactId>
-    <version>3.0.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>camel-ruby</artifactId>
-  <packaging>jar</packaging>
-  <name>Camel :: Ruby (deprecated)</name>
-  <description>Camel Ruby DSL</description>
-
-  <properties>
-    <!-- use by camel-catalog -->
-    <firstVersion>1.0.0</firstVersion>
-    <label>dsl,script</label>
-
-    <camel.osgi.export.pkg>org.apache.camel.ruby.*</camel.osgi.export.pkg>
-  </properties>
-
-  <dependencies>
-
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jruby</groupId>
-      <artifactId>jruby-complete</artifactId>
-    </dependency>
-
-    <!-- test dependencies -->
-    <dependency>
-      <groupId>org.apache.camel</groupId>
-      <artifactId>camel-test</artifactId>      
-      <scope>test</scope>
-    </dependency>  
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-slf4j-impl</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-
-  <profiles>
-    <profile>
-      <id>jdk9+-build</id>
-      <activation>
-        <jdk>[9,)</jdk>
-      </activation>
-      <build>
-        <plugins>
-          <plugin>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <argLine>--add-modules java.xml.bind --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED</argLine>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-</project>
diff --git a/components/camel-ruby/src/main/docs/ruby.adoc b/components/camel-ruby/src/main/docs/ruby.adoc
deleted file mode 100644
index 054b04d..0000000
--- a/components/camel-ruby/src/main/docs/ruby.adoc
+++ /dev/null
@@ -1,177 +0,0 @@
-[[Ruby-Ruby]]
-Ruby
-~~~~
-
-Camel supports http://www.ruby-lang.org/en/[Ruby] among other
-Scripting Languages to allow an
-Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
-Configuration].
-
-To use a Ruby expression use the following Java code
-
-[source,java]
------------------------------------
-... ruby("someRubyExpression") ... 
------------------------------------
-
-For example you could use the *ruby* function to create an
-Predicate in a link:message-filter.html[Message
-Filter] or as an Expression for a
-Recipient List
-
-[[Ruby-Example]]
-Example
-^^^^^^^
-
-In the sample below we use Ruby to create a
-Predicate use in the route path, to route exchanges
-from admin users to a special queue.
-
-[source,java]
--------------------------------------------------------------------------------------
-    from("direct:start")
-        .choice()
-            .when().ruby("$request.headers['user'] == 'admin'").to("seda:adminQueue")
-        .otherwise()
-            .to("seda:regularQueue");
--------------------------------------------------------------------------------------
-
-And a Spring DSL sample as well:
-
-[source,xml]
-----------------------------------------------------------------
-    <route>
-        <from uri="direct:start"/>
-        <choice>
-            <when>
-                <ruby>$request.headers['user'] == 'admin'</ruby>
-                <to uri="seda:adminQueue"/>
-            </when>
-            <otherwise>
-                <to uri="seda:regularQueue"/>
-            </otherwise>
-        </choice>
-    </route>
-----------------------------------------------------------------
-
-[[Ruby-ScriptContext]]
-ScriptContext
-^^^^^^^^^^^^^
-
-The JSR-223 scripting languages ScriptContext is pre configured with the
-following attributes all set at `ENGINE_SCOPE`:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Attribute |Type |Value
-
-|context |`org.apache.camel.CamelContext` |The Camel Context ( It cannot be used in groovy)
-
-|camelContext |`org.apache.camel.CamelContext` |The Camel Context
-
-|exchange |`org.apache.camel.Exchange` |The current Exchange
-
-|request |`org.apache.camel.Message` |The message (IN message)
-
-|response |`org.apache.camel.Message` |*Deprecated*: The OUT message. The OUT message if null by default. Use
-IN message instead.
-
-|properties |`org.apache.camel.builder.script.PropertiesFunction` |*Camel 2.9:* Function with a `resolve` method to make it easier to use
-Camels <<properties-component,Properties>> component from scripts. See
-further below for example.
-|=======================================================================
-
-See Scripting Languages for the list of
-languages with explicit DSL support.
-
-[[Ruby-AdditionalargumentstoScriptingEngine]]
-Additional arguments to ScriptingEngine
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-*Available as of Camel 2.8*
-
-You can provide additional arguments to the `ScriptingEngine` using a
-header on the Camel message with the key `CamelScriptArguments`. +
- See this example:
-
-[[Ruby-Usingpropertiesfunction]]
-Using properties function
-^^^^^^^^^^^^^^^^^^^^^^^^^
-
-*Available as of Camel 2.9*
-
-If you need to use the <<properties-component,Properties>> component from a
-script to lookup property placeholders, then its a bit cumbersome to do
-so. For example to set a header name myHeader with a value from a property
-placeholder, which key is provided in a header named "foo".
-
-[source,java]
---------------------------------------------------------------------------------------------------------------
-.setHeader("myHeader").groovy("context.resolvePropertyPlaceholders('{{' + request.headers.get('foo') + '}}')")
---------------------------------------------------------------------------------------------------------------
-
-From Camel 2.9 onwards you can now use the properties function and the
-same example is simpler:
-
-[source,java]
--------------------------------------------------------------------------------
-.setHeader("myHeader").groovy("properties.resolve(request.headers.get('foo'))")
--------------------------------------------------------------------------------
-
-[[Ruby-Loadingscriptfromexternalresource]]
-Loading script from external resource
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-*Available as of Camel 2.11*
-
-You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
- This is done using the following syntax: `"resource:scheme:location"`,
-eg to refer to a file on the classpath you can do:
-
-[source,java]
--------------------------------------------------------------------
-.setHeader("myHeader").groovy("resource:classpath:mygroovy.groovy")
--------------------------------------------------------------------
-
-[[Ruby-Howtogettheresultfrommultiplestatementsscript]]
-How to get the result from multiple statements script
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-*Available as of Camel 2.14*
-
-As the scripteengine evale method just return a Null if it runs a
-multiple statments script. Camel now look up the value of script result
-by using the key of "result" from the value set. If you have multiple
-statements script, you need to make sure you set the value of result
-variable as the script return value.
-
-[source,text]
--------------------------------------------------------------
-bar = "baz";
-# some other statements ... 
-# camel take the result value as the script evaluation result
-result = body * 2 + 1
--------------------------------------------------------------
-
-[[Ruby-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
-
-To use scripting languages in your camel routes you need to add the a
-dependency on *camel-script* which integrates the JSR-223 scripting
-engine.
-
-If you use maven you could just add the following to your pom.xml,
-substituting the version number for the latest & greatest release (see
-the download page for the latest versions).
-
-[source,xml]
----------------------------------------
-<dependency>
-  <groupId>org.apache.camel</groupId>
-  <artifactId>camel-script</artifactId>
-  <version>x.x.x</version>
-</dependency>
----------------------------------------
diff --git a/components/camel-ruby/src/main/java/org/apache/camel/ruby/RubyCamel.java b/components/camel-ruby/src/main/java/org/apache/camel/ruby/RubyCamel.java
deleted file mode 100644
index 26b0f9d..0000000
--- a/components/camel-ruby/src/main/java/org/apache/camel/ruby/RubyCamel.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.ruby;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.impl.DefaultCamelContext;
-
-/**
- * @version 
- */
-public final class RubyCamel {
-    
-    private static CamelContext camelContext;
-    private static List<RouteBuilder> routes = new ArrayList<>();
-
-    private RubyCamel() {
-        // helper class
-    }
-
-    public static List<RouteBuilder> getRoutes() {
-        return routes;
-    }
-
-    public static void addRouteBuilder(RouteBuilder builder) {
-        routes.add(builder);
-    }
-
-    public static CamelContext getCamelContext() {
-        if (camelContext == null) {
-            camelContext = new DefaultCamelContext();
-        }
-        return camelContext;
-    }
-
-    public static void setCamelContext(CamelContext camelContext) {
-        RubyCamel.camelContext = camelContext;
-    }
-
-    public static void clearRoutes() {
-        routes.clear();
-    }
-}
diff --git a/components/camel-ruby/src/main/java/org/apache/camel/ruby/ScriptRouteBuilder.java b/components/camel-ruby/src/main/java/org/apache/camel/ruby/ScriptRouteBuilder.java
deleted file mode 100644
index 3f9e197..0000000
--- a/components/camel-ruby/src/main/java/org/apache/camel/ruby/ScriptRouteBuilder.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.ruby;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.model.RouteDefinition;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Provide some helper methods for building routes from scripting languages
- * with a minimum amount of noise using state for the current node in the DSL
- *
- * @version 
- */
-public abstract class ScriptRouteBuilder extends RouteBuilder {
-    private static final Logger LOG = LoggerFactory.getLogger(ScriptRouteBuilder.class);
-    protected ProcessorDefinition<?> node;
-
-    public ScriptRouteBuilder() {
-    }
-
-    public ScriptRouteBuilder(CamelContext context) {
-        super(context);
-    }
-
-    @Override
-    protected void configureRoute(RouteDefinition route) {
-        super.configureRoute(route);
-        this.node = route;
-    }
-
-    public ProcessorDefinition<?> to(String uri) {
-        return getNode().to(uri);
-    }
-    
-    public ProcessorDefinition<?> to(Endpoint endpoint) {
-        return getNode().to(endpoint);
-    }
-
-    public ProcessorDefinition<?> getNode() {
-        if (node == null) {
-            throw new IllegalStateException("You must define a route first via the from() method");
-        }
-        return node;
-    }
-
-    public void setNode(ProcessorDefinition<?> node) {
-        this.node = node;
-
-        LOG.info("Node is now: {}", node);
-    }
-}
diff --git a/components/camel-ruby/src/main/resources/META-INF/LICENSE.txt b/components/camel-ruby/src/main/resources/META-INF/LICENSE.txt
deleted file mode 100644
index 6b0b127..0000000
--- a/components/camel-ruby/src/main/resources/META-INF/LICENSE.txt
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/components/camel-ruby/src/main/resources/META-INF/NOTICE.txt b/components/camel-ruby/src/main/resources/META-INF/NOTICE.txt
deleted file mode 100644
index 2e215bf..0000000
--- a/components/camel-ruby/src/main/resources/META-INF/NOTICE.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-   =========================================================================
-   ==  NOTICE file corresponding to the section 4 d of                    ==
-   ==  the Apache License, Version 2.0,                                   ==
-   ==  in this case for the Apache Camel distribution.                    ==
-   =========================================================================
-
-   This product includes software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Please read the different LICENSE files present in the licenses directory of
-   this distribution.
diff --git a/components/camel-ruby/src/main/resources/camel.rb b/components/camel-ruby/src/main/resources/camel.rb
deleted file mode 100644
index ca66f4e..0000000
--- a/components/camel-ruby/src/main/resources/camel.rb
+++ /dev/null
@@ -1,86 +0,0 @@
-## ------------------------------------------------------------------------
-## 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.
-## ------------------------------------------------------------------------
-require "java"
-
-module Camel
-
-  java_import "org.apache.camel.impl.DefaultCamelContext"
-  java_import "org.apache.camel.impl.ExpressionSupport"
-  java_import "org.apache.camel.model.RouteDefinition"
-  java_import "org.apache.camel.ruby.ScriptRouteBuilder"
-
-  class RubyRouteBuilder < ScriptRouteBuilder
-
-    # def from(uri)
-    #   @node = super.from(uri)
-    #   @node
-    # end
-    # 
-    # def to(uri)
-    #   @node = @node.to(uri)
-    #   @node
-    # end
-    # 
-    
-    
-    def filter(params={}, &predicate)
-      e = expression(&predicate)
-      answer = getNode().filter(e)
-      setNode(answer)
-      return answer
-    end
-    
-    def aaaafilter2(predicate, &block)
-      puts "Called filter2 with #{predicate}"
-      node = getNode()
-      setNode(node.filter(predicate))
-      block.call(getNode())
-      setNode(node)
-    end
-    
-    def expression(&block)
-      e = BlockExpression.new
-      e.value(&block)
-    end
-  end
-  
-  class BlockExpression < ExpressionSupport
-
-    def value(&block)
-      @block = block
-      self
-    end
-    
-    def evaluate(exchange)
-      @block.call(exchange)
-    end
-
-    # TODO type parameter should be supported in block call
-    def evaluate(exchange, type)
-      @block.call(exchange)
-    end
-
-    def assertionFailureMessage(text)
... 15233 lines suppressed ...