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

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


The following commit(s) were added to refs/heads/master by this push:
     new 4dc252f  camel-main-maven-plugin - Avoid duplicate spring boot groups 
in the generated metadata json file.
4dc252f is described below

commit 4dc252fdee9d14cf8a99496a039117a4cb2c5d17
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Tue Jun 25 16:44:11 2019 +0200

    camel-main-maven-plugin - Avoid duplicate spring boot groups in the 
generated metadata json file.
---
 .../java/org/apache/camel/maven/GenerateMojo.java  |   6 +-
 .../camel/maven/model/SpringBootGroupData.java     |  19 +
 .../META-INF/spring-configuration-metadata.json    | 950 +--------------------
 .../META-INF/spring-configuration-metadata.json    | 455 ----------
 4 files changed, 69 insertions(+), 1361 deletions(-)

diff --git 
a/catalog/camel-main-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
 
b/catalog/camel-main-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
index 876b5c5..142db9d 100644
--- 
a/catalog/camel-main-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
+++ 
b/catalog/camel-main-maven-plugin/src/main/java/org/apache/camel/maven/GenerateMojo.java
@@ -162,7 +162,11 @@ public class GenerateMojo extends AbstractMainMojo {
             if (springBootEnabled) {
                 getLog().debug("Spring Boot option: " + key);
                 propertyData.add(new SpringBootPropertyData(key, 
springBootJavaType(javaType), description, componentJavaType, defaultValue, 
deprecated));
-                groupData.add(new SpringBootGroupData("camel.component." + 
componentName, componentDescription, componentJavaType));
+                // avoid duplicate groups (it has equal/hashCode contract on 
name only)
+                SpringBootGroupData group = new 
SpringBootGroupData("camel.component." + componentName, componentDescription, 
componentJavaType);
+                if (!groupData.contains(group)) {
+                    groupData.add(group);
+                }
             }
 
             // check if we can do automatic autowire to complex singleton 
objects from classes in the classpath
diff --git 
a/catalog/camel-main-maven-plugin/src/main/java/org/apache/camel/maven/model/SpringBootGroupData.java
 
b/catalog/camel-main-maven-plugin/src/main/java/org/apache/camel/maven/model/SpringBootGroupData.java
index 9ecf8f3..57794a8 100644
--- 
a/catalog/camel-main-maven-plugin/src/main/java/org/apache/camel/maven/model/SpringBootGroupData.java
+++ 
b/catalog/camel-main-maven-plugin/src/main/java/org/apache/camel/maven/model/SpringBootGroupData.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.maven.model;
 
+import java.util.Objects;
+
 public final class SpringBootGroupData {
 
     private String name;
@@ -51,4 +53,21 @@ public final class SpringBootGroupData {
     public void setSourceType(String sourceType) {
         this.sourceType = sourceType;
     }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
+        SpringBootGroupData that = (SpringBootGroupData) o;
+        return name.equals(that.name);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(name);
+    }
 }
diff --git 
a/examples/camel-example-main-artemis/src/main/resources/META-INF/spring-configuration-metadata.json
 
b/examples/camel-example-main-artemis/src/main/resources/META-INF/spring-configuration-metadata.json
index 7a3f173..ba64ce0 100644
--- 
a/examples/camel-example-main-artemis/src/main/resources/META-INF/spring-configuration-metadata.json
+++ 
b/examples/camel-example-main-artemis/src/main/resources/META-INF/spring-configuration-metadata.json
@@ -21,21 +21,6 @@
                        
