You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2020/03/27 11:26:32 UTC

[camel] 01/06: CAMEL-14715 - Removed Camel-Blueprint now in camel-karaf (camel-karaf migration)

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

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

commit 7aee2551881d62440f82eda2c3c98092b00bc2d8
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Fri Mar 27 11:26:36 2020 +0100

    CAMEL-14715 - Removed Camel-Blueprint now in camel-karaf (camel-karaf migration)
---
 bom/camel-bom/pom.xml                              |    5 -
 components/camel-blueprint/pom.xml                 |  561 ---------
 .../services/org/apache/camel/other.properties     |    7 -
 .../src/generated/resources/blueprint.json         |   14 -
 .../org/apache/camel/blueprint/jaxb.index          |   13 -
 .../org/apache/camel/util/blueprint/jaxb.index     |    6 -
 .../camel-blueprint/src/main/docs/blueprint.adoc   |   45 -
 .../camel/blueprint/BlueprintCamelContext.java     |  290 -----
 .../BlueprintCamelContextLookupHelper.java         |   57 -
 .../blueprint/BlueprintCamelStateService.java      |  164 ---
 .../blueprint/BlueprintComponentResolver.java      |   72 --
 .../BlueprintContainerBeanRepository.java          |  123 --
 .../blueprint/BlueprintDataFormatResolver.java     |   62 -
 .../camel/blueprint/BlueprintLanguageResolver.java |   49 -
 .../BlueprintModelJAXBContextFactory.java          |   66 --
 .../camel/blueprint/BlueprintPropertiesSource.java |  156 ---
 .../CamelConsumerTemplateFactoryBean.java          |   65 -
 .../camel/blueprint/CamelContextFactoryBean.java   |  979 ---------------
 .../camel/blueprint/CamelEndpointFactoryBean.java  |   65 -
 .../blueprint/CamelErrorHandlerFactoryBean.java    |  144 ---
 .../CamelFluentProducerTemplateFactoryBean.java    |   65 -
 .../CamelProducerTemplateFactoryBean.java          |   65 -
 .../camel/blueprint/CamelProxyFactoryBean.java     |  190 ---
 .../CamelRedeliveryPolicyFactoryBean.java          |   65 -
 .../blueprint/CamelRestContextFactoryBean.java     |   41 -
 .../blueprint/CamelRouteContextFactoryBean.java    |   41 -
 .../blueprint/CamelThreadPoolFactoryBean.java      |   64 -
 .../blueprint/ContextScanRouteBuilderFinder.java   |   89 --
 .../apache/camel/blueprint/ErrorHandlerType.java   |   54 -
 .../camel/blueprint/KarafBundleStateService.java   |   95 --
 .../blueprint/PackageScanRouteBuilderFinder.java   |  110 --
 .../blueprint/handler/CamelNamespaceHandler.java   | 1243 --------------------
 .../org/apache/camel/blueprint/package-info.java   |   18 -
 .../KeyManagersParametersFactoryBean.java          |   68 --
 .../blueprint/KeyStoreParametersFactoryBean.java   |   59 -
 .../SSLContextClientParametersFactoryBean.java     |   59 -
 .../blueprint/SSLContextParametersFactoryBean.java |  110 --
 .../SSLContextServerParametersFactoryBean.java     |   59 -
 .../SecureRandomParametersFactoryBean.java         |   59 -
 .../TrustManagersParametersFactoryBean.java        |   68 --
 .../apache/camel/util/blueprint/package-info.java  |   19 -
 .../OSGI-INF/blueprint/camel-blueprint.xml         |   34 -
 .../blueprint/BlueprintComponentResolverTest.java  |  113 --
 .../camel/blueprint/BlueprintJaxbRestTest.java     |   75 --
 .../apache/camel/blueprint/BlueprintJaxbTest.java  |   65 -
 .../src/test/resources/log4j2.properties           |   28 -
 .../src/test/resources/test-rest.xml               |   42 -
 .../camel-blueprint/src/test/resources/test.xml    |   30 -
 components/pom.xml                                 |    1 -
 parent/pom.xml                                     |    5 -
 50 files changed, 5977 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 90f9a31..2a8e511 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -343,11 +343,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-blueprint</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-bonita</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/components/camel-blueprint/pom.xml b/components/camel-blueprint/pom.xml