"sourceType":"org.apache.camel.component.bean.BeanComponent"
                },
                {
-                       "name":"camel.component.bean",
-                       "description":"The bean component is for invoking Java 
beans from Camel.",
-                       
"sourceType":"org.apache.camel.component.bean.BeanComponent"
-               },
-               {
-                       "name":"camel.component.bean",
-                       "description":"The bean component is for invoking Java 
beans from Camel.",
-                       
"sourceType":"org.apache.camel.component.bean.BeanComponent"
-               },
-               {
-                       "name":"camel.component.browse",
-                       "description":"The browse component is used for viewing 
the messages received on endpoints that supports BrowsableEndpoint.",
-                       
"sourceType":"org.apache.camel.component.browse.BrowseComponent"
-               },
-               {
                        "name":"camel.component.browse",
                        "description":"The browse component is used for viewing 
the messages received on endpoints that supports BrowsableEndpoint.",
                        
"sourceType":"org.apache.camel.component.browse.BrowseComponent"
@@ -46,21 +31,6 @@
                        
"sourceType":"org.apache.camel.component.beanclass.ClassComponent"
                },
                {
-                       "name":"camel.component.class",
-                       "description":"The class component is for invoking Java 
classes (Java beans) from Camel.",
-                       
"sourceType":"org.apache.camel.component.beanclass.ClassComponent"
-               },
-               {
-                       "name":"camel.component.class",
-                       "description":"The class component is for invoking Java 
classes (Java beans) from Camel.",
-                       
"sourceType":"org.apache.camel.component.beanclass.ClassComponent"
-               },
-               {
-                       "name":"camel.component.controlbus",
-                       "description":"The controlbus component provides easy 
management of Camel applications based on the Control Bus EIP pattern.",
-                       
"sourceType":"org.apache.camel.component.controlbus.ControlBusComponent"
-               },
-               {
                        "name":"camel.component.controlbus",
                        "description":"The controlbus component provides easy 
management of Camel applications based on the Control Bus EIP pattern.",
                        
"sourceType":"org.apache.camel.component.controlbus.ControlBusComponent"
@@ -71,16 +41,6 @@
                        
"sourceType":"org.apache.camel.component.dataformat.DataFormatComponent"
                },
                {
-                       "name":"camel.component.dataformat",
-                       "description":"The dataformat component is used for 
working with Data Formats as if it was a regular Component supporting Endpoints 
and URIs.",
-                       
"sourceType":"org.apache.camel.component.dataformat.DataFormatComponent"
-               },
-               {
-                       "name":"camel.component.dataset",
-                       "description":"The dataset component provides a 
mechanism to easily perform load & soak testing of your system.",
-                       
"sourceType":"org.apache.camel.component.dataset.DataSetComponent"
-               },
-               {
                        "name":"camel.component.dataset",
                        "description":"The dataset component provides a 
mechanism to easily perform load & soak testing of your system.",
                        
"sourceType":"org.apache.camel.component.dataset.DataSetComponent"
@@ -91,26 +51,6 @@
                        
"sourceType":"org.apache.camel.component.dataset.DataSetTestComponent"
                },
                {
-                       "name":"camel.component.dataset-test",
-                       "description":"The dataset-test component extends the 
mock component by on startup to pull messages from another endpoint to set the 
expected message bodies.",
-                       
"sourceType":"org.apache.camel.component.dataset.DataSetTestComponent"
-               },
-               {
-                       "name":"camel.component.direct",
-                       "description":"The direct component provides direct, 
synchronous call to another endpoint from the same CamelContext.",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent"
-               },
-               {
-                       "name":"camel.component.direct",
-                       "description":"The direct component provides direct, 
synchronous call to another endpoint from the same CamelContext.",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent"
-               },
-               {
-                       "name":"camel.component.direct",
-                       "description":"The direct component provides direct, 
synchronous call to another endpoint from the same CamelContext.",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent"
-               },
-               {
                        "name":"camel.component.direct",
                        "description":"The direct component provides direct, 
synchronous call to another endpoint from the same CamelContext.",
                        
"sourceType":"org.apache.camel.component.direct.DirectComponent"
@@ -121,36 +61,6 @@
                        
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
                },
                {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.file",
-                       "description":"The file component is used for reading 
or writing files.",
-                       
"sourceType":"org.apache.camel.component.file.FileComponent"
-               },
-               {
                        "name":"camel.component.file",
                        "description":"The file component is used for reading 
or writing files.",
                        
"sourceType":"org.apache.camel.component.file.FileComponent"
@@ -161,809 +71,79 @@
                        
"sourceType":"org.apache.camel.component.jms.JmsComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.language",
+                       "description":"The language component allows you to 
send a message to an endpoint which executes a script by any of the supported 
Languages in Camel.",
+                       
"sourceType":"org.apache.camel.component.language.LanguageComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.log",
+                       "description":"The log component logs message exchanges 
to the underlying logging mechanism.",
+                       
"sourceType":"org.apache.camel.component.log.LogComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.mock",
+                       "description":"The mock component is used for testing 
routes and mediation rules using mocks.",
+                       
"sourceType":"org.apache.camel.component.mock.MockComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.properties",
+                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
+                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.quartz2",
+                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
+                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.ref",
+                       "description":"The ref component is used for lookup of 
existing endpoints bound in the Registry.",
+                       
"sourceType":"org.apache.camel.component.ref.RefComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.rest",
+                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
+                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.rest-api",
+                       "description":"The rest-api component is used for 
providing Swagger API of the REST services which has been defined using the 
rest-dsl in Camel.",
+                       
"sourceType":"org.apache.camel.component.rest.RestApiComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.saga",
+                       "description":"The saga component provides access to 
advanced options for managing the flow in the Saga EIP.",
+                       
"sourceType":"org.apache.camel.component.saga.SagaComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.scheduler",
+                       "description":"The scheduler component is used for 
generating message exchanges when a scheduler fires.",
+                       
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.seda",
+                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
+                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.spring-event",
+                       "description":"The spring-event component allows to 
listen for Spring Application Events.",
+                       
"sourceType":"org.apache.camel.component.event.EventComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.stub",
+                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
+                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
+                       "name":"camel.component.timer",
+                       "description":"The timer component is used for 
generating message exchanges when a timer fires.",
+                       
"sourceType":"org.apache.camel.component.timer.TimerComponent"
                },
                {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.jms",
-                       "description":"The jms component allows messages to be 
sent to (or consumed from) a JMS Queue or Topic.",
-                       
"sourceType":"org.apache.camel.component.jms.JmsComponent"
-               },
-               {
-                       "name":"camel.component.language",
-                       "description":"The language component allows you to 
send a message to an endpoint which executes a script by any of the supported 
Languages in Camel.",
-                       
"sourceType":"org.apache.camel.component.language.LanguageComponent"
-               },
-               {
-                       "name":"camel.component.language",
-                       "description":"The language component allows you to 
send a message to an endpoint which executes a script by any of the supported 
Languages in Camel.",
-                       
"sourceType":"org.apache.camel.component.language.LanguageComponent"
-               },
-               {
-                       "name":"camel.component.log",
-                       "description":"The log component logs message exchanges 
to the underlying logging mechanism.",
-                       
"sourceType":"org.apache.camel.component.log.LogComponent"
-               },
-               {
-                       "name":"camel.component.log",
-                       "description":"The log component logs message exchanges 
to the underlying logging mechanism.",
-                       
"sourceType":"org.apache.camel.component.log.LogComponent"
-               },
-               {
-                       "name":"camel.component.log",
-                       "description":"The log component logs message exchanges 
to the underlying logging mechanism.",
-                       
"sourceType":"org.apache.camel.component.log.LogComponent"
-               },
-               {
-                       "name":"camel.component.mock",
-                       "description":"The mock component is used for testing 
routes and mediation rules using mocks.",
-                       
"sourceType":"org.apache.camel.component.mock.MockComponent"
-               },
-               {
-                       "name":"camel.component.mock",
-                       "description":"The mock component is used for testing 
routes and mediation rules using mocks.",
-                       
"sourceType":"org.apache.camel.component.mock.MockComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.ref",
-                       "description":"The ref component is used for lookup of 
existing endpoints bound in the Registry.",
-                       
"sourceType":"org.apache.camel.component.ref.RefComponent"
-               },
-               {
-                       "name":"camel.component.ref",
-                       "description":"The ref component is used for lookup of 
existing endpoints bound in the Registry.",
-                       
"sourceType":"org.apache.camel.component.ref.RefComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest-api",
-                       "description":"The rest-api component is used for 
providing Swagger API of the REST services which has been defined using the 
rest-dsl in Camel.",
-                       
"sourceType":"org.apache.camel.component.rest.RestApiComponent"
-               },
-               {
-                       "name":"camel.component.rest-api",
-                       "description":"The rest-api component is used for 
providing Swagger API of the REST services which has been defined using the 
rest-dsl in Camel.",
-                       
"sourceType":"org.apache.camel.component.rest.RestApiComponent"
-               },
-               {
-                       "name":"camel.component.saga",
-                       "description":"The saga component provides access to 
advanced options for managing the flow in the Saga EIP.",
-                       
"sourceType":"org.apache.camel.component.saga.SagaComponent"
-               },
-               {
-                       "name":"camel.component.saga",
-                       "description":"The saga component provides access to 
advanced options for managing the flow in the Saga EIP.",
-                       
"sourceType":"org.apache.camel.component.saga.SagaComponent"
-               },
-               {
-                       "name":"camel.component.scheduler",
-                       "description":"The scheduler component is used for 
generating message exchanges when a scheduler fires.",
-                       
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent"
-               },
-               {
-                       "name":"camel.component.scheduler",
-                       "description":"The scheduler component is used for 
generating message exchanges when a scheduler fires.",
-                       
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent"
-               },
-               {
-                       "name":"camel.component.scheduler",
-                       "description":"The scheduler component is used for 
generating message exchanges when a scheduler fires.",
-                       
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.spring-event",
-                       "description":"The spring-event component allows to 
listen for Spring Application Events.",
-                       
"sourceType":"org.apache.camel.component.event.EventComponent"
-               },
-               {
-                       "name":"camel.component.spring-event",
-                       "description":"The spring-event component allows to 
listen for Spring Application Events.",
-                       
"sourceType":"org.apache.camel.component.event.EventComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.timer",
-                       "description":"The timer component is used for 
generating message exchanges when a timer fires.",
-                       
"sourceType":"org.apache.camel.component.timer.TimerComponent"
-               },
-               {
-                       "name":"camel.component.timer",
-                       "description":"The timer component is used for 
generating message exchanges when a timer fires.",
-                       
"sourceType":"org.apache.camel.component.timer.TimerComponent"
-               },
-               {
-                       "name":"camel.component.validator",
-                       "description":"Validates the payload of a message using 
XML Schema and JAXP Validation.",
-                       
"sourceType":"org.apache.camel.component.validator.ValidatorComponent"
-               },
-               {
-                       "name":"camel.component.validator",
-                       "description":"Validates the payload of a message using 
XML Schema and JAXP Validation.",
-                       
"sourceType":"org.apache.camel.component.validator.ValidatorComponent"
-               },
-               {
-                       "name":"camel.component.validator",
-                       "description":"Validates the payload of a message using 
XML Schema and JAXP Validation.",
-                       
"sourceType":"org.apache.camel.component.validator.ValidatorComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
+                       "name":"camel.component.validator",
+                       "description":"Validates the payload of a message using 
XML Schema and JAXP Validation.",
+                       
"sourceType":"org.apache.camel.component.validator.ValidatorComponent"
                },
                {
                        "name":"camel.component.vm",
@@ -974,46 +154,6 @@
                        "name":"camel.component.xslt",
                        "description":"Transforms the message using a XSLT 
template.",
                        
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
                }
        ],
        "properties":[
diff --git 
a/examples/camel-example-main/src/main/resources/META-INF/spring-configuration-metadata.json
 
b/examples/camel-example-main/src/main/resources/META-INF/spring-configuration-metadata.json
index 7e338cb..5340af6 100644
--- 
a/examples/camel-example-main/src/main/resources/META-INF/spring-configuration-metadata.json
+++ 
b/examples/camel-example-main/src/main/resources/META-INF/spring-configuration-metadata.json
@@ -21,21 +21,6 @@
                        
"sourceType":"org.apache.camel.component.bean.BeanComponent"
                },
                {
-                       "name":"camel.component.bean",
-                       "description":"The bean component is for invoking Java 
beans from Camel.",
-                       
"sourceType":"org.apache.camel.component.bean.BeanComponent"
-               },
-               {
-                       "name":"camel.component.bean",
-                       "description":"The bean component is for invoking Java 
beans from Camel.",
-                       
"sourceType":"org.apache.camel.component.bean.BeanComponent"
-               },
-               {
-                       "name":"camel.component.browse",
-                       "description":"The browse component is used for viewing 
the messages received on endpoints that supports BrowsableEndpoint.",
-                       
"sourceType":"org.apache.camel.component.browse.BrowseComponent"
-               },
-               {
                        "name":"camel.component.browse",
                        "description":"The browse component is used for viewing 
the messages received on endpoints that supports BrowsableEndpoint.",
                        
"sourceType":"org.apache.camel.component.browse.BrowseComponent"
@@ -46,21 +31,6 @@
                        
"sourceType":"org.apache.camel.component.beanclass.ClassComponent"
                },
                {
-                       "name":"camel.component.class",
-                       "description":"The class component is for invoking Java 
classes (Java beans) from Camel.",
-                       
"sourceType":"org.apache.camel.component.beanclass.ClassComponent"
-               },
-               {
-                       "name":"camel.component.class",
-                       "description":"The class component is for invoking Java 
classes (Java beans) from Camel.",
-                       
"sourceType":"org.apache.camel.component.beanclass.ClassComponent"
-               },
-               {
-                       "name":"camel.component.controlbus",
-                       "description":"The controlbus component provides easy 
management of Camel applications based on the Control Bus EIP pattern.",
-                       
"sourceType":"org.apache.camel.component.controlbus.ControlBusComponent"
-               },
-               {
                        "name":"camel.component.controlbus",
                        "description":"The controlbus component provides easy 
management of Camel applications based on the Control Bus EIP pattern.",
                        
"sourceType":"org.apache.camel.component.controlbus.ControlBusComponent"
@@ -71,16 +41,6 @@
                        
"sourceType":"org.apache.camel.component.dataformat.DataFormatComponent"
                },
                {
-                       "name":"camel.component.dataformat",
-                       "description":"The dataformat component is used for 
working with Data Formats as if it was a regular Component supporting Endpoints 
and URIs.",
-                       
"sourceType":"org.apache.camel.component.dataformat.DataFormatComponent"
-               },
-               {
-                       "name":"camel.component.dataset",
-                       "description":"The dataset component provides a 
mechanism to easily perform load & soak testing of your system.",
-                       
"sourceType":"org.apache.camel.component.dataset.DataSetComponent"
-               },
-               {
                        "name":"camel.component.dataset",
                        "description":"The dataset component provides a 
mechanism to easily perform load & soak testing of your system.",
                        
"sourceType":"org.apache.camel.component.dataset.DataSetComponent"
@@ -91,26 +51,6 @@
                        
"sourceType":"org.apache.camel.component.dataset.DataSetTestComponent"
                },
                {
-                       "name":"camel.component.dataset-test",
-                       "description":"The dataset-test component extends the 
mock component by on startup to pull messages from another endpoint to set the 
expected message bodies.",
-                       
"sourceType":"org.apache.camel.component.dataset.DataSetTestComponent"
-               },
-               {
-                       "name":"camel.component.direct",
-                       "description":"The direct component provides direct, 
synchronous call to another endpoint from the same CamelContext.",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent"
-               },
-               {
-                       "name":"camel.component.direct",
-                       "description":"The direct component provides direct, 
synchronous call to another endpoint from the same CamelContext.",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent"
-               },
-               {
-                       "name":"camel.component.direct",
-                       "description":"The direct component provides direct, 
synchronous call to another endpoint from the same CamelContext.",
-                       
"sourceType":"org.apache.camel.component.direct.DirectComponent"
-               },
-               {
                        "name":"camel.component.direct",
                        "description":"The direct component provides direct, 
synchronous call to another endpoint from the same CamelContext.",
                        
"sourceType":"org.apache.camel.component.direct.DirectComponent"
@@ -121,46 +61,11 @@
                        
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
                },
                {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
-                       "name":"camel.component.direct-vm",
-                       "description":"The direct-vm component provides direct, 
synchronous call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.directvm.DirectVmComponent"
-               },
-               {
                        "name":"camel.component.file",
                        "description":"The file component is used for reading 
or writing files.",
                        
"sourceType":"org.apache.camel.component.file.FileComponent"
                },
                {
-                       "name":"camel.component.file",
-                       "description":"The file component is used for reading 
or writing files.",
-                       
"sourceType":"org.apache.camel.component.file.FileComponent"
-               },
-               {
-                       "name":"camel.component.language",
-                       "description":"The language component allows you to 
send a message to an endpoint which executes a script by any of the supported 
Languages in Camel.",
-                       
"sourceType":"org.apache.camel.component.language.LanguageComponent"
-               },
-               {
                        "name":"camel.component.language",
                        "description":"The language component allows you to 
send a message to an endpoint which executes a script by any of the supported 
Languages in Camel.",
                        
"sourceType":"org.apache.camel.component.language.LanguageComponent"
@@ -171,21 +76,6 @@
                        
"sourceType":"org.apache.camel.component.log.LogComponent"
                },
                {
-                       "name":"camel.component.log",
-                       "description":"The log component logs message exchanges 
to the underlying logging mechanism.",
-                       
"sourceType":"org.apache.camel.component.log.LogComponent"
-               },
-               {
-                       "name":"camel.component.log",
-                       "description":"The log component logs message exchanges 
to the underlying logging mechanism.",
-                       
"sourceType":"org.apache.camel.component.log.LogComponent"
-               },
-               {
-                       "name":"camel.component.mock",
-                       "description":"The mock component is used for testing 
routes and mediation rules using mocks.",
-                       
"sourceType":"org.apache.camel.component.mock.MockComponent"
-               },
-               {
                        "name":"camel.component.mock",
                        "description":"The mock component is used for testing 
routes and mediation rules using mocks.",
                        
"sourceType":"org.apache.camel.component.mock.MockComponent"
@@ -196,151 +86,6 @@
                        
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
                },
                {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.properties",
-                       "description":"The properties component is used for 
using property placeholders in endpoint uris.",
-                       
"sourceType":"org.apache.camel.component.properties.PropertiesComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
-                       "name":"camel.component.quartz2",
-                       "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
-                       
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
-               },
-               {
                        "name":"camel.component.quartz2",
                        "description":"Provides a scheduled delivery of 
messages using the Quartz 2.x scheduler.",
                        
"sourceType":"org.apache.camel.component.quartz2.QuartzComponent"
@@ -351,41 +96,6 @@
                        
"sourceType":"org.apache.camel.component.ref.RefComponent"
                },
                {
-                       "name":"camel.component.ref",
-                       "description":"The ref component is used for lookup of 
existing endpoints bound in the Registry.",
-                       
"sourceType":"org.apache.camel.component.ref.RefComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
-                       "name":"camel.component.rest",
-                       "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
-                       
"sourceType":"org.apache.camel.component.rest.RestComponent"
-               },
-               {
                        "name":"camel.component.rest",
                        "description":"The rest component is used for either 
hosting REST services (consumer) or calling external REST services (producer).",
                        
"sourceType":"org.apache.camel.component.rest.RestComponent"
@@ -396,16 +106,6 @@
                        
"sourceType":"org.apache.camel.component.rest.RestApiComponent"
                },
                {
-                       "name":"camel.component.rest-api",
-                       "description":"The rest-api component is used for 
providing Swagger API of the REST services which has been defined using the 
rest-dsl in Camel.",
-                       
"sourceType":"org.apache.camel.component.rest.RestApiComponent"
-               },
-               {
-                       "name":"camel.component.saga",
-                       "description":"The saga component provides access to 
advanced options for managing the flow in the Saga EIP.",
-                       
"sourceType":"org.apache.camel.component.saga.SagaComponent"
-               },
-               {
                        "name":"camel.component.saga",
                        "description":"The saga component provides access to 
advanced options for managing the flow in the Saga EIP.",
                        
"sourceType":"org.apache.camel.component.saga.SagaComponent"
@@ -416,46 +116,6 @@
                        
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent"
                },
                {
-                       "name":"camel.component.scheduler",
-                       "description":"The scheduler component is used for 
generating message exchanges when a scheduler fires.",
-                       
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent"
-               },
-               {
-                       "name":"camel.component.scheduler",
-                       "description":"The scheduler component is used for 
generating message exchanges when a scheduler fires.",
-                       
"sourceType":"org.apache.camel.component.scheduler.SchedulerComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
-                       "name":"camel.component.seda",
-                       "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
-                       
"sourceType":"org.apache.camel.component.seda.SedaComponent"
-               },
-               {
                        "name":"camel.component.seda",
                        "description":"The seda component provides asynchronous 
call to another endpoint from any CamelContext in the same JVM.",
                        
"sourceType":"org.apache.camel.component.seda.SedaComponent"
@@ -466,56 +126,11 @@
                        
"sourceType":"org.apache.camel.component.stub.StubComponent"
                },
                {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
-                       "name":"camel.component.stub",
-                       "description":"The stub component provides a simple way 
to stub out any physical endpoints while in development or testing.",
-                       
"sourceType":"org.apache.camel.component.stub.StubComponent"
-               },
-               {
                        "name":"camel.component.timer",
                        "description":"The timer component is used for 
generating message exchanges when a timer fires.",
                        
"sourceType":"org.apache.camel.component.timer.TimerComponent"
                },
                {
-                       "name":"camel.component.timer",
-                       "description":"The timer component is used for 
generating message exchanges when a timer fires.",
-                       
"sourceType":"org.apache.camel.component.timer.TimerComponent"
-               },
-               {
-                       "name":"camel.component.validator",
-                       "description":"Validates the payload of a message using 
XML Schema and JAXP Validation.",
-                       
"sourceType":"org.apache.camel.component.validator.ValidatorComponent"
-               },
-               {
-                       "name":"camel.component.validator",
-                       "description":"Validates the payload of a message using 
XML Schema and JAXP Validation.",
-                       
"sourceType":"org.apache.camel.component.validator.ValidatorComponent"
-               },
-               {
                        "name":"camel.component.validator",
                        "description":"Validates the payload of a message using 
XML Schema and JAXP Validation.",
                        
"sourceType":"org.apache.camel.component.validator.ValidatorComponent"
@@ -526,76 +141,6 @@
                        "sourceType":"org.apache.camel.component.vm.VmComponent"
                },
                {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.vm",
-                       "description":"The vm component provides asynchronous 
call to another endpoint from the same CamelContext.",
-                       "sourceType":"org.apache.camel.component.vm.VmComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
-                       "name":"camel.component.xslt",
-                       "description":"Transforms the message using a XSLT 
template.",
-                       
"sourceType":"org.apache.camel.component.xslt.XsltComponent"
-               },
-               {
                        "name":"camel.component.xslt",
                        "description":"Transforms the message using a XSLT 
template.",
                        
"sourceType":"org.apache.camel.component.xslt.XsltComponent"

Reply via email to