deleted file mode 100644
index 29abc44..0000000
--- a/components/camel-blueprint/pom.xml
+++ /dev/null
@@ -1,561 +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/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.camel</groupId>
-        <artifactId>components</artifactId>
-        <version>3.2.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>camel-blueprint</artifactId>
-    <packaging>jar</packaging>
-
-    <name>Camel :: Blueprint</name>
-    <description>Using Camel with OSGi Blueprint</description>
-
-    <properties>
-        <firstVersion>2.4.0</firstVersion>
-        <label>java,osgi</label>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-engine</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-xml</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-osgi</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-xml-jaxp</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-xml-jaxb</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-bean</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi.core</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.blueprint</groupId>
-            <artifactId>org.apache.aries.blueprint.core</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries</groupId>
-            <artifactId>org.apache.aries.util</artifactId>
-            <version>${aries-util-version}</version>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.karaf.bundle</groupId>
-            <artifactId>org.apache.karaf.bundle.core</artifactId>
-            <version>${karaf4-version}</version>
-            <scope>provided</scope>
-            <optional>true</optional>
-        </dependency>
-
-        <!-- for testing -->
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test</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>
-
-    <build>
-        <resources>
-            <resource>
-                <directory>target/schema</directory>
-                <includes>
-                    <include>**/*</include>
-                </includes>
-                <excludes>
-                    <exclude>**/*.class</exclude>
-                </excludes>
-            </resource>
-            <resource>
-                <directory>src/main/resources</directory>
-                <includes>
-                    <include>**/*</include>
-                </includes>
-            </resource>
-        </resources>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-dependency-plugin</artifactId>
-                    <configuration>
-                        <artifactItems>
-                            <artifactItem>
-                                <groupId>org.apache.camel</groupId>
-                                <artifactId>camel-blueprint</artifactId>
-                                <version>${project.version}</version>
-                                <type>jar</type>
-                                <overWrite>false</overWrite>
-                                <outputDirectory>${project.build.directory}/schema</outputDirectory>
-                                <includes>camel-blueprint.xsd</includes>
-                            </artifactItem>
-                        </artifactItems>
-                    </configuration>
-                </plugin>
-                <!-- Eclipse m2e Lifecycle Management -->
-                <plugin>
-                    <groupId>org.eclipse.m2e</groupId>
-                    <artifactId>lifecycle-mapping</artifactId>
-                    <version>${lifecycle-mapping-version}</version>
-                    <configuration>
-                        <lifecycleMappingMetadata>
-                            <pluginExecutions>
-                                <pluginExecution>
-                                    <pluginExecutionFilter>
-                                        <groupId>org.apache.maven.plugins</groupId>
-                                        <artifactId>maven-antrun-plugin</artifactId>
-                                        <versionRange>${maven-antrun-plugin-version}</versionRange>
-                                        <goals>
-                                            <goal>run</goal>
-                                        </goals>
-                                    </pluginExecutionFilter>
-                                    <action>
-                                        <ignore/>
-                                    </action>
-                                </pluginExecution>
-                            </pluginExecutions>
-                        </lifecycleMappingMetadata>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-package-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>jaxb-list</id>
-                        <goals>
-                            <goal>generate-jaxb-list</goal>
-                        </goals>
-                        <phase>process-classes</phase>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <artifactId>maven-resources-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>copy-generated-resources-jaxb</id>
-                        <goals>
-                            <goal>resources</goal>
-                        </goals>
-                        <phase>process-classes</phase>
-                        <configuration>
-                            <resources>
-                                <resource>
-                                    <directory>${basedir}/target/generated/camel/jaxb</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <!-- enrich the schemas with documentation -->
-            <plugin>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-eip-documentation-enricher-maven-plugin</artifactId>
-                <version>${project.version}</version>
-                <executions>
-                    <execution>
-                        <id>eip-documentation-enricher</id>
-                        <!-- need to run earlier so we use the process-test-resources phase -->
-                        <phase>process-test-resources</phase>
-                        <goals>
-                            <goal>eip-documentation-enricher</goal>
-                        </goals>
-                        <configuration>
-                            <inputCamelSchemaFile>${project.build.directory}/schema/schema1.xsd</inputCamelSchemaFile>
-                            <outputCamelSchemaFile>${project.build.directory}/schema/camel-blueprint.xsd
-                            </outputCamelSchemaFile>
-                            <deleteFilesAfterRun>
-                                ${project.build.directory}/schema/schema1.xsd,${project.build.directory}/schema/schema2.xsd
-                            </deleteFilesAfterRun>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <!-- Push the execution order of the maven-bundle-plugin further to the end. That's why we add it here again. -->
-            <plugin>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-bundle-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>bundle-manifest</id>
-                        <phase>prepare-package</phase>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>jaxb2-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>generate-schema</id>
-                        <phase>generate-test-sources</phase>
-                        <goals>
-                            <goal>schemagen</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <outputDirectory>${project.build.directory}/schema</outputDirectory>
-                    <sources>
-                        <source>${project.build.directory}/schema-src</source>
-                    </sources>
-                    <createJavaDocAnnotations>false</createJavaDocAnnotations>
-                    <schemaSourceExcludeFilters>
-                        <filter implementation="org.codehaus.mojo.jaxb2.shared.filters.pattern.PatternFileFilter">
-                            <patterns>
-                                <pattern>Helper.java</pattern>
-                                <pattern>Adapter.java</pattern>
-                            </patterns>
-                        </filter>
-                    </schemaSourceExcludeFilters>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <configuration>
-                    <links>
-                        <link>http://download.oracle.com/javase/7/docs/api/</link>
-                        <link>http://download.oracle.com/javaee/7/api/</link>
-                        <link>http://static.springsource.org/spring/docs/${spring-version}/javadoc-api/</link>
-                    </links>
-                    <stylesheetfile>${basedir}/../../etc/css/stylesheet.css</stylesheetfile>
-                    <linksource>true</linksource>
-                    <maxmemory>256m</maxmemory>
-                    <source>${jdk.version}</source>
-                    <groups>
-                        <group>
-                            <title>Camel Blueprint Classes</title>
-                            <packages>org.apache.camel.blueprint</packages>
-                        </group>
-                    </groups>
-                </configuration>
-            </plugin>
-        </plugins>
-    </reporting>
-
-    <profiles>
-        <profile>
-            <id>release</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>package</id>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <links>
-                                <link>http://download.oracle.com/javase/6/docs/api/</link>
-                                <link>http://download.oracle.com/javaee/6/api/</link>
-                            </links>
-                            <stylesheetfile>${basedir}/../../etc/css/stylesheet.css</stylesheetfile>
-                            <linksource>true</linksource>
-                            <source>${jdk.version}</source>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-
-        <!-- XML XSD schema generator -->
-        <profile>
-            <id>enable-schemagen</id>
-            <activation>
-                <property>
-                    <name>!disable-schemagen</name>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <!-- unpack sources which are needed for the scheme generator -->
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-dependency-plugin</artifactId>
-                        <version>3.1.2</version>
-                        <executions>
-                            <execution>
-                                <id>process-sources</id>
-                                <phase>process-resources</phase>
-                                <goals>
-                                    <goal>unpack</goal>
-                                </goals>
-                                <configuration>
-                                    <artifactItems>
-                                        <artifactItem>
-                                            <groupId>org.apache.camel</groupId>
-                                            <artifactId>camel-api</artifactId>
-                                            <version>${project.version}</version>
-                                            <type>jar</type>
-                                            <classifier>sources</classifier>
-                                            <overWrite>true</overWrite>
-                                            <outputDirectory>target/sources/camel-api</outputDirectory>
-                                        </artifactItem>
-                                        <artifactItem>
-                                            <groupId>org.apache.camel</groupId>
-                                            <artifactId>camel-core-engine</artifactId>
-                                            <version>${project.version}</version>
-                                            <type>jar</type>
-                                            <classifier>sources</classifier>
-                                            <overWrite>true</overWrite>
-                                            <outputDirectory>target/sources/camel-core-engine</outputDirectory>
-                                        </artifactItem>
-                                        <artifactItem>
-                                            <groupId>org.apache.camel</groupId>
-                                            <artifactId>camel-core-xml</artifactId>
-                                            <version>${project.version}</version>
-                                            <type>jar</type>
-                                            <classifier>sources</classifier>
-                                            <overWrite>true</overWrite>
-                                            <outputDirectory>target/sources/camel-core-xml</outputDirectory>
-                                        </artifactItem>
-                                        <artifactItem>
-                                            <groupId>org.apache.camel</groupId>
-                                            <artifactId>camel-util</artifactId>
-                                            <version>${project.version}</version>
-                                            <type>jar</type>
-                                            <classifier>sources</classifier>
-                                            <overWrite>true</overWrite>
-                                            <outputDirectory>target/sources/camel-util</outputDirectory>
-                                        </artifactItem>
-                                        <artifactItem>
-                                            <groupId>org.apache.camel</groupId>
-                                            <artifactId>camel-spring</artifactId>
-                                            <version>${project.version}</version>
-                                            <type>jar</type>
-                                            <classifier>sources</classifier>
-                                            <overWrite>true</overWrite>
-                                            <outputDirectory>target/sources/camel-spring</outputDirectory>
-                                        </artifactItem>
-                                    </artifactItems>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-antrun-plugin</artifactId>
-                        <version>1.8</version>
-                        <inherited>true</inherited>
-                        <executions>
-                            <execution>
-                                <id>process-sources</id>
-                                <phase>process-classes</phase>
-                                <configuration>
-                                    <target>
-                                        <taskdef resource="net/sf/antcontrib/antcontrib.properties"
-                                                 classpathref="maven.plugin.classpath"/>
-                                        <echo>Copying to code together for the XSD generation</echo>
-                                        <mkdir dir="${project.build.directory}/schema-src"/>
-                                        <mkdir dir="${project.build.directory}/schema"/>
-                                        <mkdir dir="${project.build.directory}/schema/META-INF/JAXB"/>
-                                        <copy todir="${project.build.directory}/schema-src">
-                                            <fileset dir="${basedir}/src/main/java">
-                                                <include name="org/apache/camel/blueprint/Camel*.java"/>
-                                                <include name="org/apache/camel/blueprint/ErrorHandler*.java"/>
-                                                <include name="org/apache/camel/blueprint/package-info.java"/>
-                                                <include name="org/apache/camel/util/blueprint/**/*.java"/>
-                                            </fileset>
-                                            <fileset dir="${project.build.directory}/sources/camel-core-xml">
-                                                <include name="org/apache/camel/core/xml/*.java"/>
-                                                <include name="org/apache/camel/core/xml/util/**/*.java"/>
-                                                <exclude name="org/apache/camel/core/xml/CamelProxyFactoryDefinition.java"/>
-                                            </fileset>
-                                            <fileset dir="${project.build.directory}/sources/camel-api">
-                                                <include name="org/apache/camel/ExchangePattern.java"/>
-                                                <include name="org/apache/camel/LoggingLevel.java"/>
-                                                <include name="org/apache/camel/ManagementStatisticsLevel.java"/>
-                                                <include name="org/apache/camel/ShutdownRoute.java"/>
-                                                <include name="org/apache/camel/ShutdownRunningTask.java"/>
-                                                <include name="org/apache/camel/WaitForTaskToComplete.java"/>
-                                            </fileset>
-                                            <fileset dir="${project.build.directory}/sources/camel-core-engine">
-                                                <include name="org/apache/camel/model/**/*.java"/>
-                                                <include name="org/apache/camel/package-info.java"/>
-                                            </fileset>
-                                            <fileset dir="${project.build.directory}/sources/camel-util">
-                                                <include name="org/apache/camel/util/concurrent/ThreadPoolRejectedPolicy.java"/>
-                                            </fileset>
-                                        </copy>
-                                    </target>
-                                    <exportAntProperties>true</exportAntProperties>
-                                </configuration>
-                                <goals>
-                                    <goal>run</goal>
-                                </goals>
-                            </execution>
-                            <!-- after the eip-documentation-enricher we need to copy some schema files -->
-                            <execution>
-                                <id>include-schemas</id>
-                                <phase>prepare-package</phase>
-                                <configuration>
-                                    <target>
-                                        <echo>Copying XSD schema to be included in JAR</echo>
-                                        <replace file="${project.build.directory}/schema/camel-blueprint.xsd"
-                                                 token="xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;"
-                                                 value="xs:schema xmlns=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;"/>
-                                        <replace file="${project.build.directory}/schema/camel-blueprint.xsd"
-                                                 token="http://camel.apache.org/schema/spring"
-                                                 value="http://camel.apache.org/schema/blueprint"/>
-                                        <copy todir="${project.build.directory}/classes">
-                                            <fileset dir="${project.build.directory}/schema">
-                                                <exclude name="**/*.class"/>
-                                            </fileset>
-                                        </copy>
-                                        <!-- copy modified schemas back again in classes so they are included in the JAR -->
-                                        <fileset dir="${project.build.directory}/schema">
-                                            <exclude name="**/*.class"/>
-                                        </fileset>
-                                    </target>
-                                </configuration>
-                                <goals>
-                                    <goal>run</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-
-        <profile>
-            <!-- Bypass the schemagen plugin on HP and IBM JDKs. -->
-            <id>on-ibmjdk</id>
-            <activation>
-                <property>
-                    <name>java.vendor</name>
-                    <value>IBM Corporation</value>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-dependency-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>unpack</id>
-                                <phase>generate-sources</phase>
-                                <goals>
-                                    <goal>unpack</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <!-- Bypass the schemagen plugin on HP and IBM JDKs. -->
-            <id>on-hpjdk</id>
-            <activation>
-                <property>
-                    <name>java.vendor</name>
-                    <value>Hewlett-Packard Co.</value>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-dependency-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>unpack</id>
-                                <phase>generate-sources</phase>
-                                <goals>
-                                    <goal>unpack</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-</project>
diff --git a/components/camel-blueprint/src/generated/resources/META-INF/services/org/apache/camel/other.properties b/components/camel-blueprint/src/generated/resources/META-INF/services/org/apache/camel/other.properties
deleted file mode 100644
index b9f380f..0000000
--- a/components/camel-blueprint/src/generated/resources/META-INF/services/org/apache/camel/other.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-name=blueprint
-groupId=org.apache.camel
-artifactId=camel-blueprint
-version=3.2.0-SNAPSHOT
-projectName=Camel :: Blueprint
-projectDescription=Using Camel with OSGi Blueprint
diff --git a/components/camel-blueprint/src/generated/resources/blueprint.json b/components/camel-blueprint/src/generated/resources/blueprint.json
deleted file mode 100644
index 14e9349..0000000
--- a/components/camel-blueprint/src/generated/resources/blueprint.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  "other": {
-    "kind": "other",
-    "name": "blueprint",
-    "title": "Blueprint",
-    "description": "Using Camel with OSGi Blueprint",
-    "deprecated": false,
-    "firstVersion": "2.4.0",
-    "label": "java,osgi",
-    "groupId": "org.apache.camel",
-    "artifactId": "camel-blueprint",
-    "version": "3.2.0-SNAPSHOT"
-  }
-}
diff --git a/components/camel-blueprint/src/generated/resources/org/apache/camel/blueprint/jaxb.index b/components/camel-blueprint/src/generated/resources/org/apache/camel/blueprint/jaxb.index
deleted file mode 100644
index 3ab0ca9..0000000
--- a/components/camel-blueprint/src/generated/resources/org/apache/camel/blueprint/jaxb.index
+++ /dev/null
@@ -1,13 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-CamelConsumerTemplateFactoryBean
-CamelContextFactoryBean
-CamelEndpointFactoryBean
-CamelErrorHandlerFactoryBean
-CamelFluentProducerTemplateFactoryBean
-CamelProducerTemplateFactoryBean
-CamelProxyFactoryBean
-CamelRedeliveryPolicyFactoryBean
-CamelRestContextFactoryBean
-CamelRouteContextFactoryBean
-CamelThreadPoolFactoryBean
-ErrorHandlerType
diff --git a/components/camel-blueprint/src/generated/resources/org/apache/camel/util/blueprint/jaxb.index b/components/camel-blueprint/src/generated/resources/org/apache/camel/util/blueprint/jaxb.index
deleted file mode 100644
index b0d65ff..0000000
--- a/components/camel-blueprint/src/generated/resources/org/apache/camel/util/blueprint/jaxb.index
+++ /dev/null
@@ -1,6 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-KeyStoreParametersFactoryBean
-SSLContextClientParametersFactoryBean
-SSLContextParametersFactoryBean
-SSLContextServerParametersFactoryBean
-SecureRandomParametersFactoryBean
diff --git a/components/camel-blueprint/src/main/docs/blueprint.adoc b/components/camel-blueprint/src/main/docs/blueprint.adoc
deleted file mode 100644
index c17b0e0..0000000
--- a/components/camel-blueprint/src/main/docs/blueprint.adoc
+++ /dev/null
@@ -1,45 +0,0 @@
-= Using OSGi blueprint with Camel
-
-A custom XML namespace for Blueprint has been created to let you leverage the nice XML dialect.
-Given Blueprint custom namespaces are not standardized yet, this namespace can only be used on the Apache Aries Blueprint
-implementation, which is the one used by Apache Karaf.
-
-== Overview
-
-The XML schema is mostly the same as the one for Spring, so all the XML snippets throughout the documentation
-referring to Spring XML also apply to Blueprint routes.
-
-Here is a very simple route definition using Blueprint:
-
-[source,xml]
-----
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
-    <camelContext xmlns="http://camel.apache.org/schema/blueprint">
-        <route>
-            <from uri="timer:test" />
-            <to uri="log:test" />
-        </route>
-    </camelContext>
-
-</blueprint>
-----
-
-There are a few limitations at this point about the supported xml elements (compared to the Spring XML syntax):
-
-- `beanPostProcessor` and `<export>` are specific to Spring and are not in use
-
-However, using Blueprint when you deploy your applications in an OSGi environment has several advantages:
-
-- when upgrading to a new Camel version, you don't have to change the namespace, as the correct version will be
-  selected based on the Camel packages that are imported by your bundle
-- no startup ordering issue with respect to the custom namespaces and your bundles
-- you can use Blueprint property placeholders
-
-
-== Using camel-blueprint
-
-To leverage camel-blueprint in OSGi, you only need the Aries Blueprint bundle and the camel-blueprint bundle,
-in addition to camel-core-xml and its dependencies.
-
-If you use Karaf, you can use the feature named camel-blueprint which will install all the required bundles.
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
deleted file mode 100644
index 8733ab0..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java
+++ /dev/null
@@ -1,290 +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.blueprint;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.apache.camel.TypeConverter;
-import org.apache.camel.blueprint.handler.CamelNamespaceHandler;
-import org.apache.camel.core.osgi.OsgiBeanRepository;
-import org.apache.camel.core.osgi.OsgiCamelContextHelper;
-import org.apache.camel.core.osgi.OsgiCamelContextPublisher;
-import org.apache.camel.core.osgi.OsgiFactoryFinderResolver;
-import org.apache.camel.core.osgi.OsgiTypeConverter;
-import org.apache.camel.core.osgi.utils.BundleContextUtils;
-import org.apache.camel.core.osgi.utils.BundleDelegatingClassLoader;
-import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.spi.BeanRepository;
-import org.apache.camel.spi.EventNotifier;
-import org.apache.camel.spi.FactoryFinder;
-import org.apache.camel.spi.ModelJAXBContextFactory;
-import org.apache.camel.support.DefaultRegistry;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceEvent;
-import org.osgi.framework.ServiceListener;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-import org.osgi.service.blueprint.container.BlueprintEvent;
-import org.osgi.service.blueprint.container.BlueprintListener;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * OSGi Blueprint based {@link org.apache.camel.CamelContext}.
- */
-public class BlueprintCamelContext extends DefaultCamelContext implements ServiceListener, BlueprintListener {
-
-    private static final Logger LOG = LoggerFactory.getLogger(BlueprintCamelContext.class);
-
-    protected final AtomicBoolean routeDefinitionValid = new AtomicBoolean(true);
-
-    private BundleContext bundleContext;
-    private BlueprintContainer blueprintContainer;
-    private ServiceRegistration<?> registration;
-    private BlueprintCamelStateService bundleStateService;
-
-    public BlueprintCamelContext(BundleContext bundleContext, BlueprintContainer blueprintContainer) {
-        super(false);
-        this.bundleContext = bundleContext;
-        this.blueprintContainer = blueprintContainer;
-
-        // inject common osgi
-        OsgiCamelContextHelper.osgiUpdate(this, bundleContext);
-
-        // and these are blueprint specific
-        BeanRepository repo1 = new BlueprintContainerBeanRepository(getBlueprintContainer());
-        OsgiBeanRepository repo2 = new OsgiBeanRepository(bundleContext);
-        setRegistry(new DefaultRegistry(repo1, repo2));
-        // Need to clean up the OSGi service when camel context is closed.
-        addLifecycleStrategy(repo2);
-
-        setComponentResolver(new BlueprintComponentResolver(bundleContext));
-        setLanguageResolver(new BlueprintLanguageResolver(bundleContext));
-        setDataFormatResolver(new BlueprintDataFormatResolver(bundleContext));
-        setApplicationContextClassLoader(new BundleDelegatingClassLoader(bundleContext.getBundle()));
-        build();
-    }
-
-    @Override
-    protected ModelJAXBContextFactory createModelJAXBContextFactory() {
-        // must use classloader of the namespace handler
-        return new BlueprintModelJAXBContextFactory(CamelNamespaceHandler.class.getClassLoader());
-    }
-
-    public BundleContext getBundleContext() {
-        return bundleContext;
-    }
-
-    public void setBundleContext(BundleContext bundleContext) {
-        this.bundleContext = bundleContext;
-    }
-
-    public BlueprintContainer getBlueprintContainer() {
-        return blueprintContainer;
-    }
-
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-
-    public BlueprintCamelStateService getBundleStateService() {
-        return bundleStateService;
-    }
-
-    public void setBundleStateService(BlueprintCamelStateService bundleStateService) {
-        this.bundleStateService = bundleStateService;
-    }
-
-    @Override
-    public void doBuild() throws Exception {
-        LOG.trace("init {}", this);
-        // add service listener so we can be notified when blueprint container is done
-        // and we would be ready to start CamelContext
-        bundleContext.addServiceListener(this);
-        // add blueprint listener as service, as we need this for the blueprint container
-        // to support change events when it changes states
-        registration = bundleContext.registerService(BlueprintListener.class, this, null);
-        // call super
-        super.doBuild();
-    }
-
-    public void destroy() throws Exception {
-        LOG.trace("destroy {}", this);
-
-        // remove listener and stop this CamelContext
-        try {
-            bundleContext.removeServiceListener(this);
-        } catch (Exception e) {
-            LOG.warn("Error removing ServiceListener: " + this + ". This exception is ignored.", e);
-        }
-        if (registration != null) {
-            try {
-                registration.unregister();
-            } catch (Exception e) {
-                LOG.warn("Error unregistering service registration: " + registration + ". This exception is ignored.", e);
-            }
-            registration = null;
-        }
-        bundleStateService.setBundleState(bundleContext.getBundle(), this.getName(), null);
-
-        // must stop Camel
-        stop();
-    }
-
-    @Override
-    public void blueprintEvent(BlueprintEvent event) {
-        if (LOG.isDebugEnabled()) {
-            String eventTypeString;
-
-            switch (event.getType()) {
-                case BlueprintEvent.CREATING:
-                    eventTypeString = "CREATING";
-                    break;
-                case BlueprintEvent.CREATED:
-                    eventTypeString = "CREATED";
-                    break;
-                case BlueprintEvent.DESTROYING:
-                    eventTypeString = "DESTROYING";
-                    break;
-                case BlueprintEvent.DESTROYED:
-                    eventTypeString = "DESTROYED";
-                    break;
-                case BlueprintEvent.GRACE_PERIOD:
-                    eventTypeString = "GRACE_PERIOD";
-                    break;
-                case BlueprintEvent.WAITING:
-                    eventTypeString = "WAITING";
-                    break;
-                case BlueprintEvent.FAILURE:
-                    eventTypeString = "FAILURE";
-                    break;
-                default:
-                    eventTypeString = "UNKNOWN";
-                    break;
-            }
-
-            LOG.debug("Received BlueprintEvent[replay={} type={} bundle={}] {}", event.isReplay(), eventTypeString, event.getBundle().getSymbolicName(), event);
-        }
-
-        if (!event.isReplay() && this.getBundleContext().getBundle().getBundleId() == event.getBundle().getBundleId()) {
-            if (event.getType() == BlueprintEvent.CREATED) {
-                try {
-                    LOG.info("Attempting to start CamelContext: {}", this.getName());
-                    this.maybeStart();
-                } catch (Exception startEx) {
-                    LOG.error("Error occurred during starting CamelContext: {}", this.getName(), startEx);
-                }
-            }
-        }
-    }
-
-    @Override
-    public void serviceChanged(ServiceEvent event) {
-        if (LOG.isTraceEnabled()) {
-            String eventTypeString;
-
-            switch (event.getType()) {
-                case ServiceEvent.REGISTERED:
-                    eventTypeString = "REGISTERED";
-                    break;
-                case ServiceEvent.MODIFIED:
-                    eventTypeString = "MODIFIED";
-                    break;
-                case ServiceEvent.UNREGISTERING:
-                    eventTypeString = "UNREGISTERING";
-                    break;
-                case ServiceEvent.MODIFIED_ENDMATCH:
-                    eventTypeString = "MODIFIED_ENDMATCH";
-                    break;
-                default:
-                    eventTypeString = "UNKNOWN";
-                    break;
-            }
-
-            // use trace logging as this is very noisy
-            LOG.trace("Service: {} changed to: {}", event, eventTypeString);
-        }
-    }
-
-    @Override
-    protected TypeConverter createTypeConverter() {
-        // CAMEL-3614: make sure we use a bundle context which imports org.apache.camel.impl.converter package
-        BundleContext ctx = BundleContextUtils.getBundleContext(getClass());
-        if (ctx == null) {
-            ctx = bundleContext;
-        }
-        FactoryFinder finder = new OsgiFactoryFinderResolver(bundleContext).resolveDefaultFactoryFinder(getClassResolver());
-        return new OsgiTypeConverter(ctx, this, getInjector(), finder);
-    }
-
-    @Override
-    public void start() {
-        final ClassLoader original = Thread.currentThread().getContextClassLoader();
-        try {
-            // let's set a more suitable TCCL while starting the context
-            Thread.currentThread().setContextClassLoader(getApplicationContextClassLoader());
-            bundleStateService.setBundleState(bundleContext.getBundle(), this.getName(), BlueprintCamelStateService.State.Starting);
-            super.start();
-            bundleStateService.setBundleState(bundleContext.getBundle(), this.getName(), BlueprintCamelStateService.State.Active);
-        } catch (Exception e) {
-            bundleStateService.setBundleState(bundleContext.getBundle(), this.getName(), BlueprintCamelStateService.State.Failure, e);
-            routeDefinitionValid.set(false);
-            throw e;
-        } finally {
-            Thread.currentThread().setContextClassLoader(original);
-        }
-    }
-
-    private void maybeStart() throws Exception {
-        LOG.trace("maybeStart: {}", this);
-
-        if (!routeDefinitionValid.get()) {
-            LOG.trace("maybeStart: {} is skipping since CamelRoute definition is not correct.", this);
-            return;
-        }
-
-        // allow to register the BluerintCamelContext eager in the OSGi Service Registry, which ex is needed
-        // for unit testing with camel-test-blueprint
-        boolean eager = "true".equalsIgnoreCase(System.getProperty("registerBlueprintCamelContextEager"));
-        if (eager) {
-            for (EventNotifier notifier : getManagementStrategy().getEventNotifiers()) {
-                if (notifier instanceof OsgiCamelContextPublisher) {
-                    OsgiCamelContextPublisher publisher = (OsgiCamelContextPublisher) notifier;
-                    publisher.registerCamelContext(this);
-                    break;
-                }
-            }
-        }
-
-        // for example from unit testing we want to start Camel later and not
-        // when blueprint loading the bundle
-        boolean skip = "true".equalsIgnoreCase(System.getProperty("skipStartingCamelContext"));
-        if (skip) {
-            LOG.trace("maybeStart: {} is skipping as System property skipStartingCamelContext is set", this);
-            return;
-        }
-
-        if (!isStarted() && !isStarting()) {
-            LOG.debug("Starting {}", this);
-            start();
-        } else {
-            // ignore as Camel is already started
-            LOG.trace("Ignoring maybeStart() as {} is already started", this);
-        }
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContextLookupHelper.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContextLookupHelper.java
deleted file mode 100644
index 29c932d..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContextLookupHelper.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.blueprint;
-
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.apache.aries.blueprint.ExtendedBeanMetadata;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-import org.osgi.service.blueprint.reflect.ComponentMetadata;
-
-/**
- * A helper class to find the ids of the {@link BlueprintCamelContext} defined
- * in the {@link org.osgi.service.blueprint.container.BlueprintContainer}
- */
-public final class BlueprintCamelContextLookupHelper {
-
-    private BlueprintCamelContextLookupHelper() {
-    }
-
-    /**
-     * Lookup all the {@link BlueprintCamelContext} in the {@link BlueprintContainer}.
-     *
-     * @param container the blueprint container, must be provided
-     * @return a set with the ids of the {@link BlueprintCamelContext}, never <tt>null</tt>, but can be empty set.
-     */
-    public static Set<String> lookupBlueprintCamelContext(BlueprintContainer container) {
-        Set<String> ids = new LinkedHashSet<>();
-        for (Object id : container.getComponentIds()) {
-            ComponentMetadata meta = container.getComponentMetadata(id.toString());
-
-            // must be extended meta, to see if its the blueprint camel context
-            if (meta instanceof ExtendedBeanMetadata) {
-                Class<?> clazz = ((ExtendedBeanMetadata) meta).getRuntimeClass();
-                if (clazz != null && BlueprintCamelContext.class.isAssignableFrom(clazz)) {
-                    // okay we found a BlueprintCamelContext
-                    ids.add(meta.getId());
-                }
-            }
-        }
-        return ids;
-    }
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelStateService.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelStateService.java
deleted file mode 100644
index 8569f76..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelStateService.java
+++ /dev/null
@@ -1,164 +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.blueprint;
-
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Used by {@link BlueprintCamelContext} to inform about state of Camel context. If running inside Karaf
- * and Karaf's BundleStateService is accessible, Camel context state will propagate as <em>extended
- * bundle state</em>.
- */
-public class BlueprintCamelStateService {
-
-    public static final Logger LOG = LoggerFactory.getLogger(BlueprintCamelStateService.class);
-
-    public enum State {
-        Starting,
-        Active,
-        Failure
-    }
-
-    private Map<String, State> states;
-    private Map<String, Throwable> exceptions;
-
-    private BundleContext bundleContext;
-
-    private ServiceRegistration<?> registration;
-    public BundleContext getBundleContext() {
-        return bundleContext;
-    }
-
-    public void setBundleContext(BundleContext bundleContext) {
-        this.bundleContext = bundleContext;
-    }
-
-    /**
-     * One of four {@link State states} is set for given {@link org.osgi.framework.Bundle} and context Id.
-     * One (blueprint) bundle may declare one or more Camel context.
-     * @param contextId
-     * @param state
-     */
-    public void setBundleState(Bundle bundle, String contextId, State state) {
-        setBundleState(bundle, contextId, state, null);
-    }
-
-    /**
-     * One of four {@link State states} is set for given {@link org.osgi.framework.Bundle} and context Id.
-     * One (blueprint) bundle may declare one or more Camel context.
-     * @param contextId
-     * @param state
-     * @param t
-     */
-    public void setBundleState(Bundle bundle, String contextId, State state, Throwable t) {
-        if (state == State.Failure) {
-            LOG.warn("Changing Camel state for bundle {} to {}", bundle.getBundleId(), state);
-        } else if (LOG.isDebugEnabled()) {
-            LOG.debug("Changing Camel state for bundle {} to {}", bundle.getBundleId(), state);
-        }
-
-        String key = String.format("%d:%s", bundle.getBundleId(), contextId);
-        if (state != null) {
-            states.put(key, state);
-        } else {
-            states.remove(key);
-        }
-        if (t != null) {
-            exceptions.put(key, t);
-        } else {
-            exceptions.remove(key);
-        }
-    }
-
-    /**
-     * Get states for all context registered for given {@link Bundle}
-     * @param bundle
-     * @return
-     */
-    public List<State> getStates(Bundle bundle) {
-        List<State> result = new LinkedList<>();
-        for (Map.Entry<String, State> e : states.entrySet()) {
-            if (e.getKey().startsWith(bundle.getBundleId() + ":")) {
-                result.add(e.getValue());
-            }
-        }
-        return result;
-    }
-
-    /**
-     * Get exceptions for all camel contexts for given bundle
-     * @param bundle
-     * @return
-     */
-    public Map<String, Throwable> getExceptions(Bundle bundle) {
-        Map<String, Throwable> result = new LinkedHashMap<>();
-        for (Map.Entry<String, Throwable> e : exceptions.entrySet()) {
-            if (e.getKey().startsWith(bundle.getBundleId() + ":")) {
-                result.put(e.getKey().substring(e.getKey().indexOf(":") + 1), e.getValue());
-            }
-        }
-        return result;
-    }
-
-    /**
-     * Attempts to register Karaf-specific BundleStateService - if possible
-     */
-    public void init() {
-        try {
-            states = new ConcurrentHashMap<>();
-            exceptions = new ConcurrentHashMap<>();
-
-            registration = new KarafBundleStateServiceCreator().create(bundleContext, this);
-        } catch (NoClassDefFoundError e) {
-            LOG.info("Karaf BundleStateService not accessible. Bundle state won't reflect Camel context state");
-        }
-    }
-
-    /**
-     * Unregisters any OSGi service registered
-     */
-    public void destroy() {
-        if (registration != null) {
-            registration.unregister();
-        }
-        states.clear();
-        states = null;
-        exceptions.clear();
-        exceptions = null;
-    }
-
-    /**
-     * Static creator to decouple from optional Karaf classes.
-     */
-    private static class KarafBundleStateServiceCreator {
-        public ServiceRegistration<?> create(BundleContext context, BlueprintCamelStateService camelStateService) {
-            KarafBundleStateService karafBundleStateService = new KarafBundleStateService(camelStateService);
-            return karafBundleStateService.register(context);
-        }
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java
deleted file mode 100644
index 02b32f7..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintComponentResolver.java
+++ /dev/null
@@ -1,72 +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.blueprint;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Component;
-import org.apache.camel.core.osgi.OsgiComponentResolver;
-import org.apache.camel.spi.ComponentResolver;
-import org.apache.camel.support.ResolverHelper;
-import org.osgi.framework.BundleContext;
-import org.osgi.service.blueprint.container.ComponentDefinitionException;
-import org.osgi.service.blueprint.container.NoSuchComponentException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.apache.camel.util.ObjectHelper.getException;
-
-public class BlueprintComponentResolver extends OsgiComponentResolver {
-
-    private static final Logger LOG = LoggerFactory.getLogger(BlueprintComponentResolver.class);
-
-    public BlueprintComponentResolver(BundleContext bundleContext) {
-        super(bundleContext);
-    }
-
-    @Override
-    public Component resolveComponent(String name, CamelContext context) throws Exception {
-
-        Component componentReg = ResolverHelper.lookupComponentInRegistryWithFallback(context, name, new ResolverHelper.LookupExceptionHandler() {
-            @Override
-            public void handleException(Exception e, Logger log, String name) {
-                if (getException(NoSuchComponentException.class, e) != null) {
-                    // if the caused error is NoSuchComponentException then that can be expected so ignore
-                } else if (getException(ComponentDefinitionException.class, e) != null) {
-                    LOG.warn("Problem looking up bean: " + name + " due: " + e.getMessage(), e);
-                } else {
-                    LOG.trace("Ignored error looking up bean: " + name + " due: " + e.getMessage(), e);
-                }
-            }
-        });
-
-        if (componentReg != null) {
-            return componentReg;
-        }
-
-        try {
-            Object bean = context.getRegistry().lookupByName(".camelBlueprint.componentResolver." + name);
-            if (bean instanceof ComponentResolver) {
-                LOG.debug("Found component resolver: {} in registry: {}", name, bean);
-                return ((ComponentResolver) bean).resolveComponent(name, context);
-            }
-        } catch (Exception e) {
-            LOG.trace("Ignored error looking up bean: " + name + " due: " + e.getMessage(), e);
-        }
-        return getComponent(name, context);
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintContainerBeanRepository.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintContainerBeanRepository.java
deleted file mode 100644
index 8c32a62..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintContainerBeanRepository.java
+++ /dev/null
@@ -1,123 +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.blueprint;
-
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.camel.NoSuchBeanException;
-import org.apache.camel.spi.BeanRepository;
-import org.osgi.framework.Bundle;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-import org.osgi.service.blueprint.container.NoSuchComponentException;
-import org.osgi.service.blueprint.reflect.BeanMetadata;
-import org.osgi.service.blueprint.reflect.ComponentMetadata;
-import org.osgi.service.blueprint.reflect.ReferenceMetadata;
-
-public class BlueprintContainerBeanRepository implements BeanRepository {
-
-    private final BlueprintContainer blueprintContainer;
-
-    public BlueprintContainerBeanRepository(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-
-    @Override
-    public Object lookupByName(String name) {
-        try {
-            return blueprintContainer.getComponentInstance(name);
-        } catch (NoSuchComponentException e) {
-            return null;
-        }
-    }
-
-    @Override
-    public <T> T lookupByNameAndType(String name, Class<T> type) {
-        Object answer;
-        try {
-            answer = blueprintContainer.getComponentInstance(name);
-        } catch (NoSuchComponentException e) {
-            return null;
-        }
-
-        // just to be safe
-        if (answer == null) {
-            return null;
-        }
-
-        try {
-            return type.cast(answer);
-        } catch (Throwable e) {
-            String msg = "Found bean: " + name + " in BlueprintContainer: " + blueprintContainer
-                    + " of type: " + answer.getClass().getName() + " expected type was: " + type;
-            throw new NoSuchBeanException(name, msg, e);
-        }
-    }
-
-    @Override
-    public <T> Map<String, T> findByTypeWithName(Class<T> type) {
-        return lookupByType(blueprintContainer, type);
-    }
-
-    @Override
-    public <T> Set<T> findByType(Class<T> type) {
-        Map<String, T> map = lookupByType(blueprintContainer, type);
-        return new HashSet<>(map.values());
-    }
-
-    public static <T> Map<String, T> lookupByType(BlueprintContainer blueprintContainer, Class<T> type) {
-        return lookupByType(blueprintContainer, type, true);
-    }
-
-    public static <T> Map<String, T> lookupByType(BlueprintContainer blueprintContainer, Class<T> type, boolean includeNonSingletons) {
-        Bundle bundle = (Bundle) blueprintContainer.getComponentInstance("blueprintBundle");
-        Map<String, T> objects = new LinkedHashMap<>();
-        Set<String> ids = blueprintContainer.getComponentIds();
-        for (String id : ids) {
-            try {
-                ComponentMetadata metadata = blueprintContainer.getComponentMetadata(id);
-                Class<?> cl = null;
-                if (metadata instanceof BeanMetadata) {
-                    BeanMetadata beanMetadata = (BeanMetadata)metadata;
-                    // should we skip the bean if its prototype and we are only looking for singletons?
-                    if (!includeNonSingletons) {
-                        String scope = beanMetadata.getScope();
-                        if (BeanMetadata.SCOPE_PROTOTYPE.equals(scope)) {
-                            continue;
-                        }
-                    }
-                    String clazz = beanMetadata.getClassName();
-                    if (clazz != null) {
-                        cl = bundle.loadClass(clazz);
-                    }
-                } else if (metadata instanceof ReferenceMetadata) {
-                    ReferenceMetadata referenceMetadata = (ReferenceMetadata)metadata;
-                    cl = bundle.loadClass(referenceMetadata.getInterface());
-                }
-                if (cl != null && type.isAssignableFrom(cl)) {
-                    Object o = blueprintContainer.getComponentInstance(metadata.getId());
-                    objects.put(metadata.getId(), type.cast(o));
-                }
-            } catch (Throwable t) {
-                // ignore
-            }
-        }
-        return objects;
-    }
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintDataFormatResolver.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintDataFormatResolver.java
deleted file mode 100644
index 0f504d0..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintDataFormatResolver.java
+++ /dev/null
@@ -1,62 +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.blueprint;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.core.osgi.OsgiDataFormatResolver;
-import org.apache.camel.spi.DataFormat;
-import org.apache.camel.spi.DataFormatFactory;
-import org.apache.camel.spi.DataFormatResolver;
-import org.osgi.framework.BundleContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class BlueprintDataFormatResolver extends OsgiDataFormatResolver {
-    private static final Logger LOG = LoggerFactory.getLogger(BlueprintDataFormatResolver.class);
-
-    public BlueprintDataFormatResolver(BundleContext bundleContext) {
-        super(bundleContext);
-    }
-
-    @Override
-    public DataFormat resolveDataFormat(String name, CamelContext context) {
-        DataFormat dataFormat = null;
-
-        DataFormatResolver resolver = context.getRegistry().lookupByNameAndType(".camelBlueprint.dataformatResolver." + name, DataFormatResolver.class);
-        if (resolver != null) {
-            LOG.debug("Found dataformat resolver: {} in registry: {}", name, resolver);
-            dataFormat = resolver.resolveDataFormat(name, context);
-        }
-
-        if (dataFormat == null) {
-            dataFormat = super.resolveDataFormat(name, context);
-        }
-
-        return dataFormat;
-    }
-
-    @Override
-    public DataFormat createDataFormat(String name, CamelContext context) {
-        DataFormatFactory factory = context.getRegistry().lookupByNameAndType(".camelBlueprint.dataformatFactory." + name, DataFormatFactory.class);
-        if (factory  != null) {
-            LOG.debug("Found dataformat factory: {} in registry: {}", name, factory);
-            return factory.newInstance();
-        }
-
-        return super.createDataFormat(name, context);
-    }
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintLanguageResolver.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintLanguageResolver.java
deleted file mode 100644
index a2ae987..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintLanguageResolver.java
+++ /dev/null
@@ -1,49 +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.blueprint;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.core.osgi.OsgiLanguageResolver;
-import org.apache.camel.spi.Language;
-import org.apache.camel.spi.LanguageResolver;
-import org.osgi.framework.BundleContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class BlueprintLanguageResolver extends OsgiLanguageResolver {
-
-    private static final Logger LOG = LoggerFactory.getLogger(BlueprintLanguageResolver.class);
-
-    public BlueprintLanguageResolver(BundleContext bundleContext) {
-        super(bundleContext);
-    }
-
-    @Override
-    public Language resolveLanguage(String name, CamelContext context) {
-        try {
-            Object bean = context.getRegistry().lookupByName(".camelBlueprint.languageResolver." + name);
-            if (bean instanceof LanguageResolver) {
-                LOG.debug("Found language resolver: {} in registry: {}", name, bean);
-                return ((LanguageResolver) bean).resolveLanguage(name, context);
-            }
-        } catch (Exception e) {
-            LOG.trace("Ignored error looking up bean: " + name + " due: " + e.getMessage(), e);
-        }
-        return super.resolveLanguage(name, context);
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintModelJAXBContextFactory.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintModelJAXBContextFactory.java
deleted file mode 100644
index 7a10282..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintModelJAXBContextFactory.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.blueprint;
-
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.apache.camel.core.xml.AbstractCamelContextFactoryBean;
-import org.apache.camel.util.blueprint.SSLContextParametersFactoryBean;
-import org.apache.camel.xml.jaxb.DefaultModelJAXBContextFactory;
-
-public class BlueprintModelJAXBContextFactory extends DefaultModelJAXBContextFactory {
-
-    private final ClassLoader classLoader;
-
-    public BlueprintModelJAXBContextFactory(ClassLoader classLoader) {
-        this.classLoader = classLoader;
-    }
-
-    @Override
-    protected ClassLoader getClassLoader() {
-        return classLoader;
-    }
-
-    @Override
-    protected String getPackages() {
-        // we nedd to have a class from each different package with jaxb models
-        // and we must use the .class for the classloader to work in OSGi
-        Set<Class<?>> classes = new LinkedHashSet<>();
-        classes.add(CamelContextFactoryBean.class);
-        classes.add(AbstractCamelContextFactoryBean.class);
-        classes.add(SSLContextParametersFactoryBean.class);
-        classes.add(org.apache.camel.ExchangePattern.class);
-        classes.add(org.apache.camel.model.RouteDefinition.class);
-        classes.add(org.apache.camel.model.config.StreamResequencerConfig.class);
-        classes.add(org.apache.camel.model.dataformat.DataFormatsDefinition.class);
-        classes.add(org.apache.camel.model.language.ExpressionDefinition.class);
-        classes.add(org.apache.camel.model.loadbalancer.RoundRobinLoadBalancerDefinition.class);
-        classes.add(org.apache.camel.model.rest.RestDefinition.class);
-        classes.add(org.apache.camel.model.cloud.ServiceCallDefinition.class);
-
-        StringBuilder packages = new StringBuilder();
-        for (Class<?> cl : classes) {
-            if (packages.length() > 0) {
-                packages.append(":");
-            }
-            packages.append(cl.getName(), 0, cl.getName().lastIndexOf('.'));
-        }
-        return packages.toString();
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintPropertiesSource.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintPropertiesSource.java
deleted file mode 100644
index 29c85b6..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintPropertiesSource.java
+++ /dev/null
@@ -1,156 +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.blueprint;
-
-import java.lang.reflect.Method;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.aries.blueprint.ext.PropertyPlaceholderExt;
-import org.apache.camel.spi.PropertiesSource;
-import org.apache.camel.support.ObjectHelper;
-import org.apache.camel.support.service.ServiceSupport;
-import org.apache.camel.util.ReflectionHelper;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Blueprint {@link PropertiesSource} which supports looking up
- * property placeholders from the Blueprint Property Placeholder Service.
- */
-public class BlueprintPropertiesSource extends ServiceSupport implements PropertiesSource {
-
-    private static final Logger LOG = LoggerFactory.getLogger(BlueprintPropertiesSource.class);
-    private final BlueprintContainer container;
-    private final List<String> ids;
-    private final Set<PropertyPlaceholderWrapper> placeholders = new LinkedHashSet<>();
-
-    public BlueprintPropertiesSource(BlueprintContainer container, List<String> ids) {
-        this.container = container;
-        this.ids = ids;
-    }
-
-    @Override
-    public String getName() {
-        return "BlueprintPropertiesSource" + ids;
-    }
-
-    @Override
-    public String getProperty(String name) {
-        String answer = null;
-
-        for (PropertyPlaceholderWrapper placeholder : placeholders) {
-            boolean isDefault = false;
-            if (placeholders.size() > 1) {
-                // okay we have multiple placeholders and we want to return the answer that
-                // is not the default placeholder if there is multiple keys
-                Map map = placeholder.getDefaultProperties();
-                isDefault = map != null && map.containsKey(name);
-                LOG.trace("Blueprint property key: {} is part of default properties: {}", name, isDefault);
-            }
-
-            try {
-                String candidate = placeholder.retrieveValue(name);
-                if (candidate != null) {
-                    if (answer == null || !isDefault) {
-                        LOG.trace("Blueprint candidate property key: {} as value: {}", name, answer);
-                        answer = candidate;
-                    }
-                }
-            } catch (Exception ex) {
-                // Here we just catch the exception and try to use other candidate
-            }
-        }
-        LOG.debug("Blueprint getProperty: {}={}", name, answer);
-
-        return answer;
-    }
-
-    /**
-     * Adds the given Blueprint property placeholder service with the given id
-     *
-     * @param id id of the Blueprint property placeholder service to add.
-     */
-    private void addPropertyPlaceholder(String id) {
-        Object component = container.getComponentInstance(id);
-
-        if (component instanceof PropertyPlaceholderExt) {
-            Class<?> clazz = component.getClass();
-            if (clazz != null) {
-                LOG.debug("Adding Blueprint PropertyPlaceholder: {}", id);
-                Method method = ReflectionHelper.findMethod(clazz, "retrieveValue", String.class);
-                Method defaultMethod = ReflectionHelper.findMethod(clazz, "getDefaultProperties");
-                if (method != null) {
-                    method.setAccessible(true);
-                    if (defaultMethod != null) {
-                        defaultMethod.setAccessible(true);
-                    }
-                    placeholders.add(new PropertyPlaceholderWrapper(component, method, defaultMethod));
-                } else {
-                    throw new IllegalStateException("Cannot add blueprint property placeholder: " + id
-                            + " as the method retrieveValue is not found");
-                }
-            }
-        }
-    }
-
-    @Override
-    protected void doInit() throws Exception {
-        for (String id : ids) {
-            addPropertyPlaceholder(id);
-        }
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        // noop
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        // noop
-    }
-
-    private class PropertyPlaceholderWrapper {
-
-        private final Object delegate;
-        private final Method method;
-        private final Method defaultMethod;
-
-        PropertyPlaceholderWrapper(Object delegate, Method method, Method defaultMethod) {
-            this.delegate = delegate;
-            this.method = method;
-            this.defaultMethod = defaultMethod;
-        }
-
-        String retrieveValue(String key) {
-            Object v = ObjectHelper.invokeMethod(method, delegate, key);
-            return v == null ? null : v.toString();
-        }
-
-        Map getDefaultProperties() {
-            if (defaultMethod != null) {
-                return (Map) ObjectHelper.invokeMethod(defaultMethod, delegate);
-            }
-            return null;
-        }
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelConsumerTemplateFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelConsumerTemplateFactoryBean.java
deleted file mode 100644
index 2f8948a..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelConsumerTemplateFactoryBean.java
+++ /dev/null
@@ -1,65 +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.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.core.xml.AbstractCamelConsumerTemplateFactoryBean;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-/**
- * A factory for creating a new {@link org.apache.camel.ConsumerTemplate}
- * instance with a minimum of XML
- */
-@XmlRootElement(name = "consumerTemplate")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CamelConsumerTemplateFactoryBean extends AbstractCamelConsumerTemplateFactoryBean {
-
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java
deleted file mode 100644
index d39a199..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelContextFactoryBean.java
+++ /dev/null
@@ -1,979 +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.blueprint;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.Properties;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElements;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.aries.blueprint.ExtendedBeanMetadata;
-import org.apache.aries.blueprint.ext.PropertyPlaceholderExt;
-import org.apache.camel.LoggingLevel;
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.ShutdownRoute;
-import org.apache.camel.ShutdownRunningTask;
-import org.apache.camel.TypeConverterExists;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.properties.PropertiesComponent;
-import org.apache.camel.core.osgi.OsgiCamelContextPublisher;
-import org.apache.camel.core.osgi.OsgiEventAdminNotifier;
-import org.apache.camel.core.osgi.utils.BundleDelegatingClassLoader;
-import org.apache.camel.core.xml.AbstractCamelContextFactoryBean;
-import org.apache.camel.core.xml.AbstractCamelFactoryBean;
-import org.apache.camel.core.xml.CamelJMXAgentDefinition;
-import org.apache.camel.core.xml.CamelPropertyPlaceholderDefinition;
-import org.apache.camel.core.xml.CamelServiceExporterDefinition;
-import org.apache.camel.core.xml.CamelStreamCachingStrategyDefinition;
-import org.apache.camel.model.ContextScanDefinition;
-import org.apache.camel.model.GlobalOptionsDefinition;
-import org.apache.camel.model.HystrixConfigurationDefinition;
-import org.apache.camel.model.InterceptDefinition;
-import org.apache.camel.model.InterceptFromDefinition;
-import org.apache.camel.model.InterceptSendToEndpointDefinition;
-import org.apache.camel.model.OnCompletionDefinition;
-import org.apache.camel.model.OnExceptionDefinition;
-import org.apache.camel.model.PackageScanDefinition;
-import org.apache.camel.model.Resilience4jConfigurationDefinition;
-import org.apache.camel.model.RestContextRefDefinition;
-import org.apache.camel.model.RouteBuilderDefinition;
-import org.apache.camel.model.RouteContextRefDefinition;
-import org.apache.camel.model.RouteDefinition;
-import org.apache.camel.model.ThreadPoolProfileDefinition;
-import org.apache.camel.model.cloud.ServiceCallConfigurationDefinition;
-import org.apache.camel.model.dataformat.DataFormatsDefinition;
-import org.apache.camel.model.rest.RestConfigurationDefinition;
-import org.apache.camel.model.rest.RestDefinition;
-import org.apache.camel.model.transformer.TransformersDefinition;
-import org.apache.camel.model.validator.ValidatorsDefinition;
-import org.apache.camel.spi.Metadata;
-import org.apache.camel.spi.PackageScanFilter;
-import org.apache.camel.spi.Registry;
-import org.apache.camel.util.StringHelper;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-import org.osgi.service.blueprint.reflect.ComponentMetadata;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A bean to create and initialize a {@link BlueprintCamelContext} and install
- * routes either explicitly configured in Blueprint XML or found by searching
- * the classpath for Java classes which extend {@link RouteBuilder} using the
- * nested {@link #setPackages(String[])}.
- */
-@XmlRootElement(name = "camelContext")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CamelContextFactoryBean extends AbstractCamelContextFactoryBean<BlueprintCamelContext> {
-    private static final Logger LOG = LoggerFactory.getLogger(CamelContextFactoryBean.class);
-
-    @XmlAttribute(name = "depends-on")
-    private String dependsOn;
-    @XmlAttribute
-    private String trace;
-    @XmlAttribute
-    private String backlogTrace;
-    @XmlAttribute
-    private String tracePattern;
-    @XmlAttribute
-    private String debug;
-    @XmlAttribute
-    private String messageHistory;
-    @XmlAttribute
-    private String logMask;
-    @XmlAttribute
-    private String logExhaustedMessageBody;
-    @XmlAttribute
-    private String streamCache = "false";
-    @XmlAttribute
-    private String delayer;
-    @XmlAttribute
-    private String errorHandlerRef;
-    @XmlAttribute
-    private String autoStartup = "true";
-    @XmlAttribute
-    private String useMDCLogging;
-    @XmlAttribute
-    private String mdcLoggingKeysPattern;
-    @XmlAttribute
-    private String useDataType;
-    @XmlAttribute
-    private String useBreadcrumb;
-    @XmlAttribute
-    private String allowUseOriginalMessage;
-    @XmlAttribute
-    private String caseInsensitiveHeaders;
-    @XmlAttribute
-    private String runtimeEndpointRegistryEnabled;
-    @XmlAttribute
-    private String managementNamePattern;
-    @XmlAttribute
-    private String threadNamePattern;
-    @XmlAttribute
-    @Metadata(defaultValue = "true")
-    private Boolean useBlueprintPropertyResolver;
-    @XmlAttribute
-    private ShutdownRoute shutdownRoute;
-    @XmlAttribute
-    private ShutdownRunningTask shutdownRunningTask;
-    @XmlAttribute
-    private Boolean loadTypeConverters;
-    @XmlAttribute
-    private Boolean typeConverterStatisticsEnabled;
-    @XmlAttribute
-    private Boolean inflightRepositoryBrowseEnabled;
-    @XmlAttribute
-    private TypeConverterExists typeConverterExists;
-    @XmlAttribute
-    private LoggingLevel typeConverterExistsLoggingLevel;
-    @XmlElement(name = "globalOptions")
-    private GlobalOptionsDefinition globalOptions;
-    @XmlElement(name = "propertyPlaceholder", type = CamelPropertyPlaceholderDefinition.class)
-    private CamelPropertyPlaceholderDefinition camelPropertyPlaceholder;
-    @XmlElement(name = "package")
-    private String[] packages = {};
-    @XmlElement(name = "packageScan", type = PackageScanDefinition.class)
-    private PackageScanDefinition packageScan;
-    @XmlElement(name = "contextScan", type = ContextScanDefinition.class)
-    private ContextScanDefinition contextScan;
-    @XmlElement(name = "jmxAgent", type = CamelJMXAgentDefinition.class)
-    private CamelJMXAgentDefinition camelJMXAgent;
-    @XmlElement(name = "streamCaching", type = CamelStreamCachingStrategyDefinition.class)
-    private CamelStreamCachingStrategyDefinition camelStreamCachingStrategy;
-    @XmlElements({@XmlElement(name = "template", type = CamelProducerTemplateFactoryBean.class),
-                  @XmlElement(name = "fluentTemplate", type = CamelFluentProducerTemplateFactoryBean.class),
-                  @XmlElement(name = "consumerTemplate", type = CamelConsumerTemplateFactoryBean.class), @XmlElement(name = "proxy", type = CamelProxyFactoryBean.class),
-                  @XmlElement(name = "errorHandler", type = CamelErrorHandlerFactoryBean.class)})
-    private List<AbstractCamelFactoryBean<?>> beansFactory;
-    @XmlElements({@XmlElement(name = "export", type = CamelServiceExporterDefinition.class)})
-    private List<?> beans;
-    @XmlElement(name = "defaultServiceCallConfiguration")
-    private ServiceCallConfigurationDefinition defaultServiceCallConfiguration;
-    @XmlElement(name = "serviceCallConfiguration", type = ServiceCallConfigurationDefinition.class)
-    private List<ServiceCallConfigurationDefinition> serviceCallConfigurations;
-    @XmlElement(name = "defaultHystrixConfiguration")
-    private HystrixConfigurationDefinition defaultHystrixConfiguration;
-    @XmlElement(name = "hystrixConfiguration", type = HystrixConfigurationDefinition.class)
-    private List<HystrixConfigurationDefinition> hystrixConfigurations;
-    @XmlElement(name = "defaultResilience4jConfiguration")
-    private Resilience4jConfigurationDefinition defaultResilience4jConfiguration;
-    @XmlElement(name = "resilience4jConfiguration", type = Resilience4jConfigurationDefinition.class)
-    private List<Resilience4jConfigurationDefinition> resilience4jConfigurations;
-    @XmlElement(name = "routeBuilder")
-    private List<RouteBuilderDefinition> builderRefs = new ArrayList<>();
-    @XmlElement(name = "routeContextRef")
-    private List<RouteContextRefDefinition> routeRefs = new ArrayList<>();
-    @XmlElement(name = "restContextRef")
-    private List<RestContextRefDefinition> restRefs = new ArrayList<>();
-    @XmlElement(name = "threadPoolProfile")
-    private List<ThreadPoolProfileDefinition> threadPoolProfiles;
-    @XmlElement(name = "threadPool")
-    private List<CamelThreadPoolFactoryBean> threadPools;
-    @XmlElement(name = "endpoint")
-    private List<CamelEndpointFactoryBean> endpoints;
-    @XmlElement(name = "dataFormats")
-    private DataFormatsDefinition dataFormats;
-    @XmlElement(name = "transformers")
-    private TransformersDefinition transformers;
-    @XmlElement(name = "validators")
-    private ValidatorsDefinition validators;
-    @XmlElement(name = "redeliveryPolicyProfile")
-    private List<CamelRedeliveryPolicyFactoryBean> redeliveryPolicies;
-    @XmlElement(name = "onException")
-    private List<OnExceptionDefinition> onExceptions = new ArrayList<>();
-    @XmlElement(name = "onCompletion")
-    private List<OnCompletionDefinition> onCompletions = new ArrayList<>();
-    @XmlElement(name = "intercept")
-    private List<InterceptDefinition> intercepts = new ArrayList<>();
-    @XmlElement(name = "interceptFrom")
-    private List<InterceptFromDefinition> interceptFroms = new ArrayList<>();
-    @XmlElement(name = "interceptSendToEndpoint")
-    private List<InterceptSendToEndpointDefinition> interceptSendToEndpoints = new ArrayList<>();
-    @XmlElement(name = "restConfiguration")
-    private RestConfigurationDefinition restConfiguration;
-    @XmlElement(name = "rest")
-    private List<RestDefinition> rests = new ArrayList<>();
-    @XmlElement(name = "route")
-    private List<RouteDefinition> routes = new ArrayList<>();
-    @XmlTransient
-    private BlueprintCamelContext context;
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-    @XmlTransient
-    private BundleContext bundleContext;
-    @XmlTransient
-    private boolean implicitId;
-    @XmlTransient
-    private OsgiCamelContextPublisher osgiCamelContextPublisher;
-
-    @Override
-    public Class<BlueprintCamelContext> getObjectType() {
-        return BlueprintCamelContext.class;
-    }
-
-    @Override
-    public BlueprintCamelContext getContext(boolean create) {
-        if (context == null && create) {
-            context = createContext();
-            if (!isImplicitId()) {
-                context.setName(getId());
-            }
-        }
-        return context;
-    }
-
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-
-    public void setBundleContext(BundleContext bundleContext) {
-        this.bundleContext = bundleContext;
-    }
-
-    protected BlueprintCamelContext createContext() {
-        return new BlueprintCamelContext(bundleContext, blueprintContainer);
-    }
-
-    @Override
-    protected void initCustomRegistry(BlueprintCamelContext context) {
-        Registry registry = getBeanForType(Registry.class);
-        if (registry != null) {
-            LOG.info("Using custom Registry: {}", registry);
-            context.setRegistry(registry);
-        }
-    }
-
-    @Override
-    protected <S> S getBeanForType(Class<S> clazz) {
-        Collection<S> objects = BlueprintContainerBeanRepository.lookupByType(blueprintContainer, clazz).values();
-        if (objects.size() == 1) {
-            return objects.iterator().next();
-        }
-        return null;
-    }
-
-    @Override
-    protected void initPropertyPlaceholder() throws Exception {
-        super.initPropertyPlaceholder();
-
-        // if blueprint property resolver is enabled on CamelContext then bridge
-        // PropertiesComponent to blueprint
-        if (isUseBlueprintPropertyResolver()) {
-            // lookup existing configured properties component
-            PropertiesComponent pc = (PropertiesComponent)getContext().getPropertiesComponent();
-
-            // any extra properties
-            ServiceReference<?> ref = bundleContext.getServiceReference(PropertiesComponent.OVERRIDE_PROPERTIES);
-            if (ref != null) {
-                Properties extra = (Properties)bundleContext.getService(ref);
-                if (extra != null) {
-                    pc.setOverrideProperties(extra);
-                }
-            }
-
-            List<String> ids = new ArrayList<>();
-            for (String bp : pc.getLocations()) {
-                String resolver = StringHelper.before(bp, ":");
-                String path = StringHelper.after(bp, ":");
-                if ("blueprint".equals(resolver)) {
-                    ids.add(path);
-                }
-            }
-            if (ids.isEmpty()) {
-                // no blueprint locations has been set, so auto-detect the
-                // blueprint property placeholders to use (convention over
-                // configuration)
-                ids = lookupPropertyPlaceholderIds();
-            }
-            pc.addPropertiesSource(new BlueprintPropertiesSource(blueprintContainer, ids));
-        }
-    }
-
-    /**
-     * Lookup the ids of the Blueprint property placeholder services in the
-     * Blueprint container.
-     *
-     * @return the ids, will be an empty if none found.
-     */
-    private List<String> lookupPropertyPlaceholderIds() {
-        List<String> ids = new ArrayList<>();
-
-        for (Object componentId : blueprintContainer.getComponentIds()) {
-            String id = (String)componentId;
-            ComponentMetadata meta = blueprintContainer.getComponentMetadata(id);
-            if (meta instanceof ExtendedBeanMetadata) {
-                Class<?> clazz = ((ExtendedBeanMetadata)meta).getRuntimeClass();
-                if (clazz != null && PropertyPlaceholderExt.class.isAssignableFrom(clazz)) {
-                    ids.add(id);
-                }
-            }
-        }
-
-        return ids;
-    }
-
-    @Override
-    protected void initBeanPostProcessor(BlueprintCamelContext context) {
-    }
-
-    @Override
-    protected void postProcessBeforeInit(RouteBuilder builder) {
-    }
-
-    @Override
-    protected void findRouteBuildersByPackageScan(String[] packages, PackageScanFilter filter, List<RoutesBuilder> builders) throws Exception {
-        // add filter to class resolver which then will filter
-        getContext().getPackageScanClassResolver().addFilter(filter);
-        ClassLoader classLoader = new BundleDelegatingClassLoader(bundleContext.getBundle());
-        PackageScanRouteBuilderFinder finder = new PackageScanRouteBuilderFinder(getContext(), packages, classLoader, getContext().getPackageScanClassResolver());
-        finder.appendBuilders(builders);
-
-        // and remove the filter
-        getContext().getPackageScanClassResolver().removeFilter(filter);
-    }
-
-    @Override
-    protected void findRouteBuildersByContextScan(PackageScanFilter filter, boolean includeNonSingletons, List<RoutesBuilder> builders) throws Exception {
-        ContextScanRouteBuilderFinder finder = new ContextScanRouteBuilderFinder(getContext(), filter, includeNonSingletons);
-        finder.appendBuilders(builders);
-    }
-
-    @Override
-    public void afterPropertiesSet() throws Exception {
-        super.afterPropertiesSet();
-        // setup the application context classloader with the bundle delegating
-        // classloader
-        ClassLoader cl = new BundleDelegatingClassLoader(bundleContext.getBundle());
-        LOG.debug("Set the application context classloader to: {}", cl);
-        getContext().setApplicationContextClassLoader(cl);
-        osgiCamelContextPublisher = new OsgiCamelContextPublisher(bundleContext);
-        osgiCamelContextPublisher.start();
-        getContext().getManagementStrategy().addEventNotifier(osgiCamelContextPublisher);
-        try {
-            getClass().getClassLoader().loadClass("org.osgi.service.event.EventAdmin");
-            getContext().getManagementStrategy().addEventNotifier(new OsgiEventAdminNotifier(bundleContext));
-        } catch (Throwable t) {
-            // Ignore, if the EventAdmin package is not available, just don't
-            // use it
-            LOG.debug("EventAdmin package is not available, just don't use it");
-        }
-        // ensure routes is setup
-        setupRoutes();
-    }
-
-    @Override
-    public void destroy() throws Exception {
-        super.destroy();
-        if (osgiCamelContextPublisher != null) {
-            osgiCamelContextPublisher.shutdown();
-        }
-    }
-
-    @Override
-    public String getDependsOn() {
-        return dependsOn;
-    }
-
-    public void setDependsOn(String dependsOn) {
-        this.dependsOn = dependsOn;
-    }
-
-    @Override
-    public String getAutoStartup() {
-        return autoStartup;
-    }
-
-    public void setAutoStartup(String autoStartup) {
-        this.autoStartup = autoStartup;
-    }
-
-    @Override
-    public String getUseMDCLogging() {
-        return useMDCLogging;
-    }
-
-    public void setUseMDCLogging(String useMDCLogging) {
-        this.useMDCLogging = useMDCLogging;
-    }
-
-    @Override
-    public String getMDCLoggingKeysPattern() {
-        return mdcLoggingKeysPattern;
-    }
-
-    public void setMDCLoggingKeysPattern(String mdcLoggingKeysPattern) {
-        this.mdcLoggingKeysPattern = mdcLoggingKeysPattern;
-    }
-
-    @Override
-    public String getUseDataType() {
-        return useDataType;
-    }
-
-    public void setUseDataType(String useDataType) {
-        this.useDataType = useDataType;
-    }
-
-    @Override
-    public String getUseBreadcrumb() {
-        return useBreadcrumb;
-    }
-
-    public void setUseBreadcrumb(String useBreadcrumb) {
-        this.useBreadcrumb = useBreadcrumb;
-    }
-
-    @Override
-    public String getAllowUseOriginalMessage() {
-        return allowUseOriginalMessage;
-    }
-
-    public void setAllowUseOriginalMessage(String allowUseOriginalMessage) {
-        this.allowUseOriginalMessage = allowUseOriginalMessage;
-    }
-
-    @Override
-    public String getCaseInsensitiveHeaders() {
-        return caseInsensitiveHeaders;
-    }
-
-    public void setCaseInsensitiveHeaders(String caseInsensitiveHeaders) {
-        this.caseInsensitiveHeaders = caseInsensitiveHeaders;
-    }
-
-    @Override
-    public String getRuntimeEndpointRegistryEnabled() {
-        return runtimeEndpointRegistryEnabled;
-    }
-
-    public void setRuntimeEndpointRegistryEnabled(String runtimeEndpointRegistryEnabled) {
-        this.runtimeEndpointRegistryEnabled = runtimeEndpointRegistryEnabled;
-    }
-
-    @Override
-    public String getManagementNamePattern() {
-        return managementNamePattern;
-    }
-
-    public void setManagementNamePattern(String managementNamePattern) {
-        this.managementNamePattern = managementNamePattern;
-    }
-
-    @Override
-    public String getThreadNamePattern() {
-        return threadNamePattern;
-    }
-
-    public void setThreadNamePattern(String threadNamePattern) {
-        this.threadNamePattern = threadNamePattern;
-    }
-
-    @Override
-    public Boolean getLoadTypeConverters() {
-        return loadTypeConverters;
-    }
-
-    public void setLoadTypeConverters(Boolean loadTypeConverters) {
-        this.loadTypeConverters = loadTypeConverters;
-    }
-
-    @Override
-    public Boolean getTypeConverterStatisticsEnabled() {
-        return typeConverterStatisticsEnabled;
-    }
-
-    public void setTypeConverterStatisticsEnabled(Boolean typeConverterStatisticsEnabled) {
-        this.typeConverterStatisticsEnabled = typeConverterStatisticsEnabled;
-    }
-
-    @Override
-    public TypeConverterExists getTypeConverterExists() {
-        return typeConverterExists;
-    }
-
-    public void setTypeConverterExists(TypeConverterExists typeConverterExists) {
-        this.typeConverterExists = typeConverterExists;
-    }
-
-    @Override
-    public LoggingLevel getTypeConverterExistsLoggingLevel() {
-        return typeConverterExistsLoggingLevel;
-    }
-
-    public void setTypeConverterExistsLoggingLevel(LoggingLevel typeConverterExistsLoggingLevel) {
-        this.typeConverterExistsLoggingLevel = typeConverterExistsLoggingLevel;
-    }
-
-    @Override
-    public ShutdownRoute getShutdownRoute() {
-        return shutdownRoute;
-    }
-
-    public void setShutdownRoute(ShutdownRoute shutdownRoute) {
-        this.shutdownRoute = shutdownRoute;
-    }
-
-    @Override
-    public ShutdownRunningTask getShutdownRunningTask() {
-        return shutdownRunningTask;
-    }
-
-    public void setShutdownRunningTask(ShutdownRunningTask shutdownRunningTask) {
-        this.shutdownRunningTask = shutdownRunningTask;
-    }
-
-    @Override
-    public CamelPropertyPlaceholderDefinition getCamelPropertyPlaceholder() {
-        return camelPropertyPlaceholder;
-    }
-
-    public void setCamelPropertyPlaceholder(CamelPropertyPlaceholderDefinition camelPropertyPlaceholder) {
-        this.camelPropertyPlaceholder = camelPropertyPlaceholder;
-    }
-
-    @Override
-    public List<RouteContextRefDefinition> getRouteRefs() {
-        return routeRefs;
-    }
-
-    public void setRouteRefs(List<RouteContextRefDefinition> routeRefs) {
-        this.routeRefs = routeRefs;
-    }
-
-    @Override
-    public List<RestContextRefDefinition> getRestRefs() {
-        return restRefs;
-    }
-
-    public void setRestRefs(List<RestContextRefDefinition> restRefs) {
-        this.restRefs = restRefs;
-    }
-
-    @Override
-    public List<CamelRedeliveryPolicyFactoryBean> getRedeliveryPolicies() {
-        return redeliveryPolicies;
-    }
-
-    public void setRedeliveryPolicies(List<CamelRedeliveryPolicyFactoryBean> redeliveryPolicies) {
-        this.redeliveryPolicies = redeliveryPolicies;
-    }
-
-    @Override
-    public List<ThreadPoolProfileDefinition> getThreadPoolProfiles() {
-        return threadPoolProfiles;
-    }
-
-    public void setThreadPoolProfiles(List<ThreadPoolProfileDefinition> threadPoolProfiles) {
-        this.threadPoolProfiles = threadPoolProfiles;
-    }
-
-    public List<CamelThreadPoolFactoryBean> getThreadPools() {
-        return threadPools;
-    }
-
-    public void setThreadPools(List<CamelThreadPoolFactoryBean> threadPools) {
-        this.threadPools = threadPools;
-    }
-
-    @Override
-    public String getTrace() {
-        return trace;
-    }
-
-    public void setTrace(String trace) {
-        this.trace = trace;
-    }
-
-    @Override
-    public String getBacklogTrace() {
-        return backlogTrace;
-    }
-
-    /**
-     * Sets whether backlog tracing is enabled or not.
-     */
-    public void setBacklogTrace(String backlogTrace) {
-        this.backlogTrace = backlogTrace;
-    }
-
-    @Override
-    public String getTracePattern() {
-        return tracePattern;
-    }
-
-    public void setTracePattern(String tracePattern) {
-        this.tracePattern = tracePattern;
-    }
-
-    @Override
-    public String getDebug() {
-        return debug;
-    }
-
-    /**
-     * Sets whether debugging is enabled or not.
-     */
-    public void setDebug(String debug) {
-        this.debug = debug;
-    }
-
-    @Override
-    public String getMessageHistory() {
-        return messageHistory;
-    }
-
-    public void setMessageHistory(String messageHistory) {
-        this.messageHistory = messageHistory;
-    }
-
-    @Override
-    public String getLogMask() {
-        return logMask;
-    }
-
-    public void setLogMask(String logMask) {
-        this.logMask = logMask;
-    }
-
-    @Override
-    public String getLogExhaustedMessageBody() {
-        return logExhaustedMessageBody;
-    }
-
-    public void setLogExhaustedMessageBody(String logExhaustedMessageBody) {
-        this.logExhaustedMessageBody = logExhaustedMessageBody;
-    }
-
-    @Override
-    public String getStreamCache() {
-        return streamCache;
-    }
-
-    public void setStreamCache(String streamCache) {
-        this.streamCache = streamCache;
-    }
-
-    @Override
-    public String getDelayer() {
-        return delayer;
-    }
-
-    public void setDelayer(String delayer) {
-        this.delayer = delayer;
-    }
-
-    @Override
-    public String getErrorHandlerRef() {
-        return errorHandlerRef;
-    }
-
-    public void setErrorHandlerRef(String errorHandlerRef) {
-        this.errorHandlerRef = errorHandlerRef;
-    }
-
-    @Override
-    public GlobalOptionsDefinition getGlobalOptions() {
-        return globalOptions;
-    }
-
-    public void setGlobalOptions(GlobalOptionsDefinition globalOptions) {
-        this.globalOptions = globalOptions;
-    }
-
-    @Override
-    public String[] getPackages() {
-        return packages;
-    }
-
-    public void setPackages(String[] packages) {
-        this.packages = packages;
-    }
-
-    @Override
-    public PackageScanDefinition getPackageScan() {
-        return packageScan;
-    }
-
-    @Override
-    public void setPackageScan(PackageScanDefinition packageScan) {
-        this.packageScan = packageScan;
-    }
-
-    @Override
-    public ContextScanDefinition getContextScan() {
-        return contextScan;
-    }
-
-    @Override
-    public void setContextScan(ContextScanDefinition contextScan) {
-        this.contextScan = contextScan;
-    }
-
-    @Override
-    public CamelJMXAgentDefinition getCamelJMXAgent() {
-        return camelJMXAgent;
-    }
-
-    public void setCamelJMXAgent(CamelJMXAgentDefinition camelJMXAgent) {
-        this.camelJMXAgent = camelJMXAgent;
-    }
-
-    @Override
-    public CamelStreamCachingStrategyDefinition getCamelStreamCachingStrategy() {
-        return camelStreamCachingStrategy;
-    }
-
-    public void setCamelStreamCachingStrategy(CamelStreamCachingStrategyDefinition camelStreamCachingStrategy) {
-        this.camelStreamCachingStrategy = camelStreamCachingStrategy;
-    }
-
-    @Override
-    public List<AbstractCamelFactoryBean<?>> getBeansFactory() {
-        return beansFactory;
-    }
-
-    public void setBeansFactory(List<AbstractCamelFactoryBean<?>> beansFactory) {
-        this.beansFactory = beansFactory;
-    }
-
-    @Override
-    public List<?> getBeans() {
-        return beans;
-    }
-
-    public void setBeans(List<?> beans) {
-        this.beans = beans;
-    }
-
-    @Override
-    public ServiceCallConfigurationDefinition getDefaultServiceCallConfiguration() {
-        return defaultServiceCallConfiguration;
-    }
-
-    public void setDefaultServiceCallConfiguration(ServiceCallConfigurationDefinition defaultServiceCallConfiguration) {
-        this.defaultServiceCallConfiguration = defaultServiceCallConfiguration;
-    }
-
-    @Override
-    public List<ServiceCallConfigurationDefinition> getServiceCallConfigurations() {
-        return serviceCallConfigurations;
-    }
-
-    public void setServiceCallConfigurations(List<ServiceCallConfigurationDefinition> serviceCallConfigurations) {
-        this.serviceCallConfigurations = serviceCallConfigurations;
-    }
-
-    @Override
-    public HystrixConfigurationDefinition getDefaultHystrixConfiguration() {
-        return defaultHystrixConfiguration;
-    }
-
-    public void setDefaultHystrixConfiguration(HystrixConfigurationDefinition defaultHystrixConfiguration) {
-        this.defaultHystrixConfiguration = defaultHystrixConfiguration;
-    }
-
-    @Override
-    public List<HystrixConfigurationDefinition> getHystrixConfigurations() {
-        return hystrixConfigurations;
-    }
-
-    public void setHystrixConfigurations(List<HystrixConfigurationDefinition> hystrixConfigurations) {
-        this.hystrixConfigurations = hystrixConfigurations;
-    }
-
-    @Override
-    public Resilience4jConfigurationDefinition getDefaultResilience4jConfiguration() {
-        return defaultResilience4jConfiguration;
-    }
-
-    public void setDefaultResilience4jConfiguration(Resilience4jConfigurationDefinition defaultResilience4jConfiguration) {
-        this.defaultResilience4jConfiguration = defaultResilience4jConfiguration;
-    }
-
-    @Override
-    public List<Resilience4jConfigurationDefinition> getResilience4jConfigurations() {
-        return resilience4jConfigurations;
-    }
-
-    public void setResilience4jConfigurations(List<Resilience4jConfigurationDefinition> resilience4jConfigurations) {
-        this.resilience4jConfigurations = resilience4jConfigurations;
-    }
-
-    @Override
-    public List<RouteBuilderDefinition> getBuilderRefs() {
-        return builderRefs;
-    }
-
-    public void setBuilderRefs(List<RouteBuilderDefinition> builderRefs) {
-        this.builderRefs = builderRefs;
-    }
-
-    @Override
-    public List<CamelEndpointFactoryBean> getEndpoints() {
-        return endpoints;
-    }
-
-    public void setEndpoints(List<CamelEndpointFactoryBean> endpoints) {
-        this.endpoints = endpoints;
-    }
-
-    @Override
-    public DataFormatsDefinition getDataFormats() {
-        return dataFormats;
-    }
-
-    public void setDataFormats(DataFormatsDefinition dataFormats) {
-        this.dataFormats = dataFormats;
-    }
-
-    public void setTransformers(TransformersDefinition transformers) {
-        this.transformers = transformers;
-    }
-
-    @Override
-    public TransformersDefinition getTransformers() {
-        return transformers;
-    }
-
-    public void setValidators(ValidatorsDefinition validators) {
-        this.validators = validators;
-    }
-
-    @Override
-    public ValidatorsDefinition getValidators() {
-        return validators;
-    }
-
-    @Override
-    public List<OnExceptionDefinition> getOnExceptions() {
-        return onExceptions;
-    }
-
-    public void setOnExceptions(List<OnExceptionDefinition> onExceptions) {
-        this.onExceptions = onExceptions;
-    }
-
-    @Override
-    public List<OnCompletionDefinition> getOnCompletions() {
-        return onCompletions;
-    }
-
-    public void setOnCompletions(List<OnCompletionDefinition> onCompletions) {
-        this.onCompletions = onCompletions;
-    }
-
-    @Override
-    public List<InterceptDefinition> getIntercepts() {
-        return intercepts;
-    }
-
-    public void setIntercepts(List<InterceptDefinition> intercepts) {
-        this.intercepts = intercepts;
-    }
-
-    @Override
-    public List<InterceptFromDefinition> getInterceptFroms() {
-        return interceptFroms;
-    }
-
-    public void setInterceptFroms(List<InterceptFromDefinition> interceptFroms) {
-        this.interceptFroms = interceptFroms;
-    }
-
-    @Override
-    public List<InterceptSendToEndpointDefinition> getInterceptSendToEndpoints() {
-        return interceptSendToEndpoints;
-    }
-
-    public void setInterceptSendToEndpoints(List<InterceptSendToEndpointDefinition> interceptSendToEndpoints) {
-        this.interceptSendToEndpoints = interceptSendToEndpoints;
-    }
-
-    @Override
-    public List<RouteDefinition> getRoutes() {
-        return routes;
-    }
-
-    @Override
-    public void setRoutes(List<RouteDefinition> routes) {
-        this.routes = routes;
-    }
-
-    @Override
-    public List<RestDefinition> getRests() {
-        return rests;
-    }
-
-    @Override
-    public void setRests(List<RestDefinition> rests) {
-        this.rests = rests;
-    }
-
-    @Override
-    public RestConfigurationDefinition getRestConfiguration() {
-        return restConfiguration;
-    }
-
-    public void setRestConfiguration(RestConfigurationDefinition restConfiguration) {
-        this.restConfiguration = restConfiguration;
-    }
-
-    public boolean isImplicitId() {
-        return implicitId;
-    }
-
-    public void setImplicitId(boolean flag) {
-        implicitId = flag;
-    }
-
-    public Boolean getUseBlueprintPropertyResolver() {
-        return useBlueprintPropertyResolver;
-    }
-
-    /**
-     * Whether to automatic detect OSGi Blueprint property placeholder service in use,
-     * and bridge with Camel property placeholder.
-     * When enabled this allows you to only setup OSGi Blueprint property placeholder
-     * and Camel can use the properties in the camelContext.
-     */
-    public void setUseBlueprintPropertyResolver(Boolean useBlueprintPropertyResolver) {
-        this.useBlueprintPropertyResolver = useBlueprintPropertyResolver;
-    }
-
-    public boolean isUseBlueprintPropertyResolver() {
-        // enable by default
-        return useBlueprintPropertyResolver == null || useBlueprintPropertyResolver.booleanValue();
-    }
-
-    @Override
-    public Boolean getInflightRepositoryBrowseEnabled() {
-        return inflightRepositoryBrowseEnabled;
-    }
-
-    public void setInflightRepositoryBrowseEnabled(Boolean inflightRepositoryBrowseEnabled) {
-        this.inflightRepositoryBrowseEnabled = inflightRepositoryBrowseEnabled;
-    }
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelEndpointFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelEndpointFactoryBean.java
deleted file mode 100644
index d9710bd..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelEndpointFactoryBean.java
+++ /dev/null
@@ -1,65 +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.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.core.xml.AbstractCamelEndpointFactoryBean;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-/**
- * A factory which instantiates {@link Endpoint} objects
- */
-@XmlRootElement(name = "endpoint")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CamelEndpointFactoryBean extends AbstractCamelEndpointFactoryBean {
-
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelErrorHandlerFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelErrorHandlerFactoryBean.java
deleted file mode 100644
index fd6e7de..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelErrorHandlerFactoryBean.java
+++ /dev/null
@@ -1,144 +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.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.DefaultErrorHandlerBuilder;
-import org.apache.camel.builder.ErrorHandlerBuilder;
-import org.apache.camel.core.xml.AbstractCamelFactoryBean;
-import org.apache.camel.model.RedeliveryPolicyDefinition;
-import org.apache.camel.processor.errorhandler.RedeliveryPolicy;
-import org.apache.camel.reifier.errorhandler.ErrorHandlerReifier;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-@XmlRootElement(name = "errorHandler")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CamelErrorHandlerFactoryBean extends AbstractCamelFactoryBean<ErrorHandlerBuilder> {
-
-    @XmlAttribute
-    private ErrorHandlerType type = ErrorHandlerType.DefaultErrorHandler;
-    @XmlAttribute
-    private String deadLetterUri;
-    @XmlAttribute
-    private Boolean deadLetterHandleNewException;
-    @XmlAttribute
-    private Boolean useOriginalMessage;
-    @XmlAttribute
-    private Boolean useOriginalBody;
-    @XmlAttribute
-    private String onRedeliveryRef;
-    @XmlAttribute
-    private String onPrepareFailureRef;
-    @XmlAttribute
-    private String onExceptionOccurredRef;
-    @XmlAttribute
-    private String retryWhileRef;
-    @XmlAttribute
-    private String executorServiceRef;
-    @XmlAttribute
-    private String redeliveryPolicyRef;
-    @XmlElement
-    private RedeliveryPolicyDefinition redeliveryPolicy;
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-
-    @Override
-    public ErrorHandlerBuilder getObject() throws Exception {
-        ErrorHandlerBuilder errorHandler = getObjectType().newInstance();
-        if (errorHandler instanceof DefaultErrorHandlerBuilder) {
-            DefaultErrorHandlerBuilder handler = (DefaultErrorHandlerBuilder) errorHandler;
-            if (deadLetterUri != null) {
-                handler.setDeadLetterUri(deadLetterUri);
-            }
-            if (deadLetterHandleNewException != null) {
-                handler.setDeadLetterHandleNewException(deadLetterHandleNewException);
-            }
-            if (useOriginalMessage != null) {
-                handler.setUseOriginalMessage(useOriginalMessage);
-            }
-            if (useOriginalBody != null) {
-                handler.setUseOriginalBody(useOriginalBody);
-            }
-            if (redeliveryPolicy != null) {
-                handler.setRedeliveryPolicy(ErrorHandlerReifier.createRedeliveryPolicy(redeliveryPolicy, getCamelContext(), null));
-            }
-            if (redeliveryPolicyRef != null) {
-                handler.setRedeliveryPolicy(lookup(redeliveryPolicyRef, RedeliveryPolicy.class));
-            }
-            if (onRedeliveryRef != null) {
-                handler.setOnRedelivery(lookup(onRedeliveryRef, Processor.class));
-            }
-            if (onPrepareFailureRef != null) {
-                handler.setOnPrepareFailure(lookup(onPrepareFailureRef, Processor.class));
-            }
-            if (onExceptionOccurredRef != null) {
-                handler.setOnExceptionOccurred(lookup(onExceptionOccurredRef, Processor.class));
-            }
-            if (retryWhileRef != null) {
-                handler.setRetryWhileRef(retryWhileRef);
-            }
-            if (executorServiceRef != null) {
-                handler.setExecutorServiceRef(executorServiceRef);
-            }
-        }
-        return errorHandler;
-    }
-
-    @Override
-    public Class<? extends ErrorHandlerBuilder> getObjectType() {
-        return type.getTypeAsClass();
-    }
-
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-    protected <T> T lookup(String name, Class<T> type) {
-        return type.cast(blueprintContainer.getComponentInstance(name));
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelFluentProducerTemplateFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelFluentProducerTemplateFactoryBean.java
deleted file mode 100644
index 74a6f9d..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelFluentProducerTemplateFactoryBean.java
+++ /dev/null
@@ -1,65 +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.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.core.xml.AbstractCamelFluentProducerTemplateFactoryBean;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-/**
- * A factory for creating a new {@link org.apache.camel.FluentProducerTemplate}
- * instance with a minimum of XML
- */
-@XmlRootElement(name = "fluentTemplate")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CamelFluentProducerTemplateFactoryBean extends AbstractCamelFluentProducerTemplateFactoryBean {
-
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelProducerTemplateFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelProducerTemplateFactoryBean.java
deleted file mode 100644
index 0e37fc9..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelProducerTemplateFactoryBean.java
+++ /dev/null
@@ -1,65 +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.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.core.xml.AbstractCamelProducerTemplateFactoryBean;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-/**
- * A factory for creating a new {@link org.apache.camel.ProducerTemplate}
- * instance with a minimum of XML
- */
-@XmlRootElement(name = "template")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CamelProducerTemplateFactoryBean extends AbstractCamelProducerTemplateFactoryBean {
-
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelProxyFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelProxyFactoryBean.java
deleted file mode 100644
index cd42c74d..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelProxyFactoryBean.java
+++ /dev/null
@@ -1,190 +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.blueprint;
-
-import java.util.Set;
-
-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 javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.aries.blueprint.services.ExtendedBlueprintContainer;
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.FailedToCreateProducerException;
-import org.apache.camel.Producer;
-import org.apache.camel.component.bean.ProxyHelper;
-import org.apache.camel.core.xml.AbstractCamelFactoryBean;
-import org.apache.camel.support.service.ServiceHelper;
-
-/**
- * A factory to create a Proxy to a a Camel Pojo Endpoint.
- */
-@XmlRootElement(name = "proxy")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CamelProxyFactoryBean extends AbstractCamelFactoryBean<Object> {
-
-    @XmlAttribute
-    private String serviceUrl;
-    @XmlAttribute
-    private String serviceRef;
-    @XmlAttribute
-    private String serviceInterface;
-    @XmlAttribute
-    private Boolean binding;
-    @XmlTransient
-    private Endpoint endpoint;
-    @XmlTransient
-    private Object serviceProxy;
-    @XmlTransient
-    private Producer producer;
-    @XmlTransient
-    private ExtendedBlueprintContainer blueprintContainer;
-
-    @Override
-    public Object getObject() {
-        return serviceProxy;
-    }
-
-    @Override
-    public Class<Object> getObjectType() {
-        return Object.class;
-    }
-
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public void afterPropertiesSet() throws Exception {
-        if (endpoint == null) {
-            getCamelContext();
-            if (getServiceUrl() == null && getServiceRef() == null) {
-                throw new IllegalArgumentException("serviceUrl or serviceRef must be specified.");
-            }
-            if (getServiceInterface() == null) {
-                throw new IllegalArgumentException("serviceInterface must be specified.");
-            }
-
-            // lookup endpoint or we have the url for it
-            if (getServiceRef() != null) {
-                endpoint = getCamelContext().getRegistry().lookupByNameAndType(getServiceRef(), Endpoint.class);
-            } else {
-                endpoint = getCamelContext().getEndpoint(getServiceUrl());
-            }
-
-            if (endpoint == null) {
-                throw new IllegalArgumentException("Could not resolve endpoint: " + getServiceUrl());
-            }
-        }
-
-        // binding is enabled by default
-        boolean bind = getBinding() != null ? getBinding() : true;
-
-        try {
-            // need to start endpoint before we create producer
-            ServiceHelper.startService(endpoint);
-            producer = endpoint.createProducer();
-            // add and start producer
-            getCamelContext().addService(producer, true, true);
-            Class<?> clazz = blueprintContainer.loadClass(getServiceInterface());
-            serviceProxy = ProxyHelper.createProxy(endpoint, bind, producer, clazz);
-        } catch (Exception e) {
-            throw new FailedToCreateProducerException(endpoint, e);
-        }
-    }
-
-    @Override
-    public void destroy() throws Exception {
-        // we let CamelContext manage the lifecycle of the producer and shut it down when Camel stops
-    }
-
-    public String getServiceUrl() {
-        return serviceUrl;
-    }
-
-    public void setServiceUrl(String serviceUrl) {
-        this.serviceUrl = serviceUrl;
-    }
-
-    public String getServiceRef() {
-        return serviceRef;
-    }
-
-    public void setServiceRef(String serviceRef) {
-        this.serviceRef = serviceRef;
-    }
-
-    public Boolean getBinding() {
-        return binding;
-    }
-
-    public void setBinding(Boolean binding) {
-        this.binding = binding;
-    }
-
-    public String getServiceInterface() {
-        return serviceInterface;
-    }
-
-    public void setServiceInterface(String serviceInterface) {
-        this.serviceInterface = serviceInterface;
-    }
-
-    public Endpoint getEndpoint() {
-        return endpoint;
-    }
-
-    public void setEndpoint(Endpoint endpoint) {
-        this.endpoint = endpoint;
-    }
-
-    public Producer getProducer() {
-        return producer;
-    }
-
-    public void setProducer(Producer producer) {
-        this.producer = producer;
-    }
-
-    public ExtendedBlueprintContainer getBlueprintContainer() {
-        return blueprintContainer;
-    }
-
-    public void setBlueprintContainer(ExtendedBlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelRedeliveryPolicyFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelRedeliveryPolicyFactoryBean.java
deleted file mode 100644
index 39aa341..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelRedeliveryPolicyFactoryBean.java
+++ /dev/null
@@ -1,65 +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.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.core.xml.AbstractCamelRedeliveryPolicyFactoryBean;
-import org.apache.camel.processor.errorhandler.RedeliveryPolicy;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-/**
- * A factory which instantiates {@link RedeliveryPolicy} objects
- */
-@XmlRootElement(name = "redeliveryPolicyProfile")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CamelRedeliveryPolicyFactoryBean extends AbstractCamelRedeliveryPolicyFactoryBean {
-
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelRestContextFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelRestContextFactoryBean.java
deleted file mode 100644
index 452e715..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelRestContextFactoryBean.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.blueprint;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.camel.model.IdentifiedType;
-import org.apache.camel.model.rest.RestDefinition;
-
-@XmlRootElement(name = "restContext")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CamelRestContextFactoryBean extends IdentifiedType {
-
-    @XmlElement(name = "rest", required = true)
-    private List<RestDefinition> rests = new ArrayList<>();
-
-    public List<RestDefinition> getRests() throws Exception {
-        return rests;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelRouteContextFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelRouteContextFactoryBean.java
deleted file mode 100644
index 673de7b..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelRouteContextFactoryBean.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.blueprint;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.camel.model.IdentifiedType;
-import org.apache.camel.model.RouteDefinition;
-
-@XmlRootElement(name = "routeContext")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CamelRouteContextFactoryBean extends IdentifiedType {
-
-    @XmlElement(name = "route", required = true)
-    private List<RouteDefinition> routes = new ArrayList<>();
-
-    public List<RouteDefinition> getRoutes() throws Exception {
-        return routes;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelThreadPoolFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelThreadPoolFactoryBean.java
deleted file mode 100644
index f64efa2..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/CamelThreadPoolFactoryBean.java
+++ /dev/null
@@ -1,64 +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.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.core.xml.AbstractCamelThreadPoolFactoryBean;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-/**
- * A factory which instantiates {@link java.util.concurrent.ExecutorService} objects
- */
-@XmlRootElement(name = "threadPool")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CamelThreadPoolFactoryBean extends AbstractCamelThreadPoolFactoryBean {
-
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/ContextScanRouteBuilderFinder.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/ContextScanRouteBuilderFinder.java
deleted file mode 100644
index 5423358..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/ContextScanRouteBuilderFinder.java
+++ /dev/null
@@ -1,89 +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.blueprint;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.spi.PackageScanFilter;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A helper class which will find all {@link org.apache.camel.builder.RouteBuilder} instances in the
- *  {@link org.osgi.service.blueprint.container.BlueprintContainer}.
- */
-public class ContextScanRouteBuilderFinder {
-    private static final Logger LOG = LoggerFactory.getLogger(ContextScanRouteBuilderFinder.class);
-    private final BlueprintContainer blueprintContainer;
-    private final PackageScanFilter filter;
-    private final boolean includeNonSingletons;
-
-    public ContextScanRouteBuilderFinder(BlueprintCamelContext camelContext, PackageScanFilter filter, boolean includeNonSingletons) {
-        this.blueprintContainer = camelContext.getBlueprintContainer();
-        this.filter = filter;
-        this.includeNonSingletons = includeNonSingletons;
-    }
-
-    /**
-     * Appends all the {@link org.apache.camel.builder.RouteBuilder} instances that can be found in the context
-     */
-    public void appendBuilders(List<RoutesBuilder> list) {
-        Map<String, RoutesBuilder> beans = BlueprintContainerBeanRepository.lookupByType(blueprintContainer, RoutesBuilder.class, includeNonSingletons);
-
-        for (Entry<String, RoutesBuilder> entry : beans.entrySet()) {
-            String key = entry.getKey();
-            Object bean = entry.getValue();
-
-            LOG.trace("Found RouteBuilder with id: {} -> {}", key, bean);
-
-            // certain beans should be ignored
-            if (shouldIgnoreBean(bean)) {
-                LOG.debug("Ignoring RouteBuilder id: {}", key);
-                continue;
-            }
-
-            if (!isFilteredClass(bean)) {
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Ignoring filtered RouteBuilder id: {} as class: {}", key, bean.getClass());
-                }
-                continue;
-            }
-
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("Adding instantiated RouteBuilder id: {} as class: {}", key, bean.getClass());
-            }
-            list.add((RoutesBuilder) bean);
-        }
-    }
-
-    protected boolean shouldIgnoreBean(Object bean) {
-        return false;
-    }
-
-    protected boolean isFilteredClass(Object bean) {
-        if (filter != null) {
-            return filter.matches(bean.getClass());
-        } else {
-            return false;
-        }
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/ErrorHandlerType.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/ErrorHandlerType.java
deleted file mode 100644
index 72a0d6f..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/ErrorHandlerType.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.blueprint;
-
-import javax.xml.bind.annotation.XmlEnum;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.camel.builder.DeadLetterChannelBuilder;
-import org.apache.camel.builder.DefaultErrorHandlerBuilder;
-import org.apache.camel.builder.ErrorHandlerBuilder;
-import org.apache.camel.builder.NoErrorHandlerBuilder;
-
-/**
- * Used to configure the errorHandler type
- */
-@XmlType
-@XmlEnum(String.class)
-public enum ErrorHandlerType {
-
-    DefaultErrorHandler, DeadLetterChannel, NoErrorHandler;
-
-    /**
-     * Get the type as class.
-     *
-     * @return the class which represents the selected type.
-     */
-    public Class<? extends ErrorHandlerBuilder> getTypeAsClass() {
-        switch (this) {
-            case DefaultErrorHandler:
-                return DefaultErrorHandlerBuilder.class;
-            case DeadLetterChannel:
-                return DeadLetterChannelBuilder.class;
-            case NoErrorHandler:
-                return NoErrorHandlerBuilder.class;
-            default:
-                throw new IllegalArgumentException("Unknown error handler: " + this);
-        }
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/KarafBundleStateService.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/KarafBundleStateService.java
deleted file mode 100644
index 1ef5b2c..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/KarafBundleStateService.java
+++ /dev/null
@@ -1,95 +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.blueprint;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Map;
-
-import org.apache.karaf.bundle.core.BundleState;
-import org.apache.karaf.bundle.core.BundleStateService;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-
-/**
- * A service for Karaf to get extended Bundle information related to Camel Context(s) declared in Blueprint
- * container.
- */
-public class KarafBundleStateService implements BundleStateService {
-
-    BlueprintCamelStateService camelStateService;
-
-    public KarafBundleStateService(BlueprintCamelStateService camelStateService) {
-        this.camelStateService = camelStateService;
-    }
-
-    @Override
-    public String getName() {
-        return "Camel Blueprint";
-    }
-
-    @Override
-    public String getDiag(Bundle bundle) {
-        if (getState(bundle) == BundleState.Failure) {
-            // return stacktraces for failed camel contexts
-            Map<String, Throwable> exceptions = camelStateService.getExceptions(bundle);
-            StringWriter sw = new StringWriter();
-            for (String contextId : exceptions.keySet()) {
-                sw.append("Camel context \"").append(contextId).append("\"\n");
-                Throwable t = exceptions.get(contextId);
-                if (t instanceof NullPointerException) {
-                    sw.append("Exception: NullPointerException\n");
-                } else if (t.getMessage() != null) {
-                    sw.append("Exception: ").append(t.getMessage()).append("\n");
-                }
-                t.printStackTrace(new PrintWriter(sw));
-                sw.append("\n");
-            }
-            return sw.toString();
-        }
-        return null;
-    }
-
-    @Override
-    public BundleState getState(Bundle bundle) {
-        BundleState effective = BundleState.Unknown;
-        for (BlueprintCamelStateService.State s : camelStateService.getStates(bundle)) {
-            if (effective == BundleState.Unknown || s == BlueprintCamelStateService.State.Failure) {
-                switch (s) {
-                    case Starting:
-                        effective = BundleState.Starting;
-                        break;
-                    case Active:
-                        effective = BundleState.Active;
-                        break;
-                    case Failure:
-                        effective = BundleState.Failure;
-                        break;
-                    default:
-                        break;
-                }
-            }
-        }
-        return effective;
-    }
-
-    public ServiceRegistration<?> register(BundleContext context) {
-        return context.registerService(BundleStateService.class, this, null);
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/PackageScanRouteBuilderFinder.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/PackageScanRouteBuilderFinder.java
deleted file mode 100644
index 7def428..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/PackageScanRouteBuilderFinder.java
+++ /dev/null
@@ -1,110 +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.blueprint;
-
-import java.lang.reflect.Modifier;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.spi.PackageScanClassResolver;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-import org.osgi.service.blueprint.reflect.BeanMetadata;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A helper class which will find all {@link org.apache.camel.builder.RouteBuilder} instances on the classpath
- */
-public class PackageScanRouteBuilderFinder {
-    private static final Logger LOG = LoggerFactory.getLogger(PackageScanRouteBuilderFinder.class);
-    private final BlueprintCamelContext camelContext;
-    private final String[] packages;
-    private final PackageScanClassResolver resolver;
-    private final BlueprintContainer blueprintContainer;
-
-    public PackageScanRouteBuilderFinder(BlueprintCamelContext camelContext, String[] packages, ClassLoader classLoader,
-                                         PackageScanClassResolver resolver) {
-        this.camelContext = camelContext;
-        this.blueprintContainer = camelContext.getBlueprintContainer();
-        this.packages = packages;
-        this.resolver = resolver;
-        // add our provided loader as well
-        resolver.addClassLoader(classLoader);
-    }
-
-    /**
-     * Appends all the {@link org.apache.camel.builder.RouteBuilder} instances that can be found on the classpath
-     */
-    public void appendBuilders(List<RoutesBuilder> list) throws IllegalAccessException, InstantiationException {
-        Set<Class<?>> classes = resolver.findImplementations(RoutesBuilder.class, packages);
-        for (Class<?> aClass : classes) {
-            LOG.trace("Found RouteBuilder class: {}", aClass);
-
-            // certain beans should be ignored
-            if (shouldIgnoreBean(aClass)) {
-                LOG.debug("Ignoring RouteBuilder class: {}", aClass);
-                continue;
-            }
-
-            if (!isValidClass(aClass)) {
-                LOG.debug("Ignoring invalid RouteBuilder class: {}", aClass);
-                continue;
-            }
-
-            // type is valid so create and instantiate the builder
-            RoutesBuilder builder = instantiateBuilder(aClass);
-            LOG.debug("Adding instantiated RouteBuilder: {}", builder);
-            list.add(builder);
-        }
-    }
-
-    /**
-     * Allows for ignoring beans that are explicitly configured in the Spring XML files
-     */
-    protected boolean shouldIgnoreBean(Class<?> type) {
-        for (Object metadataObject : blueprintContainer.getMetadata(BeanMetadata.class)) {
-            BeanMetadata metadata = (BeanMetadata) metadataObject;
-            if (BeanMetadata.SCOPE_SINGLETON.equals(metadata.getScope())) {
-                Object bean = blueprintContainer.getComponentInstance(metadata.getId());
-                if (type.isInstance(bean)) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Returns <tt>true</tt>if the class is a public, non-abstract class
-     */
-    protected boolean isValidClass(Class<?> type) {
-        // should skip non public classes
-        if (!Modifier.isPublic(type.getModifiers())) {
-            return false;
-        }
-
-        if (!Modifier.isAbstract(type.getModifiers()) && !type.isInterface()) {
-            return true;
-        }
-        return false;
-    }
-
-    protected RoutesBuilder instantiateBuilder(Class<?> type) throws IllegalAccessException, InstantiationException {
-        return (RoutesBuilder) camelContext.getInjector().newInstance(type);
-    }
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java
deleted file mode 100644
index 3d71208..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java
+++ /dev/null
@@ -1,1243 +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.blueprint.handler;
-
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.Callable;
-
-import javax.xml.bind.Binder;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import org.apache.aries.blueprint.BeanProcessor;
-import org.apache.aries.blueprint.ComponentDefinitionRegistry;
-import org.apache.aries.blueprint.ComponentDefinitionRegistryProcessor;
-import org.apache.aries.blueprint.NamespaceHandler;
-import org.apache.aries.blueprint.ParserContext;
-import org.apache.aries.blueprint.PassThroughMetadata;
-import org.apache.aries.blueprint.mutable.MutableBeanMetadata;
-import org.apache.aries.blueprint.mutable.MutablePassThroughMetadata;
-import org.apache.aries.blueprint.mutable.MutableRefMetadata;
-import org.apache.aries.blueprint.mutable.MutableReferenceMetadata;
-import org.apache.camel.BeanInject;
-import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
-import org.apache.camel.EndpointInject;
-import org.apache.camel.Produce;
-import org.apache.camel.PropertyInject;
-import org.apache.camel.blueprint.BlueprintCamelContext;
-import org.apache.camel.blueprint.BlueprintCamelStateService;
-import org.apache.camel.blueprint.BlueprintModelJAXBContextFactory;
-import org.apache.camel.blueprint.CamelContextFactoryBean;
-import org.apache.camel.blueprint.CamelEndpointFactoryBean;
-import org.apache.camel.blueprint.CamelRestContextFactoryBean;
-import org.apache.camel.blueprint.CamelRouteContextFactoryBean;
-import org.apache.camel.core.xml.AbstractCamelFactoryBean;
-import org.apache.camel.impl.engine.CamelPostProcessorHelper;
-import org.apache.camel.impl.engine.DefaultCamelContextNameStrategy;
-import org.apache.camel.model.AggregateDefinition;
-import org.apache.camel.model.CatchDefinition;
-import org.apache.camel.model.DataFormatDefinition;
-import org.apache.camel.model.ExpressionNode;
-import org.apache.camel.model.ExpressionSubElementDefinition;
-import org.apache.camel.model.FromDefinition;
-import org.apache.camel.model.MarshalDefinition;
-import org.apache.camel.model.Model;
-import org.apache.camel.model.OnExceptionDefinition;
-import org.apache.camel.model.ProcessorDefinition;
-import org.apache.camel.model.ResequenceDefinition;
-import org.apache.camel.model.RouteDefinition;
-import org.apache.camel.model.SendDefinition;
-import org.apache.camel.model.SortDefinition;
-import org.apache.camel.model.ToDefinition;
-import org.apache.camel.model.ToDynamicDefinition;
-import org.apache.camel.model.UnmarshalDefinition;
-import org.apache.camel.model.WireTapDefinition;
-import org.apache.camel.model.language.ExpressionDefinition;
-import org.apache.camel.model.rest.RestBindingMode;
-import org.apache.camel.model.rest.RestDefinition;
-import org.apache.camel.model.rest.VerbDefinition;
-import org.apache.camel.spi.CamelContextNameStrategy;
-import org.apache.camel.spi.ComponentResolver;
-import org.apache.camel.spi.DataFormatResolver;
-import org.apache.camel.spi.LanguageResolver;
-import org.apache.camel.spi.NamespaceAware;
-import org.apache.camel.spi.PropertiesComponent;
-import org.apache.camel.support.ObjectHelper;
-import org.apache.camel.support.builder.Namespaces;
-import org.apache.camel.support.builder.xml.NamespacesHelper;
-import org.apache.camel.support.jsse.KeyStoreParameters;
-import org.apache.camel.support.jsse.SSLContextParameters;
-import org.apache.camel.support.jsse.SecureRandomParameters;
-import org.apache.camel.util.StringHelper;
-import org.apache.camel.util.URISupport;
-import org.apache.camel.util.blueprint.KeyStoreParametersFactoryBean;
-import org.apache.camel.util.blueprint.SSLContextParametersFactoryBean;
-import org.apache.camel.util.blueprint.SecureRandomParametersFactoryBean;
-import org.osgi.framework.Bundle;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-import org.osgi.service.blueprint.container.ComponentDefinitionException;
-import org.osgi.service.blueprint.reflect.BeanMetadata;
-import org.osgi.service.blueprint.reflect.ComponentMetadata;
-import org.osgi.service.blueprint.reflect.Metadata;
-import org.osgi.service.blueprint.reflect.RefMetadata;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.osgi.service.blueprint.reflect.ComponentMetadata.ACTIVATION_LAZY;
-import static org.osgi.service.blueprint.reflect.ServiceReferenceMetadata.AVAILABILITY_MANDATORY;
-import static org.osgi.service.blueprint.reflect.ServiceReferenceMetadata.AVAILABILITY_OPTIONAL;
-
-/**
- * Camel {@link NamespaceHandler} to parse the Camel related namespaces.
- */
-public class CamelNamespaceHandler implements NamespaceHandler {
-
-    public static final String BLUEPRINT_NS = "http://camel.apache.org/schema/blueprint";
-    public static final String SPRING_NS = "http://camel.apache.org/schema/spring";
-
-    private static final String CAMEL_CONTEXT = "camelContext";
-    private static final String ROUTE_CONTEXT = "routeContext";
-    private static final String REST_CONTEXT = "restContext";
-    private static final String ENDPOINT = "endpoint";
-    private static final String KEY_STORE_PARAMETERS = "keyStoreParameters";
-    private static final String SECURE_RANDOM_PARAMETERS = "secureRandomParameters";
-    private static final String SSL_CONTEXT_PARAMETERS = "sslContextParameters";
-
-    private static final Logger LOG = LoggerFactory.getLogger(CamelNamespaceHandler.class);
-
-    private JAXBContext jaxbContext;
-
-    /**
-     * Prepares the nodes before parsing.
-     */
-    public static void doBeforeParse(Node node, String fromNamespace, String toNamespace) {
-        if (node.getNodeType() == Node.ELEMENT_NODE) {
-            Document doc = node.getOwnerDocument();
-            if (node.getNamespaceURI().equals(fromNamespace)) {
-                doc.renameNode(node, toNamespace, node.getLocalName());
-            }
-
-            // remove whitespace noise from uri, xxxUri attributes, eg new lines, and tabs etc, which allows end users to format
-            // their Camel routes in more human readable format, but at runtime those attributes must be trimmed
-            // the parser removes most of the noise, but keeps double spaces in the attribute values
-            NamedNodeMap map = node.getAttributes();
-            for (int i = 0; i < map.getLength(); i++) {
-                Node att = map.item(i);
-                if (att.getNodeName().equals("uri") || att.getNodeName().endsWith("Uri")) {
-                    final String value = att.getNodeValue();
-                    String before = StringHelper.before(value, "?");
-                    String after = StringHelper.after(value, "?");
-
-                    if (before != null && after != null) {
-                        // remove all double spaces in the uri parameters
-                        String changed = after.replaceAll("\\s{2,}", "");
-                        if (!after.equals(changed)) {
-                            String newAtr = before.trim() + "?" + changed.trim();
-                            LOG.debug("Removed whitespace noise from attribute {} -> {}", value, newAtr);
-                            att.setNodeValue(newAtr);
-                        }
-                    }
-                }
-            }
-        }
-        NodeList list = node.getChildNodes();
-        for (int i = 0; i < list.getLength(); ++i) {
-            doBeforeParse(list.item(i), fromNamespace, toNamespace);
-        }
-    }
-
-    @Override
-    public URL getSchemaLocation(String namespace) {
-        if (BLUEPRINT_NS.equals(namespace)) {
-            return getClass().getClassLoader().getResource("camel-blueprint.xsd");
-        }
-        return null;
-    }
-
-    @Override
-    @SuppressWarnings({"rawtypes"})
-    public Set<Class> getManagedClasses() {
-        return new HashSet<>(Arrays.asList(BlueprintCamelContext.class));
-    }
-
-    @Override
-    public Metadata parse(Element element, ParserContext context) {
-        LOG.trace("Parsing element {}", element);
-
-        try {
-            // as the camel-core model namespace is Spring we need to rename from blueprint to spring
-            doBeforeParse(element, BLUEPRINT_NS, SPRING_NS);
-
-            if (element.getLocalName().equals(CAMEL_CONTEXT)) {
-                return parseCamelContextNode(element, context);
-            }
-            if (element.getLocalName().equals(ROUTE_CONTEXT)) {
-                return parseRouteContextNode(element, context);
-            }
-            if (element.getLocalName().equals(REST_CONTEXT)) {
-                return parseRestContextNode(element, context);
-            }
-            if (element.getLocalName().equals(ENDPOINT)) {
-                return parseEndpointNode(element, context);
-            }
-            if (element.getLocalName().equals(KEY_STORE_PARAMETERS)) {
-                return parseKeyStoreParametersNode(element, context);
-            }
-            if (element.getLocalName().equals(SECURE_RANDOM_PARAMETERS)) {
-                return parseSecureRandomParametersNode(element, context);
-            }
-            if (element.getLocalName().equals(SSL_CONTEXT_PARAMETERS)) {
-                return parseSSLContextParametersNode(element, context);
-            }
-        } finally {
-            // make sure to rename back so we leave the DOM as-is
-            doBeforeParse(element, SPRING_NS, BLUEPRINT_NS);
-        }
-
-        return null;
-    }
-
-    private Metadata parseCamelContextNode(Element element, ParserContext context) {
-        LOG.trace("Parsing CamelContext {}", element);
-        // Find the id, generate one if needed
-        String contextId = element.getAttribute("id");
-        boolean implicitId = false;
-
-        // let's avoid folks having to explicitly give an ID to a camel context
-        if (org.apache.camel.util.ObjectHelper.isEmpty(contextId)) {
-            // if no explicit id was set then use a default auto generated name
-            CamelContextNameStrategy strategy = new DefaultCamelContextNameStrategy();
-            contextId = strategy.getName();
-            element.setAttributeNS(null, "id", contextId);
-            implicitId = true;
-        }
-
-        // now let's parse the routes with JAXB
-        Binder<Node> binder;
-        try {
-            binder = getJaxbContext().createBinder();
-        } catch (JAXBException e) {
-            throw new ComponentDefinitionException("Failed to create the JAXB binder : " + e, e);
-        }
-        Object value = parseUsingJaxb(element, context, binder);
-        if (!(value instanceof CamelContextFactoryBean)) {
-            throw new ComponentDefinitionException("Expected an instance of " + CamelContextFactoryBean.class);
-        }
-
-        CamelContextFactoryBean ccfb = (CamelContextFactoryBean) value;
-        ccfb.setImplicitId(implicitId);
-
-        MutablePassThroughMetadata factory = context.createMetadata(MutablePassThroughMetadata.class);
-        factory.setId(".camelBlueprint.passThrough." + contextId);
-        factory.setObject(new PassThroughCallable<>(value));
-
-        MutableBeanMetadata factory2 = context.createMetadata(MutableBeanMetadata.class);
-        factory2.setId(".camelBlueprint.factory." + contextId);
-        factory2.setFactoryComponent(factory);
-        factory2.setFactoryMethod("call");
-        factory2.setInitMethod("afterPropertiesSet");
-        factory2.setDestroyMethod("destroy");
-        factory2.addProperty("blueprintContainer", createRef(context, "blueprintContainer"));
-        factory2.addProperty("bundleContext", createRef(context, "blueprintBundleContext"));
-        // We need to add other components which the camel context dependsOn
-        if (org.apache.camel.util.ObjectHelper.isNotEmpty(ccfb.getDependsOn())) {
-            factory2.setDependsOn(Arrays.asList(ccfb.getDependsOn().split(" |,")));
-        }
-        context.getComponentDefinitionRegistry().registerComponentDefinition(factory2);
-
-        MutableBeanMetadata ctx = context.createMetadata(MutableBeanMetadata.class);
-        ctx.setId(contextId);
-        ctx.setRuntimeClass(BlueprintCamelContext.class);
-        ctx.setFactoryComponent(factory2);
-        ctx.setFactoryMethod("getContext");
-        ctx.addProperty("bundleStateService", createRef(context, ".camelBlueprint.bundleStateService"));
-        ctx.setInitMethod("build");
-        ctx.setDestroyMethod("destroy");
-
-        // Register factory beans
-        registerBeans(context, contextId, ccfb.getThreadPools());
-        registerBeans(context, contextId, ccfb.getEndpoints());
-        registerBeans(context, contextId, ccfb.getRedeliveryPolicies());
-        registerBeans(context, contextId, ccfb.getBeansFactory());
-
-        // Register single CamelBundleStateService - shared for all bundles and all Blueprint Camel contexts
-        registerBundleStateService(context);
-
-        // Register processors
-        MutablePassThroughMetadata beanProcessorFactory = context.createMetadata(MutablePassThroughMetadata.class);
-        beanProcessorFactory.setId(".camelBlueprint.processor.bean.passThrough." + contextId);
-        beanProcessorFactory.setObject(new PassThroughCallable<Object>(new CamelInjector(contextId)));
-
-        MutableBeanMetadata beanProcessor = context.createMetadata(MutableBeanMetadata.class);
-        beanProcessor.setId(".camelBlueprint.processor.bean." + contextId);
-        beanProcessor.setRuntimeClass(CamelInjector.class);
-        beanProcessor.setFactoryComponent(beanProcessorFactory);
-        beanProcessor.setFactoryMethod("call");
-        beanProcessor.setProcessor(true);
-        beanProcessor.addProperty("blueprintContainer", createRef(context, "blueprintContainer"));
-        context.getComponentDefinitionRegistry().registerComponentDefinition(beanProcessor);
-
-        MutablePassThroughMetadata regProcessorFactory = context.createMetadata(MutablePassThroughMetadata.class);
-        regProcessorFactory.setId(".camelBlueprint.processor.registry.passThrough." + contextId);
-        regProcessorFactory.setObject(new PassThroughCallable<Object>(new CamelDependenciesFinder(contextId, context)));
-
-        MutableBeanMetadata regProcessor = context.createMetadata(MutableBeanMetadata.class);
-        regProcessor.setId(".camelBlueprint.processor.registry." + contextId);
-        regProcessor.setRuntimeClass(CamelDependenciesFinder.class);
-        regProcessor.setFactoryComponent(regProcessorFactory);
-        regProcessor.setFactoryMethod("call");
-        regProcessor.setProcessor(true);
-        regProcessor.addDependsOn(".camelBlueprint.processor.bean." + contextId);
-        regProcessor.addProperty("blueprintContainer", createRef(context, "blueprintContainer"));
-        context.getComponentDefinitionRegistry().registerComponentDefinition(regProcessor);
-
-        // lets inject the namespaces into any namespace aware POJOs
-        injectNamespaces(element, binder);
-
-        LOG.trace("Parsing CamelContext done, returning {}", ctx);
-        return ctx;
-    }
-
-    protected void injectNamespaces(Element element, Binder<Node> binder) {
-        NodeList list = element.getChildNodes();
-        Namespaces namespaces = null;
-        int size = list.getLength();
-        for (int i = 0; i < size; i++) {
-            Node child = list.item(i);
-            if (child instanceof Element) {
-                Element childElement = (Element) child;
-                Object object = binder.getJAXBNode(child);
-                if (object instanceof NamespaceAware) {
-                    NamespaceAware namespaceAware = (NamespaceAware) object;
-                    if (namespaces == null) {
-                        namespaces = NamespacesHelper.namespaces(element);
-                    }
-                    namespaces.configure(namespaceAware);
-                }
-                injectNamespaces(childElement, binder);
-            }
-        }
-    }
-
-    private Metadata parseRouteContextNode(Element element, ParserContext context) {
-        LOG.trace("Parsing RouteContext {}", element);
-        // now parse the routes with JAXB
-        Binder<Node> binder;
-        try {
-            binder = getJaxbContext().createBinder();
-        } catch (JAXBException e) {
-
-            throw new ComponentDefinitionException("Failed to create the JAXB binder : " + e, e);
-        }
-        Object value = parseUsingJaxb(element, context, binder);
-        if (!(value instanceof CamelRouteContextFactoryBean)) {
-            throw new ComponentDefinitionException("Expected an instance of " + CamelRouteContextFactoryBean.class);
-        }
-
-        CamelRouteContextFactoryBean rcfb = (CamelRouteContextFactoryBean) value;
-        String id = rcfb.getId();
-
-        MutablePassThroughMetadata factory = context.createMetadata(MutablePassThroughMetadata.class);
-        factory.setId(".camelBlueprint.passThrough." + id);
-        factory.setObject(new PassThroughCallable<Object>(rcfb));
-
-        MutableBeanMetadata factory2 = context.createMetadata(MutableBeanMetadata.class);
-        factory2.setId(".camelBlueprint.factory." + id);
-        factory2.setFactoryComponent(factory);
-        factory2.setFactoryMethod("call");
-
-        MutableBeanMetadata ctx = context.createMetadata(MutableBeanMetadata.class);
-        ctx.setId(id);
-        ctx.setRuntimeClass(List.class);
-        ctx.setFactoryComponent(factory2);
-        ctx.setFactoryMethod("getRoutes");
-        // must be lazy as we want CamelContext to be activated first
-        ctx.setActivation(ACTIVATION_LAZY);
-
-        // lets inject the namespaces into any namespace aware POJOs
-        injectNamespaces(element, binder);
-
-        LOG.trace("Parsing RouteContext {} done, returning {}", element, ctx);
-        return ctx;
-    }
-
-    private Metadata parseRestContextNode(Element element, ParserContext context) {
-        LOG.trace("Parsing RestContext {}", element);
-        // now parse the rests with JAXB
-        Binder<Node> binder;
-        try {
-            binder = getJaxbContext().createBinder();
-        } catch (JAXBException e) {
-            throw new ComponentDefinitionException("Failed to create the JAXB binder : " + e, e);
-        }
-        Object value = parseUsingJaxb(element, context, binder);
-        if (!(value instanceof CamelRestContextFactoryBean)) {
-            throw new ComponentDefinitionException("Expected an instance of " + CamelRestContextFactoryBean.class);
-        }
-
-        CamelRestContextFactoryBean rcfb = (CamelRestContextFactoryBean) value;
-        String id = rcfb.getId();
-
-        MutablePassThroughMetadata factory = context.createMetadata(MutablePassThroughMetadata.class);
-        factory.setId(".camelBlueprint.passThrough." + id);
-        factory.setObject(new PassThroughCallable<Object>(rcfb));
-
-        MutableBeanMetadata factory2 = context.createMetadata(MutableBeanMetadata.class);
-        factory2.setId(".camelBlueprint.factory." + id);
-        factory2.setFactoryComponent(factory);
-        factory2.setFactoryMethod("call");
-
-        MutableBeanMetadata ctx = context.createMetadata(MutableBeanMetadata.class);
-        ctx.setId(id);
-        ctx.setRuntimeClass(List.class);
-        ctx.setFactoryComponent(factory2);
-        ctx.setFactoryMethod("getRests");
-        // must be lazy as we want CamelContext to be activated first
-        ctx.setActivation(ACTIVATION_LAZY);
-
-        // lets inject the namespaces into any namespace aware POJOs
-        injectNamespaces(element, binder);
-
-        LOG.trace("Parsing RestContext {} done, returning {}", element, ctx);
-        return ctx;
-    }
-
-    private Metadata parseEndpointNode(Element element, ParserContext context) {
-        LOG.trace("Parsing Endpoint {}", element);
-        // now parse the rests with JAXB
-        Binder<Node> binder;
-        try {
-            binder = getJaxbContext().createBinder();
-        } catch (JAXBException e) {
-            throw new ComponentDefinitionException("Failed to create the JAXB binder : " + e, e);
-        }
-        Object value = parseUsingJaxb(element, context, binder);
-        if (!(value instanceof CamelEndpointFactoryBean)) {
-            throw new ComponentDefinitionException("Expected an instance of " + CamelEndpointFactoryBean.class);
-        }
-
-        CamelEndpointFactoryBean rcfb = (CamelEndpointFactoryBean) value;
-        String id = rcfb.getId();
-
-        MutablePassThroughMetadata factory = context.createMetadata(MutablePassThroughMetadata.class);
-        factory.setId(".camelBlueprint.passThrough." + id);
-        factory.setObject(new PassThroughCallable<Object>(rcfb));
-
-        MutableBeanMetadata factory2 = context.createMetadata(MutableBeanMetadata.class);
-        factory2.setId(".camelBlueprint.factory." + id);
-        factory2.setFactoryComponent(factory);
-        factory2.setFactoryMethod("call");
-        factory2.setInitMethod("afterPropertiesSet");
-        factory2.setDestroyMethod("destroy");
-        factory2.addProperty("blueprintContainer", createRef(context, "blueprintContainer"));
-
-        MutableBeanMetadata ctx = context.createMetadata(MutableBeanMetadata.class);
-        ctx.setId(id);
-        ctx.setRuntimeClass(Endpoint.class);
-        ctx.setFactoryComponent(factory2);
-        ctx.setFactoryMethod("getObject");
-        // must be lazy as we want CamelContext to be activated first
-        ctx.setActivation(ACTIVATION_LAZY);
-
-        LOG.trace("Parsing endpoint {} done, returning {}", element, ctx);
-        return ctx;
-    }
-
-    private Metadata parseKeyStoreParametersNode(Element element, ParserContext context) {
-        LOG.trace("Parsing KeyStoreParameters {}", element);
-        // now parse the key store parameters with JAXB
-        Binder<Node> binder;
-        try {
-            binder = getJaxbContext().createBinder();
-        } catch (JAXBException e) {
-            throw new ComponentDefinitionException("Failed to create the JAXB binder : " + e, e);
-        }
-        Object value = parseUsingJaxb(element, context, binder);
-        if (!(value instanceof KeyStoreParametersFactoryBean)) {
-            throw new ComponentDefinitionException("Expected an instance of " + KeyStoreParametersFactoryBean.class);
-        }
-
-        KeyStoreParametersFactoryBean kspfb = (KeyStoreParametersFactoryBean) value;
-        String id = kspfb.getId();
-
-        MutablePassThroughMetadata factory = context.createMetadata(MutablePassThroughMetadata.class);
-        factory.setId(".camelBlueprint.passThrough." + id);
-        factory.setObject(new PassThroughCallable<Object>(kspfb));
-
-        MutableBeanMetadata factory2 = context.createMetadata(MutableBeanMetadata.class);
-        factory2.setId(".camelBlueprint.factory." + id);
-        factory2.setFactoryComponent(factory);
-        factory2.setFactoryMethod("call");
-        factory2.setInitMethod("afterPropertiesSet");
-        factory2.setDestroyMethod("destroy");
-        factory2.addProperty("blueprintContainer", createRef(context, "blueprintContainer"));
-
-        MutableBeanMetadata ctx = context.createMetadata(MutableBeanMetadata.class);
-        ctx.setId(id);
-        ctx.setRuntimeClass(KeyStoreParameters.class);
-        ctx.setFactoryComponent(factory2);
-        ctx.setFactoryMethod("getObject");
-        // must be lazy as we want CamelContext to be activated first
-        ctx.setActivation(ACTIVATION_LAZY);
-
-        LOG.trace("Parsing KeyStoreParameters done, returning {}", ctx);
-        return ctx;
-    }
-
-    private Metadata parseSecureRandomParametersNode(Element element, ParserContext context) {
-        LOG.trace("Parsing SecureRandomParameters {}", element);
-        // now parse the key store parameters with JAXB
-        Binder<Node> binder;
-        try {
-            binder = getJaxbContext().createBinder();
-        } catch (JAXBException e) {
-            throw new ComponentDefinitionException("Failed to create the JAXB binder : " + e, e);
-        }
-        Object value = parseUsingJaxb(element, context, binder);
-        if (!(value instanceof SecureRandomParametersFactoryBean)) {
-            throw new ComponentDefinitionException("Expected an instance of " + SecureRandomParametersFactoryBean.class);
-        }
-
-        SecureRandomParametersFactoryBean srfb = (SecureRandomParametersFactoryBean) value;
-        String id = srfb.getId();
-
-        MutablePassThroughMetadata factory = context.createMetadata(MutablePassThroughMetadata.class);
-        factory.setId(".camelBlueprint.passThrough." + id);
-        factory.setObject(new PassThroughCallable<Object>(srfb));
-
-        MutableBeanMetadata factory2 = context.createMetadata(MutableBeanMetadata.class);
-        factory2.setId(".camelBlueprint.factory." + id);
-        factory2.setFactoryComponent(factory);
-        factory2.setFactoryMethod("call");
-        factory2.setInitMethod("afterPropertiesSet");
-        factory2.setDestroyMethod("destroy");
-        factory2.addProperty("blueprintContainer", createRef(context, "blueprintContainer"));
-
-        MutableBeanMetadata ctx = context.createMetadata(MutableBeanMetadata.class);
-        ctx.setId(id);
-        ctx.setRuntimeClass(SecureRandomParameters.class);
-        ctx.setFactoryComponent(factory2);
-        ctx.setFactoryMethod("getObject");
-        // must be lazy as we want CamelContext to be activated first
-        ctx.setActivation(ACTIVATION_LAZY);
-
-        LOG.trace("Parsing SecureRandomParameters done, returning {}", ctx);
-        return ctx;
-    }
-
-    private Metadata parseSSLContextParametersNode(Element element, ParserContext context) {
-        LOG.trace("Parsing SSLContextParameters {}", element);
-        // now parse the key store parameters with JAXB
-        Binder<Node> binder;
-        try {
-            binder = getJaxbContext().createBinder();
-        } catch (JAXBException e) {
-            throw new ComponentDefinitionException("Failed to create the JAXB binder : " + e, e);
-        }
-        Object value = parseUsingJaxb(element, context, binder);
-        if (!(value instanceof SSLContextParametersFactoryBean)) {
-            throw new ComponentDefinitionException("Expected an instance of " + SSLContextParametersFactoryBean.class);
-        }
-
-        SSLContextParametersFactoryBean scpfb = (SSLContextParametersFactoryBean) value;
-        String id = scpfb.getId();
-
-        MutablePassThroughMetadata factory = context.createMetadata(MutablePassThroughMetadata.class);
-        factory.setId(".camelBlueprint.passThrough." + id);
-        factory.setObject(new PassThroughCallable<Object>(scpfb));
-
-        MutableBeanMetadata factory2 = context.createMetadata(MutableBeanMetadata.class);
-        factory2.setId(".camelBlueprint.factory." + id);
-        factory2.setFactoryComponent(factory);
-        factory2.setFactoryMethod("call");
-        factory2.setInitMethod("afterPropertiesSet");
-        factory2.setDestroyMethod("destroy");
-        factory2.addProperty("blueprintContainer", createRef(context, "blueprintContainer"));
-
-        MutableBeanMetadata ctx = context.createMetadata(MutableBeanMetadata.class);
-        ctx.setId(id);
-        ctx.setRuntimeClass(SSLContextParameters.class);
-        ctx.setFactoryComponent(factory2);
-        ctx.setFactoryMethod("getObject");
-        // must be lazy as we want CamelContext to be activated first
-        ctx.setActivation(ACTIVATION_LAZY);
-
-        LOG.trace("Parsing SSLContextParameters done, returning {}", ctx);
-        return ctx;
-    }
-
-    private void registerBeans(ParserContext context, String contextId, List<?> beans) {
-        if (beans != null) {
-            for (Object bean : beans) {
-                if (bean instanceof AbstractCamelFactoryBean) {
-                    registerBean(context, contextId, (AbstractCamelFactoryBean<?>) bean);
-                }
-            }
-        }
-    }
-
-    protected void registerBean(ParserContext context, String contextId, AbstractCamelFactoryBean<?> fact) {
-        String id = fact.getId();
-
-        fact.setCamelContextId(contextId);
-
-        MutablePassThroughMetadata eff = context.createMetadata(MutablePassThroughMetadata.class);
-        eff.setId(".camelBlueprint.bean.passthrough." + id);
-        eff.setObject(new PassThroughCallable<Object>(fact));
-
-        MutableBeanMetadata ef = context.createMetadata(MutableBeanMetadata.class);
-        ef.setId(".camelBlueprint.bean.factory." + id);
-        ef.setFactoryComponent(eff);
-        ef.setFactoryMethod("call");
-        ef.addProperty("blueprintContainer", createRef(context, "blueprintContainer"));
-        ef.setInitMethod("afterPropertiesSet");
-        ef.setDestroyMethod("destroy");
-
-        MutableBeanMetadata e = context.createMetadata(MutableBeanMetadata.class);
-        e.setId(id);
-        e.setRuntimeClass(fact.getObjectType());
-        e.setFactoryComponent(ef);
-        e.setFactoryMethod("getObject");
-        e.addDependsOn(".camelBlueprint.processor.bean." + contextId);
-
-        context.getComponentDefinitionRegistry().registerComponentDefinition(e);
-    }
-
-    /**
-     * There's single instance of {@link BlueprintCamelStateService} that's used by all Blueprint Camel contexts
-     * to inform about state of Camel contexts. If Karaf is available, this information will propagate to
-     * <em>extended bundle info</em>.
-     * See CAMEL-12980
-     */
-    private void registerBundleStateService(ParserContext context) {
-        ComponentDefinitionRegistry componentDefinitionRegistry = context.getComponentDefinitionRegistry();
-        ComponentMetadata cm = componentDefinitionRegistry.getComponentDefinition(".camelBlueprint.bundleStateService");
-        if (cm == null) {
-            MutableBeanMetadata ssm = context.createMetadata(MutableBeanMetadata.class);
-            ssm.setId(".camelBlueprint.bundleStateService");
-            ssm.setRuntimeClass(BlueprintCamelStateService.class);
-            ssm.addProperty("bundleContext", createRef(context, "blueprintBundleContext"));
-            ssm.setInitMethod("init");
-            ssm.setDestroyMethod("destroy");
-            componentDefinitionRegistry.registerComponentDefinition(ssm);
-        }
-    }
-
-    protected BlueprintContainer getBlueprintContainer(ParserContext context) {
-        PassThroughMetadata ptm = (PassThroughMetadata) context.getComponentDefinitionRegistry().getComponentDefinition("blueprintContainer");
-        return (BlueprintContainer) ptm.getObject();
-    }
-
-    @Override
-    public ComponentMetadata decorate(Node node, ComponentMetadata component, ParserContext context) {
-        return null;
-    }
-
-    protected Object parseUsingJaxb(Element element, ParserContext parserContext, Binder<Node> binder) {
-        try {
-            return binder.unmarshal(element);
-        } catch (JAXBException e) {
-            throw new ComponentDefinitionException("Failed to parse JAXB element: " + e, e);
-        }
-    }
-
-    public JAXBContext getJaxbContext() throws JAXBException {
-        if (jaxbContext == null) {
-            jaxbContext = new BlueprintModelJAXBContextFactory(getClass().getClassLoader()).newJAXBContext();
-        }
-        return jaxbContext;
-    }
-
-    private RefMetadata createRef(ParserContext context, String value) {
-        MutableRefMetadata r = context.createMetadata(MutableRefMetadata.class);
-        r.setComponentId(value);
-        return r;
-    }
-
-    private static ComponentMetadata getDataformatResolverReference(ParserContext context, String dataformat) {
-        // we cannot resolve dataformat names using property placeholders at this point in time
-        if (dataformat.startsWith(PropertiesComponent.PREFIX_TOKEN)) {
-            return null;
-        }
-        ComponentDefinitionRegistry componentDefinitionRegistry = context.getComponentDefinitionRegistry();
-        ComponentMetadata cm = componentDefinitionRegistry.getComponentDefinition(".camelBlueprint.dataformatResolver." + dataformat);
-        if (cm == null) {
-            MutableReferenceMetadata svc = context.createMetadata(MutableReferenceMetadata.class);
-            svc.setId(".camelBlueprint.dataformatResolver." + dataformat);
-            svc.setFilter("(dataformat=" + dataformat + ")");
-            svc.setAvailability(componentDefinitionRegistry.containsComponentDefinition(dataformat) ? AVAILABILITY_OPTIONAL : AVAILABILITY_MANDATORY);
-            try {
-                // Try to set the runtime interface (only with aries blueprint > 0.1
-                svc.getClass().getMethod("setRuntimeInterface", Class.class).invoke(svc, DataFormatResolver.class);
-            } catch (Throwable t) {
-                // Check if the bundle can see the class
-                try {
-                    PassThroughMetadata ptm = (PassThroughMetadata) componentDefinitionRegistry.getComponentDefinition("blueprintBundle");
-                    Bundle b = (Bundle) ptm.getObject();
-                    if (b.loadClass(DataFormatResolver.class.getName()) != DataFormatResolver.class) {
-                        throw new UnsupportedOperationException();
-                    }
-                    svc.setInterface(DataFormatResolver.class.getName());
-                } catch (Throwable t2) {
-                    throw new UnsupportedOperationException();
-                }
-            }
-            componentDefinitionRegistry.registerComponentDefinition(svc);
-            cm = svc;
-        }
-        return cm;
-    }
-
-    private static ComponentMetadata getLanguageResolverReference(ParserContext context, String language) {
-        // we cannot resolve language names using property placeholders at this point in time
-        if (language.startsWith(PropertiesComponent.PREFIX_TOKEN)) {
-            return null;
-        }
-        ComponentDefinitionRegistry componentDefinitionRegistry = context.getComponentDefinitionRegistry();
-        ComponentMetadata cm = componentDefinitionRegistry.getComponentDefinition(".camelBlueprint.languageResolver." + language);
-        if (cm == null) {
-            MutableReferenceMetadata svc = context.createMetadata(MutableReferenceMetadata.class);
-            svc.setId(".camelBlueprint.languageResolver." + language);
-            svc.setFilter("(language=" + language + ")");
-            svc.setAvailability(componentDefinitionRegistry.containsComponentDefinition(language) ? AVAILABILITY_OPTIONAL : AVAILABILITY_MANDATORY);
-            try {
-                // Try to set the runtime interface (only with aries blueprint > 0.1
-                svc.getClass().getMethod("setRuntimeInterface", Class.class).invoke(svc, LanguageResolver.class);
-            } catch (Throwable t) {
-                // Check if the bundle can see the class
-                try {
-                    PassThroughMetadata ptm = (PassThroughMetadata) componentDefinitionRegistry.getComponentDefinition("blueprintBundle");
-                    Bundle b = (Bundle) ptm.getObject();
-                    if (b.loadClass(LanguageResolver.class.getName()) != LanguageResolver.class) {
-                        throw new UnsupportedOperationException();
-                    }
-                    svc.setInterface(LanguageResolver.class.getName());
-                } catch (Throwable t2) {
-                    throw new UnsupportedOperationException();
-                }
-            }
-            componentDefinitionRegistry.registerComponentDefinition(svc);
-            cm = svc;
-        }
-        return cm;
-    }
-
-    private static ComponentMetadata getComponentResolverReference(ParserContext context, String component) {
-        // we cannot resolve component names using property placeholders at this point in time
-        if (component.startsWith(PropertiesComponent.PREFIX_TOKEN)) {
-            return null;
-        }
-        ComponentDefinitionRegistry componentDefinitionRegistry = context.getComponentDefinitionRegistry();
-        ComponentMetadata cm = componentDefinitionRegistry.getComponentDefinition(".camelBlueprint.componentResolver." + component);
-        if (cm == null) {
-            MutableReferenceMetadata svc = context.createMetadata(MutableReferenceMetadata.class);
-            svc.setId(".camelBlueprint.componentResolver." + component);
-            svc.setFilter("(component=" + component + ")");
-            svc.setAvailability(componentDefinitionRegistry.containsComponentDefinition(component) ? AVAILABILITY_OPTIONAL : AVAILABILITY_MANDATORY);
-            try {
-                // Try to set the runtime interface (only with aries blueprint > 0.1
-                svc.getClass().getMethod("setRuntimeInterface", Class.class).invoke(svc, ComponentResolver.class);
-            } catch (Throwable t) {
-                // Check if the bundle can see the class
-                try {
-                    PassThroughMetadata ptm = (PassThroughMetadata) componentDefinitionRegistry.getComponentDefinition("blueprintBundle");
-                    Bundle b = (Bundle) ptm.getObject();
-                    if (b.loadClass(ComponentResolver.class.getName()) != ComponentResolver.class) {
-                        throw new UnsupportedOperationException();
-                    }
-                    svc.setInterface(ComponentResolver.class.getName());
-                } catch (Throwable t2) {
-                    throw new UnsupportedOperationException();
-                }
-            }
-            componentDefinitionRegistry.registerComponentDefinition(svc);
-            cm = svc;
-        }
-        return cm;
-    }
-
-    public static class PassThroughCallable<T> implements Callable<T> {
-
-        private T value;
-
-        public PassThroughCallable(T value) {
-            this.value = value;
-        }
-
-        @Override
-        public T call() throws Exception {
-            return value;
-        }
-    }
-
-    public static class CamelInjector extends CamelPostProcessorHelper implements BeanProcessor {
-
-        private final String camelContextName;
-        private BlueprintContainer blueprintContainer;
-
-        public CamelInjector(String camelContextName) {
-            this.camelContextName = camelContextName;
-        }
-
-        public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-            this.blueprintContainer = blueprintContainer;
-        }
-
-        @Override
-        public CamelContext getCamelContext() {
-            if (blueprintContainer != null) {
-                CamelContext answer = (CamelContext) blueprintContainer.getComponentInstance(camelContextName);
-                return answer;
-            }
-            return null;
-        }
-
-        @Override
-        public Object beforeInit(Object bean, String beanName, BeanCreator beanCreator, BeanMetadata beanMetadata) {
-            LOG.trace("Before init of bean: {} -> {}", beanName, bean);
-            // prefer to inject later in afterInit
-            return bean;
-        }
-
-        /**
-         * A strategy method to allow implementations to perform some custom JBI
-         * based injection of the POJO
-         *
-         * @param bean the bean to be injected
-         */
-        protected void injectFields(final Object bean, final String beanName) {
-            Class<?> clazz = bean.getClass();
-            do {
-                Field[] fields = clazz.getDeclaredFields();
-                for (Field field : fields) {
-                    PropertyInject propertyInject = field.getAnnotation(PropertyInject.class);
-                    if (propertyInject != null) {
-                        injectFieldProperty(field, propertyInject.value(), propertyInject.defaultValue(), bean, beanName);
-                    }
-
-                    BeanInject beanInject = field.getAnnotation(BeanInject.class);
-                    if (beanInject != null) {
-                        injectFieldBean(field, beanInject.value(), bean, beanName);
-                    }
-
-                    EndpointInject endpointInject = field.getAnnotation(EndpointInject.class);
-                    if (endpointInject != null) {
-                        String uri = endpointInject.value().isEmpty() ? endpointInject.uri() : endpointInject.value();
-                        injectField(field, uri, endpointInject.property(), bean, beanName);
-                    }
-
-                    Produce produce = field.getAnnotation(Produce.class);
-                    if (produce != null) {
-                        String uri = produce.value().isEmpty() ? produce.uri() : produce.value();
-                        injectField(field, uri, produce.property(), bean, beanName);
-                    }
-                }
-                clazz = clazz.getSuperclass();
-            } while (clazz != null && clazz != Object.class);
-        }
-
-        protected void injectField(Field field, String endpointUri, String endpointProperty, Object bean, String beanName) {
-            setField(field, bean, getInjectionValue(field.getType(), endpointUri, endpointProperty, field.getName(), bean, beanName));
-        }
-
-        protected void injectFieldProperty(Field field, String propertyName, String propertyDefaultValue, Object bean, String beanName) {
-            setField(field, bean, getInjectionPropertyValue(field.getType(), propertyName, propertyDefaultValue, field.getName(), bean, beanName));
-        }
-
-        public void injectFieldBean(Field field, String name, Object bean, String beanName) {
-            setField(field, bean, getInjectionBeanValue(field.getType(), name));
-        }
-
-        protected static void setField(Field field, Object instance, Object value) {
-            try {
-                boolean oldAccessible = field.isAccessible();
-                boolean shouldSetAccessible = !Modifier.isPublic(field.getModifiers()) && !oldAccessible;
-                if (shouldSetAccessible) {
-                    field.setAccessible(true);
-                }
-                field.set(instance, value);
-                if (shouldSetAccessible) {
-                    field.setAccessible(oldAccessible);
-                }
-            } catch (IllegalArgumentException ex) {
-                throw new UnsupportedOperationException("Cannot inject value of class: " + value.getClass() + " into: " + field);
-            } catch (IllegalAccessException ex) {
-                throw new IllegalStateException("Could not access method: " + ex.getMessage());
-            }
-        }
-
-        protected void injectMethods(final Object bean, final String beanName) {
-            Class<?> clazz = bean.getClass();
-            do {
-                Method[] methods = clazz.getDeclaredMethods();
-                for (Method method : methods) {
-                    setterInjection(method, bean, beanName);
-                    consumerInjection(method, bean, beanName);
-                }
-                clazz = clazz.getSuperclass();
-            } while (clazz != null && clazz != Object.class);
-        }
-
-        protected void setterInjection(Method method, Object bean, String beanName) {
-            PropertyInject propertyInject = method.getAnnotation(PropertyInject.class);
-            if (propertyInject != null) {
-                setterPropertyInjection(method, propertyInject.value(), propertyInject.defaultValue(), bean, beanName);
-            }
-
-            BeanInject beanInject = method.getAnnotation(BeanInject.class);
-            if (beanInject != null) {
-                setterBeanInjection(method, beanInject.value(), bean, beanName);
-            }
-
-            EndpointInject endpointInject = method.getAnnotation(EndpointInject.class);
-            if (endpointInject != null) {
-                String uri = endpointInject.value().isEmpty() ? endpointInject.uri() : endpointInject.value();
-                setterInjection(method, bean, beanName, uri, endpointInject.property());
-            }
-
-            Produce produce = method.getAnnotation(Produce.class);
-            if (produce != null) {
-                String uri = produce.value().isEmpty() ? produce.uri() : produce.value();
-                setterInjection(method, bean, beanName, uri, produce.property());
-            }
-        }
-
-        protected void setterPropertyInjection(Method method, String propertyValue, String propertyDefaultValue, Object bean, String beanName) {
-            Class<?>[] parameterTypes = method.getParameterTypes();
-            if (parameterTypes.length != 1) {
-                LOG.warn("Ignoring badly annotated method for injection due to incorrect number of parameters: {}", method);
-            } else {
-                String propertyName = org.apache.camel.util.ObjectHelper.getPropertyName(method);
-                Object value = getInjectionPropertyValue(parameterTypes[0], propertyValue, propertyDefaultValue, propertyName, bean, beanName);
-                ObjectHelper.invokeMethod(method, bean, value);
-            }
-        }
-
-        protected void setterBeanInjection(Method method, String name, Object bean, String beanName) {
-            Class<?>[] parameterTypes = method.getParameterTypes();
-            if (parameterTypes.length != 1) {
-                LOG.warn("Ignoring badly annotated method for injection due to incorrect number of parameters: {}", method);
-            } else {
-                Object value = getInjectionBeanValue(parameterTypes[0], name);
-                ObjectHelper.invokeMethod(method, bean, value);
-            }
-        }
-
-        protected void setterInjection(Method method, Object bean, String beanName, String endpointUri, String endpointProperty) {
-            Class<?>[] parameterTypes = method.getParameterTypes();
-            if (parameterTypes.length != 1) {
-                LOG.warn("Ignoring badly annotated method for injection due to incorrect number of parameters: {}", method);
-            } else {
-                String propertyName = org.apache.camel.util.ObjectHelper.getPropertyName(method);
-                Object value = getInjectionValue(parameterTypes[0], endpointUri, endpointProperty, propertyName, bean, beanName);
-                ObjectHelper.invokeMethod(method, bean, value);
-            }
-        }
-
-        @Override
-        public Object afterInit(Object bean, String beanName, BeanCreator beanCreator, BeanMetadata beanMetadata) {
-            LOG.trace("After init of bean: {} -> {}", beanName, bean);
-            // we cannot inject CamelContextAware beans as the CamelContext may not be ready
-            // TODO: use bean post processor instead
-            injectFields(bean, beanName);
-            injectMethods(bean, beanName);
-            return bean;
-        }
-
-        @Override
-        public void beforeDestroy(Object bean, String beanName) {
-        }
-
-        @Override
-        public void afterDestroy(Object bean, String beanName) {
-        }
-
-        @Override
-        protected boolean isSingleton(Object bean, String beanName) {
-            if (beanName != null) {
-                ComponentMetadata meta = blueprintContainer.getComponentMetadata(beanName);
-                if (meta instanceof BeanMetadata) {
-                    String scope = ((BeanMetadata) meta).getScope();
-                    if (scope != null) {
-                        return BeanMetadata.SCOPE_SINGLETON.equals(scope);
-                    }
-                }
-            }
-            // fallback to super, which will assume singleton
-            // for beans not implementing Camel's IsSingleton interface
-            return super.isSingleton(bean, beanName);
-        }
-    }
-
-    public static class CamelDependenciesFinder implements ComponentDefinitionRegistryProcessor {
-
-        private final String camelContextName;
-        private final ParserContext context;
-        private BlueprintContainer blueprintContainer;
-
-        public CamelDependenciesFinder(String camelContextName, ParserContext context) {
-            this.camelContextName = camelContextName;
-            this.context = context;
-        }
-
-        public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-            this.blueprintContainer = blueprintContainer;
-        }
-
-        @Override
-        public void process(ComponentDefinitionRegistry componentDefinitionRegistry) {
-            CamelContextFactoryBean ccfb = (CamelContextFactoryBean) blueprintContainer.getComponentInstance(".camelBlueprint.factory." + camelContextName);
-            CamelContext camelContext = ccfb.getContext();
-
-            Set<String> components = new HashSet<>();
-            Set<String> languages = new HashSet<>();
-            Set<String> dataformats = new HashSet<>();
-
-            // regular camel routes
-            for (RouteDefinition rd : camelContext.getExtension(Model.class).getRouteDefinitions()) {
-                findInputComponents(rd.getInput(), components, languages, dataformats);
-                findOutputComponents(rd.getOutputs(), components, languages, dataformats);
-            }
-
-            // rest services can have embedded routes or a singular to
-            for (RestDefinition rd : camelContext.getExtension(Model.class).getRestDefinitions()) {
-                for (VerbDefinition vd : rd.getVerbs()) {
-                    Object o = vd.getToOrRoute();
-                    if (o instanceof RouteDefinition) {
-                        RouteDefinition route = (RouteDefinition) o;
-                        findInputComponents(route.getInput(), components, languages, dataformats);
-                        findOutputComponents(route.getOutputs(), components, languages, dataformats);
-                    } else if (o instanceof ToDefinition) {
-                        findUriComponent(((ToDefinition) o).getUri(), components);
-                    } else if (o instanceof ToDynamicDefinition) {
-                        findUriComponent(((ToDynamicDefinition) o).getUri(), components);
-                    }
-                }
-            }
-
-            if (ccfb.getRestConfiguration() != null) {
-                // rest configuration may refer to a component to use
-                String component = ccfb.getRestConfiguration().getComponent();
-                if (component != null) {
-                    components.add(component);
-                }
-                component = ccfb.getRestConfiguration().getApiComponent();
-                if (component != null) {
-                    components.add(component);
-                }
-
-                // check what data formats are used in binding mode
-                RestBindingMode mode = ccfb.getRestConfiguration().getBindingMode();
-                String json = ccfb.getRestConfiguration().getJsonDataFormat();
-                if (json == null && mode != null) {
-                    if (RestBindingMode.json.equals(mode) || RestBindingMode.json_xml.equals(mode)) {
-                        // jackson is the default json data format
-                        json = "json-jackson";
-                    }
-                }
-                if (json != null) {
-                    dataformats.add(json);
-                }
-                String xml = ccfb.getRestConfiguration().getXmlDataFormat();
-                if (xml == null && mode != null) {
-                    if (RestBindingMode.xml.equals(mode) || RestBindingMode.json_xml.equals(mode)) {
-                        // jaxb is the default xml data format
-                        dataformats.add("jaxb");
-                    }
-                }
-                if (xml != null) {
-                    dataformats.add(xml);
-                }
-            }
-
-            // We can only add service references to resolvers, but we can't make the factory depends on those
-            // because the factory has already been instantiated
-            try {
-                for (String component : components) {
-                    if (camelContext.getComponent(component, false) == null) {
-                        // component not already in camel-context so resolve an OSGi reference to it
-                        getComponentResolverReference(context, component);
-                    } else {
-                        LOG.debug("Not creating a service reference for component {} because a component already exists in the Camel Context", component);
-                    }
-                }
-                for (String language : languages) {
-                    getLanguageResolverReference(context, language);
-                }
-                for (String dataformat : dataformats) {
-                    getDataformatResolverReference(context, dataformat);
-                }
-            } catch (UnsupportedOperationException e) {
-                LOG.warn("Unable to add dependencies to Camel components OSGi services. "
-                    + "The Apache Aries blueprint implementation used is too old and the blueprint bundle cannot see the org.apache.camel.spi package.");
-                components.clear();
-                languages.clear();
-                dataformats.clear();
-            }
-
-        }
-
-        private void findInputComponents(FromDefinition from, Set<String> components, Set<String> languages, Set<String> dataformats) {
-            if (from != null) {
-                findUriComponent(from.getUri(), components);
-                findSchedulerUriComponent(from.getUri(), components);
-            }
-        }
-
-        @SuppressWarnings({"rawtypes"})
-        private void findOutputComponents(List<ProcessorDefinition<?>> defs, Set<String> components, Set<String> languages, Set<String> dataformats) {
-            if (defs != null) {
-                for (ProcessorDefinition<?> def : defs) {
-                    if (def instanceof SendDefinition) {
-                        findUriComponent(((SendDefinition) def).getUri(), components);
-                    }
-                    if (def instanceof MarshalDefinition) {
-                        findDataFormat(((MarshalDefinition) def).getDataFormatType(), dataformats);
-                    }
-                    if (def instanceof UnmarshalDefinition) {
-                        findDataFormat(((UnmarshalDefinition) def).getDataFormatType(), dataformats);
-                    }
-                    if (def instanceof ExpressionNode) {
-                        findLanguage(((ExpressionNode) def).getExpression(), languages);
-                    }
-                    if (def instanceof ResequenceDefinition) {
-                        findLanguage(((ResequenceDefinition) def).getExpression(), languages);
-                    }
-                    if (def instanceof AggregateDefinition) {
-                        findLanguage(((AggregateDefinition) def).getExpression(), languages);
-                        findLanguage(((AggregateDefinition) def).getCorrelationExpression(), languages);
-                        findLanguage(((AggregateDefinition) def).getCompletionPredicate(), languages);
-                        findLanguage(((AggregateDefinition) def).getCompletionTimeoutExpression(), languages);
-                        findLanguage(((AggregateDefinition) def).getCompletionSizeExpression(), languages);
-                    }
-                    if (def instanceof CatchDefinition) {
-                        CatchDefinition doCatch = (CatchDefinition) def;
-                        if (doCatch.getOnWhen() != null) {
-                            findLanguage(doCatch.getOnWhen().getExpression(), languages);
-                        }
-                    }
-                    if (def instanceof OnExceptionDefinition) {
-                        findLanguage(((OnExceptionDefinition) def).getRetryWhile(), languages);
-                        findLanguage(((OnExceptionDefinition) def).getHandled(), languages);
-                        findLanguage(((OnExceptionDefinition) def).getContinued(), languages);
-                    }
-                    if (def instanceof SortDefinition) {
-                        findLanguage(((SortDefinition) def).getExpression(), languages);
-                    }
-                    if (def instanceof WireTapDefinition) {
-                        findLanguage(((WireTapDefinition<?>) def).getNewExchangeExpression(), languages);
-                    }
-                    findOutputComponents(def.getOutputs(), components, languages, dataformats);
-                }
-            }
-        }
-
-        private void findLanguage(ExpressionDefinition expression, Set<String> languages) {
-            if (expression != null) {
-                String lang = expression.getLanguage();
-                if (lang != null && lang.length() > 0) {
-                    languages.add(lang);
-                }
-            }
-        }
-
-        private void findLanguage(ExpressionSubElementDefinition expression, Set<String> languages) {
-            if (expression != null) {
-                findLanguage(expression.getExpressionType(), languages);
-            }
-        }
-
-        private void findDataFormat(DataFormatDefinition dfd, Set<String> dataformats) {
-            if (dfd != null && dfd.getDataFormatName() != null) {
-                dataformats.add(dfd.getDataFormatName());
-            }
-        }
-
-        private void findUriComponent(String uri, Set<String> components) {
-            // if the uri is a placeholder then skip it
-            if (uri == null || uri.startsWith(PropertiesComponent.PREFIX_TOKEN)) {
-                return;
-            }
-
-            // validate uri here up-front so a meaningful error can be logged for blueprint
-            // it will also speed up tests in case of failure
-            if (!validateUri(uri)) {
-                return;
-            }
-
-            String splitURI[] = StringHelper.splitOnCharacter(uri, ":", 2);
-            if (splitURI[1] != null) {
-                String scheme = splitURI[0];
-                components.add(scheme);
-            }
-        }
-
-        private void findSchedulerUriComponent(String uri, Set<String> components) {
-
-            // the input may use a scheduler which can be quartz or spring
-            if (uri != null) {
-                try {
-                    URI u = new URI(uri);
-                    Map<String, Object> parameters = URISupport.parseParameters(u);
-                    Object value = parameters.get("scheduler");
-                    if (value != null) {
-                        // the scheduler can be quartz or spring based, so add reference to camel component
-                        // from these components os blueprint knows about the requirement
-                        String name = value.toString();
-                        if ("quartz".equals(name)) {
-                            components.add("quartz");
-                        } else if ("spring".equals(name)) {
-                            components.add("spring-event");
-                        }
-                    }
-                } catch (URISyntaxException e) {
-                    // ignore as uri should be already validated at findUriComponent method
-                }
-            }
-        }
-
-        private static boolean validateUri(String uri) {
-            try {
-                // the same validation as done in DefaultCamelContext#normalizeEndpointUri(String)
-                URISupport.normalizeUri(uri);
-            } catch (URISyntaxException | UnsupportedEncodingException e) {
-                LOG.error("Endpoint URI '" + uri + "' is not valid due to: " + e.getMessage(), e);
-                return false;
-            }
-            return true;
-        }
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/package-info.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/package-info.java
deleted file mode 100644
index fb86ca9..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/package-info.java
+++ /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.
- */
-@javax.xml.bind.annotation.XmlSchema(namespace = "http://camel.apache.org/schema/spring", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
-package org.apache.camel.blueprint;
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/KeyManagersParametersFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/KeyManagersParametersFactoryBean.java
deleted file mode 100644
index 5df575b..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/KeyManagersParametersFactoryBean.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.util.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.blueprint.BlueprintCamelContextLookupHelper;
-import org.apache.camel.core.xml.util.jsse.AbstractKeyManagersParametersFactoryBean;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-public class KeyManagersParametersFactoryBean extends AbstractKeyManagersParametersFactoryBean {
-    
-    KeyStoreParametersFactoryBean keyStore;
-    
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-
-    @Override
-    public KeyStoreParametersFactoryBean getKeyStore() {
-        return this.keyStore;
-    }
-
-    public void setKeyStore(KeyStoreParametersFactoryBean keyStore) {
-        this.keyStore = keyStore;
-    }
-
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-    
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/KeyStoreParametersFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/KeyStoreParametersFactoryBean.java
deleted file mode 100644
index 41fb3db..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/KeyStoreParametersFactoryBean.java
+++ /dev/null
@@ -1,59 +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.util.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.blueprint.BlueprintCamelContextLookupHelper;
-import org.apache.camel.core.xml.util.jsse.AbstractKeyStoreParametersFactoryBean;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-@XmlRootElement(name = "keyStoreParameters")
-public class KeyStoreParametersFactoryBean extends AbstractKeyStoreParametersFactoryBean {
-    
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-    
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-    
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/SSLContextClientParametersFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/SSLContextClientParametersFactoryBean.java
deleted file mode 100644
index 2d1deb5..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/SSLContextClientParametersFactoryBean.java
+++ /dev/null
@@ -1,59 +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.util.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.blueprint.BlueprintCamelContextLookupHelper;
-import org.apache.camel.core.xml.util.jsse.AbstractSSLContextClientParametersFactoryBean;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-@XmlType(propOrder = {})
-public class SSLContextClientParametersFactoryBean extends AbstractSSLContextClientParametersFactoryBean {
-    
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-    
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-    
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/SSLContextParametersFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/SSLContextParametersFactoryBean.java
deleted file mode 100644
index e02048b..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/SSLContextParametersFactoryBean.java
+++ /dev/null
@@ -1,110 +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.util.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.blueprint.BlueprintCamelContextLookupHelper;
-import org.apache.camel.core.xml.util.jsse.AbstractSSLContextParametersFactoryBean;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-@XmlRootElement(name = "sslContextParameters")
-@XmlType(propOrder = {})
-public class SSLContextParametersFactoryBean extends AbstractSSLContextParametersFactoryBean {
-    
-    private KeyManagersParametersFactoryBean keyManagers;
-    private TrustManagersParametersFactoryBean trustManagers;
-    private SecureRandomParametersFactoryBean secureRandom;
-    private SSLContextClientParametersFactoryBean clientParameters;
-    private SSLContextServerParametersFactoryBean serverParameters;
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-
-    @Override
-    public KeyManagersParametersFactoryBean getKeyManagers() {
-        return keyManagers;
-    }
-    
-    public void setKeyManagers(KeyManagersParametersFactoryBean keyManagers) {
-        this.keyManagers = keyManagers;
-    }
-
-    @Override
-    public TrustManagersParametersFactoryBean getTrustManagers() {
-        return trustManagers;
-    }
-    
-    public void setTrustManagers(TrustManagersParametersFactoryBean trustManagers) {
-        this.trustManagers = trustManagers;
-    }
-
-    @Override
-    public SecureRandomParametersFactoryBean getSecureRandom() {
-        return secureRandom;
-    }
-
-    public void setSecureRandom(SecureRandomParametersFactoryBean secureRandom) {
-        this.secureRandom = secureRandom;
-    }
-
-    @Override
-    public SSLContextClientParametersFactoryBean getClientParameters() {
-        return clientParameters;
-    }
-
-    public void setClientParameters(SSLContextClientParametersFactoryBean clientParameters) {
-        this.clientParameters = clientParameters;
-    }
-
-    @Override
-    public SSLContextServerParametersFactoryBean getServerParameters() {
-        return serverParameters;
-    }
-    
-    public void setServerParameters(SSLContextServerParametersFactoryBean serverParameters) {
-        this.serverParameters = serverParameters;
-    }
-    
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-    
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/SSLContextServerParametersFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/SSLContextServerParametersFactoryBean.java
deleted file mode 100644
index e544af8..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/SSLContextServerParametersFactoryBean.java
+++ /dev/null
@@ -1,59 +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.util.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.blueprint.BlueprintCamelContextLookupHelper;
-import org.apache.camel.core.xml.util.jsse.AbstractSSLContextServerParametersFactoryBean;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-@XmlType(propOrder = {})
-public class SSLContextServerParametersFactoryBean extends AbstractSSLContextServerParametersFactoryBean {
-    
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-    
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-    
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/SecureRandomParametersFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/SecureRandomParametersFactoryBean.java
deleted file mode 100644
index a43515c..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/SecureRandomParametersFactoryBean.java
+++ /dev/null
@@ -1,59 +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.util.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.blueprint.BlueprintCamelContextLookupHelper;
-import org.apache.camel.core.xml.util.jsse.AbstractSecureRandomParametersFactoryBean;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-@XmlRootElement(name = "secureRandomParameters")
-public class SecureRandomParametersFactoryBean extends AbstractSecureRandomParametersFactoryBean {
-    
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-    
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-    
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/TrustManagersParametersFactoryBean.java b/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/TrustManagersParametersFactoryBean.java
deleted file mode 100644
index f463988..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/TrustManagersParametersFactoryBean.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.util.blueprint;
-
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlTransient;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.blueprint.BlueprintCamelContextLookupHelper;
-import org.apache.camel.core.xml.util.jsse.AbstractTrustManagersParametersFactoryBean;
-import org.osgi.service.blueprint.container.BlueprintContainer;
-
-public class TrustManagersParametersFactoryBean extends AbstractTrustManagersParametersFactoryBean {
-    
-    KeyStoreParametersFactoryBean keyStore;
-    
-    @XmlTransient
-    private BlueprintContainer blueprintContainer;
-
-    @Override
-    public KeyStoreParametersFactoryBean getKeyStore() {
-        return this.keyStore;
-    }
-
-    public void setKeyStore(KeyStoreParametersFactoryBean keyStore) {
-        this.keyStore = keyStore;
-    }
-    
-    public void setBlueprintContainer(BlueprintContainer blueprintContainer) {
-        this.blueprintContainer = blueprintContainer;
-    }
-    
-    @Override
-    protected CamelContext getCamelContextWithId(String camelContextId) {
-        if (blueprintContainer != null) {
-            return (CamelContext) blueprintContainer.getComponentInstance(camelContextId);
-        }
-        return null;
-    }
-
-    @Override
-    protected CamelContext discoverDefaultCamelContext() {
-        if (blueprintContainer != null) {
-            Set<String> ids = BlueprintCamelContextLookupHelper.lookupBlueprintCamelContext(blueprintContainer);
-            if (ids.size() == 1) {
-                // there is only 1 id for a BlueprintCamelContext so fallback and use this
-                return getCamelContextWithId(ids.iterator().next());
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/package-info.java b/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/package-info.java
deleted file mode 100644
index 5095afa..0000000
--- a/components/camel-blueprint/src/main/java/org/apache/camel/util/blueprint/package-info.java
+++ /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.
- */
-@javax.xml.bind.annotation.XmlSchema(namespace = "http://camel.apache.org/schema/spring",
-                                     elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
-package org.apache.camel.util.blueprint;
diff --git a/components/camel-blueprint/src/main/resources/OSGI-INF/blueprint/camel-blueprint.xml b/components/camel-blueprint/src/main/resources/OSGI-INF/blueprint/camel-blueprint.xml
deleted file mode 100644
index ba46264..0000000
--- a/components/camel-blueprint/src/main/resources/OSGI-INF/blueprint/camel-blueprint.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-
-    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.
-
--->
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
-    <service interface="org.apache.aries.blueprint.NamespaceHandler">
-        <service-properties>
-            <entry key="osgi.service.blueprint.namespace">
-                <array value-type="java.lang.String">
-                    <value>http://camel.apache.org/schema/blueprint</value>
-                    <value>http://camel.apache.org/schema/placeholder</value>
-                </array>
-            </entry>
-        </service-properties>
-        <bean class="org.apache.camel.blueprint.handler.CamelNamespaceHandler"/>
-    </service>
-
-</blueprint>
\ No newline at end of file
diff --git a/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintComponentResolverTest.java b/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintComponentResolverTest.java
deleted file mode 100644
index db10c35..0000000
--- a/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintComponentResolverTest.java
+++ /dev/null
@@ -1,113 +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.blueprint;
-
-import java.util.Map;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.Component;
-import org.apache.camel.Endpoint;
-import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.spi.Registry;
-import org.apache.camel.support.DefaultRegistry;
-import org.apache.camel.support.service.ServiceSupport;
-import org.apache.camel.test.junit4.TestSupport;
-import org.junit.Test;
-
-public class BlueprintComponentResolverTest extends TestSupport {
-
-    @Test
-    public void testOsgiResolverFindComponentFallbackTest() throws Exception {
-        Registry registry = new DefaultRegistry();
-        registry.bind("allstar-component", new SampleComponent(true));
-
-        CamelContext camelContext = new DefaultCamelContext(registry);
-
-        BlueprintComponentResolver resolver = new BlueprintComponentResolver(null);
-        Component component = resolver.resolveComponent("allstar", camelContext);
-        assertNotNull("We should find the super component", component);
-        assertTrue("We should get the super component here", component instanceof SampleComponent);
-    }
-
-    @Test
-    public void testOsgiResolverFindLanguageDoubleFallbackTest() throws Exception {
-        Registry registry = new DefaultRegistry();
-        registry.bind("allstar", new SampleComponent(false));
-        registry.bind("allstar-component", new SampleComponent(true));
-
-        CamelContext camelContext = new DefaultCamelContext(registry);
-
-        BlueprintComponentResolver resolver = new BlueprintComponentResolver(null);
-        Component component = resolver.resolveComponent("allstar", camelContext);
-        assertNotNull("We should find the super component", component);
-        assertTrue("We should get the super component here", component instanceof SampleComponent);
-        assertFalse("We should NOT find the fallback component", ((SampleComponent) component).isFallback());
-    }
-
-    private static class SampleComponent extends ServiceSupport implements Component {
-
-        private boolean fallback;
-
-        SampleComponent(boolean fallback) {
-            this.fallback = fallback;
-        }
-
-        @Override
-        public void setCamelContext(CamelContext camelContext) {
-            throw new UnsupportedOperationException("Should not be called");
-        }
-
-        @Override
-        public CamelContext getCamelContext() {
-            throw new UnsupportedOperationException("Should not be called");
-        }
-
-        @Override
-        public Endpoint createEndpoint(String uri) throws Exception {
-            throw new UnsupportedOperationException("Should not be called");
-        }
-
-        @Override
-        public Endpoint createEndpoint(String uri, Map<String, Object> parameters) throws Exception {
-            throw new UnsupportedOperationException("Should not be called");
-        }
-
-        @Override
-        public boolean useRawUri() {
-            throw new UnsupportedOperationException("Should not be called");
-        }
-
-        public boolean isFallback() {
-            return fallback;
-        }
-
-        public void setFallback(boolean fallback) {
-            this.fallback = fallback;
-        }
-
-        @Override
-        protected void doStart() throws Exception {
-            // noop
-        }
-
-        @Override
-        protected void doStop() throws Exception {
-            // noop
-        }
-    }
-
-}
diff --git a/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbRestTest.java b/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbRestTest.java
deleted file mode 100644
index 54b10e0..0000000
--- a/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbRestTest.java
+++ /dev/null
@@ -1,75 +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.blueprint;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import org.apache.camel.blueprint.handler.CamelNamespaceHandler;
-import org.apache.camel.test.junit4.TestSupport;
-import org.junit.Test;
-
-public class BlueprintJaxbRestTest extends TestSupport {
-
-    @Test
-    public void test() throws Exception {
-        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-        dbf.setNamespaceAware(true);
-        DocumentBuilder db = dbf.newDocumentBuilder();
-        Document doc = db.parse(getClass().getClassLoader().getResourceAsStream("test-rest.xml"));
-        Element elem = null;
-        NodeList nl = doc.getDocumentElement().getChildNodes();
-        for (int i = 0; i < nl.getLength(); i++) {
-            Node node = nl.item(i);
-            if (node instanceof Element) {
-                elem = (Element) node;
-                break;
-            }
-        }
-        CamelNamespaceHandler.doBeforeParse(elem, CamelNamespaceHandler.BLUEPRINT_NS, CamelNamespaceHandler.SPRING_NS);
-
-        JAXBContext context = new BlueprintModelJAXBContextFactory(getClass().getClassLoader()).newJAXBContext();
-        Unmarshaller unmarshaller = context.createUnmarshaller();
-        Object object = unmarshaller.unmarshal(elem);
-        assertNotNull(object);
-        assertTrue(object instanceof CamelContextFactoryBean);
-        assertNotNull(((CamelContextFactoryBean) object).getRoutes());
-        assertEquals(0, ((CamelContextFactoryBean) object).getRoutes().size());
-
-        CamelContextFactoryBean cfb = (CamelContextFactoryBean) object;
-        assertEquals(2, cfb.getRests().size());
-        assertEquals("/say/hello", cfb.getRests().get(0).getPath());
-        assertEquals("/say/bye", cfb.getRests().get(1).getPath());
-
-        assertEquals(1, cfb.getRests().get(0).getVerbs().size());
-        assertEquals(2, cfb.getRests().get(1).getVerbs().size());
-        assertEquals("get", cfb.getRests().get(0).getVerbs().get(0).asVerb());
-        assertEquals("get", cfb.getRests().get(1).getVerbs().get(0).asVerb());
-        assertEquals("post", cfb.getRests().get(1).getVerbs().get(1).asVerb());
-
-        assertEquals("dummy-rest", cfb.getRestConfiguration().getComponent());
-        assertEquals("localhost", cfb.getRestConfiguration().getHost());
-        assertEquals("9090", cfb.getRestConfiguration().getPort());
-    }
-}
diff --git a/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbTest.java b/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbTest.java
deleted file mode 100644
index 02d9e68..0000000
--- a/components/camel-blueprint/src/test/java/org/apache/camel/blueprint/BlueprintJaxbTest.java
+++ /dev/null
@@ -1,65 +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.blueprint;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import org.apache.camel.blueprint.handler.CamelNamespaceHandler;
-import org.apache.camel.test.junit4.TestSupport;
-import org.junit.Test;
-
-public class BlueprintJaxbTest extends TestSupport {
-
-    @Test
-    public void test() throws Exception {
-        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-        dbf.setNamespaceAware(true);
-        DocumentBuilder db = dbf.newDocumentBuilder();
-        Document doc = db.parse(getClass().getClassLoader().getResourceAsStream("test.xml"));
-        Element elem = null;
-        NodeList nl = doc.getDocumentElement().getChildNodes();
-        for (int i = 0; i < nl.getLength(); i++) {
-            Node node = nl.item(i);
-            if (node instanceof Element) {
-                elem = (Element) node;
-                break;
-            }
-        }
-        CamelNamespaceHandler.doBeforeParse(elem, CamelNamespaceHandler.BLUEPRINT_NS, CamelNamespaceHandler.SPRING_NS);
-
-        JAXBContext context = new BlueprintModelJAXBContextFactory(getClass().getClassLoader()).newJAXBContext();
-        Unmarshaller unmarshaller = context.createUnmarshaller();
-        Object object = unmarshaller.unmarshal(elem);
-        assertNotNull(object);
-        assertTrue(object instanceof CamelContextFactoryBean);
-        assertNotNull(((CamelContextFactoryBean) object).getRoutes());
-        assertEquals(1, ((CamelContextFactoryBean) object).getRoutes().size());
-        assertNotNull(((CamelContextFactoryBean) object).getRoutes().get(0));
-        assertNotNull(((CamelContextFactoryBean) object).getRoutes().get(0).getInput());
-        assertNotNull(((CamelContextFactoryBean) object).getRoutes().get(0).getOutputs());
-        assertEquals(1, ((CamelContextFactoryBean) object).getRoutes().get(0).getOutputs().size());
-        assertTrue(((CamelContextFactoryBean) object).getCamelPropertyPlaceholder().isIgnoreMissingLocation());
-    }
-}
diff --git a/components/camel-blueprint/src/test/resources/log4j2.properties b/components/camel-blueprint/src/test/resources/log4j2.properties
deleted file mode 100644
index a15df5f..0000000
--- a/components/camel-blueprint/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-blueprint-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 = INFO
-rootLogger.appenderRef.file.ref = file
diff --git a/components/camel-blueprint/src/test/resources/test-rest.xml b/components/camel-blueprint/src/test/resources/test-rest.xml
deleted file mode 100644
index 60e9245..0000000
--- a/components/camel-blueprint/src/test/resources/test-rest.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-
-    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.
-
--->
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
-  <camelContext xmlns="http://camel.apache.org/schema/blueprint">
-
-    <restConfiguration component="dummy-rest" host="localhost" port="9090"/>
-
-    <rest path="/say/hello">
-      <get>
-        <to uri="direct:hello"/>
-      </get>
-    </rest>
-    <rest path="/say/bye">
-      <get>
-        <to uri="direct:bye"/>
-      </get>
-      <post>
-        <to uri="seda:update"/>
-      </post>
-    </rest>
-
-  </camelContext>
-
-</blueprint>
diff --git a/components/camel-blueprint/src/test/resources/test.xml b/components/camel-blueprint/src/test/resources/test.xml
deleted file mode 100644
index 58801f1..0000000
--- a/components/camel-blueprint/src/test/resources/test.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!--
-
-    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.
-
--->
-<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
-
-    <camelContext xmlns="http://camel.apache.org/schema/blueprint">
-        <propertyPlaceholder cache="true" ignoreMissingLocation="true" location="classpath:org/apache/camel/component/properties/cheese.properties"/>    
-        <route>
-            <from uri="timer:test"/>
-            <to uri="log:test"/>
-        </route>
-    </camelContext>
-
-</blueprint>
diff --git a/components/pom.xml b/components/pom.xml
index be8a52b..cb8cac6 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -69,7 +69,6 @@
         <module>camel-test-spring-junit5</module>
         <module>camel-testcontainers-junit5</module>
         <module>camel-testcontainers-spring-junit5</module>
-        <module>camel-blueprint</module>
         <module>camel-spring</module>
         <module>camel-spring-main</module>
         <module>camel-groovy</module>
diff --git a/parent/pom.xml b/parent/pom.xml
index 0eccf48..9582a19 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1176,11 +1176,6 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
-        <artifactId>camel-blueprint</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.camel</groupId>
         <artifactId>camel-bonita</artifactId>
         <version>${project.version}</version>
       </dependency>