CAMEL-10629: Add more details to component level options

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/1a3e4412
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/1a3e4412
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/1a3e4412

Branch: refs/heads/master
Commit: 1a3e4412f64a3e2ab1356e33998d6330bef156cf
Parents: 358f45f
Author: Claus Ibsen <davscl...@apache.org>
Authored: Wed Dec 21 14:49:58 2016 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Wed Dec 21 14:49:58 2016 +0100

----------------------------------------------------------------------
 .../springboot/HBaseComponentConfiguration.java |  2 +-
 .../springboot/JpaComponentConfiguration.java   |  2 +-
 .../MyBatisComponentConfiguration.java          |  2 +-
 .../component/facebook/FacebookComponent.java   |  2 +
 .../camel/component/flink/FlinkComponent.java   | 16 ++---
 .../camel/component/flink/FlinkEndpoint.java    |  3 -
 .../freemarker/FreemarkerComponent.java         |  2 +
 .../component/ganglia/GangliaComponent.java     |  2 +
 .../calendar/GoogleCalendarComponent.java       |  3 +
 .../google/drive/GoogleDriveComponent.java      |  3 +
 .../google/mail/GoogleMailComponent.java        |  3 +
 .../google/pubsub/GooglePubsubComponent.java    |  4 --
 .../camel/component/grape/GrapeEndpoint.groovy  |  3 +
 .../component/hazelcast/HazelcastComponent.java |  2 +
 .../camel/component/hbase/HBaseComponent.java   |  6 +-
 .../camel/http/common/HttpCommonComponent.java  |  4 ++
 .../camel/component/http/HttpComponent.java     |  4 ++
 .../camel/component/http4/HttpComponent.java    | 10 ++++
 .../camel/component/ibatis/IBatisComponent.java |  4 ++
 .../src/main/docs/influxdb-component.adoc       |  6 +-
 .../component/influxdb/InfluxDbComponent.java   | 21 +------
 .../component/influxdb/InfluxDbEndpoint.java    | 63 ++++----------------
 .../camel/component/jcache/JCacheComponent.java |  2 +-
 .../src/main/docs/jdbc-component.adoc           |  4 +-
 .../camel/component/jdbc/JdbcEndpoint.java      |  4 +-
 .../component/jetty/JettyHttpComponent.java     | 62 +++++++++----------
 .../component/jgroups/JGroupsComponent.java     |  2 +
 .../camel/component/jms/JmsComponent.java       | 11 +++-
 .../camel/component/jolt/JoltComponent.java     |  2 +
 .../camel/component/jpa/JpaComponent.java       |  6 +-
 .../camel/component/scp/ScpComponent.java       |  2 +-
 .../src/main/docs/jt400-component.adoc          |  2 +-
 .../camel/component/jt400/Jt400Component.java   |  2 +
 .../component/jt400/Jt400Configuration.java     |  6 +-
 .../camel/component/kafka/KafkaComponent.java   |  2 +
 .../component/kafka/KafkaConfiguration.java     |  6 +-
 .../component/kestrel/KestrelComponent.java     |  5 +-
 .../camel/component/lucene/LuceneComponent.java |  3 +
 .../lumberjack/LumberjackComponent.java         |  2 +
 .../camel/component/mail/MailComponent.java     |  4 ++
 .../component/metrics/MetricsComponent.java     |  2 +
 .../camel/component/mina/MinaComponent.java     |  2 +
 .../camel/component/mina2/Mina2Component.java   |  2 +
 .../camel/component/mqtt/MQTTComponent.java     |  3 +
 .../component/validator/msv/MsvComponent.java   |  2 +
 .../component/mustache/MustacheComponent.java   |  2 +
 .../src/main/docs/mybatis-component.adoc        |  3 +-
 .../component/mybatis/MyBatisComponent.java     |  3 +
 .../component/mybatis/MyBatisEndpoint.java      |  6 +-
 49 files changed, 176 insertions(+), 143 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components-starter/camel-hbase-starter/src/main/java/org/apache/camel/component/hbase/springboot/HBaseComponentConfiguration.java
----------------------------------------------------------------------
diff --git 
a/components-starter/camel-hbase-starter/src/main/java/org/apache/camel/component/hbase/springboot/HBaseComponentConfiguration.java
 
b/components-starter/camel-hbase-starter/src/main/java/org/apache/camel/component/hbase/springboot/HBaseComponentConfiguration.java
index a800e04..da720c7 100644
--- 
a/components-starter/camel-hbase-starter/src/main/java/org/apache/camel/component/hbase/springboot/HBaseComponentConfiguration.java
+++ 
b/components-starter/camel-hbase-starter/src/main/java/org/apache/camel/component/hbase/springboot/HBaseComponentConfiguration.java
@@ -37,7 +37,7 @@ public class HBaseComponentConfiguration {
      * Maximum number of references to keep for each table in the HTable pool.
      * The default value is 10.
      */
-    private Integer poolMaxSize;
+    private Integer poolMaxSize = 10;
 
     public Configuration getConfiguration() {
         return configuration;

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components-starter/camel-jpa-starter/src/main/java/org/apache/camel/component/jpa/springboot/JpaComponentConfiguration.java
----------------------------------------------------------------------
diff --git 
a/components-starter/camel-jpa-starter/src/main/java/org/apache/camel/component/jpa/springboot/JpaComponentConfiguration.java
 
b/components-starter/camel-jpa-starter/src/main/java/org/apache/camel/component/jpa/springboot/JpaComponentConfiguration.java
index 4e26964..58eb3c9 100644
--- 
a/components-starter/camel-jpa-starter/src/main/java/org/apache/camel/component/jpa/springboot/JpaComponentConfiguration.java
+++ 
b/components-starter/camel-jpa-starter/src/main/java/org/apache/camel/component/jpa/springboot/JpaComponentConfiguration.java
@@ -47,7 +47,7 @@ public class JpaComponentConfiguration {
      * also be set globally on the JpaComponent instead of having to set it on
      * all endpoints.
      */
-    private Boolean joinTransaction;
+    private Boolean joinTransaction = true;
     /**
      * Whether to use Spring's SharedEntityManager for the consumer/producer.
      * Note in most cases joinTransaction should be set to false as this is not

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components-starter/camel-mybatis-starter/src/main/java/org/apache/camel/component/mybatis/springboot/MyBatisComponentConfiguration.java
----------------------------------------------------------------------
diff --git 
a/components-starter/camel-mybatis-starter/src/main/java/org/apache/camel/component/mybatis/springboot/MyBatisComponentConfiguration.java
 
b/components-starter/camel-mybatis-starter/src/main/java/org/apache/camel/component/mybatis/springboot/MyBatisComponentConfiguration.java
index 2c37b8d..19422d8 100644
--- 
a/components-starter/camel-mybatis-starter/src/main/java/org/apache/camel/component/mybatis/springboot/MyBatisComponentConfiguration.java
+++ 
b/components-starter/camel-mybatis-starter/src/main/java/org/apache/camel/component/mybatis/springboot/MyBatisComponentConfiguration.java
@@ -38,7 +38,7 @@ public class MyBatisComponentConfiguration {
      * Location of MyBatis xml configuration file. The default value is:
      * SqlMapConfig.xml loaded from the classpath
      */
-    private String configurationUri;
+    private String configurationUri = "SqlMapConfig.xml";
 
     public SqlSessionFactory getSqlSessionFactory() {
         return sqlSessionFactory;

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java
 
b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java
index 84094d8..10af568 100644
--- 
a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java
+++ 
b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookComponent.java
@@ -24,6 +24,7 @@ import org.apache.camel.Endpoint;
 import org.apache.camel.component.facebook.config.FacebookConfiguration;
 import 
org.apache.camel.component.facebook.config.FacebookEndpointConfiguration;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.IntrospectionSupport;
 
 /**
@@ -31,6 +32,7 @@ import org.apache.camel.util.IntrospectionSupport;
  */
 public class FacebookComponent extends UriEndpointComponent {
 
+    @Metadata(label = "advanced")
     private FacebookConfiguration configuration;
 
     public FacebookComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkComponent.java
 
b/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkComponent.java
index 811ab5c..0df05e5 100644
--- 
a/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkComponent.java
+++ 
b/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkComponent.java
@@ -47,10 +47,6 @@ public class FlinkComponent extends UriEndpointComponent {
         return ds;
     }
 
-    public DataStream getDataStream() {
-        return dataStream;
-    }
-
     /**
      * DataSet to compute against.
      */
@@ -58,6 +54,10 @@ public class FlinkComponent extends UriEndpointComponent {
         this.ds = ds;
     }
 
+    public DataStream getDataStream() {
+        return dataStream;
+    }
+
     /**
      * DataStream to compute against.
      */
@@ -69,10 +69,6 @@ public class FlinkComponent extends UriEndpointComponent {
         return dataSetCallback;
     }
 
-    public DataStreamCallback getDataStreamCallback() {
-        return dataStreamCallback;
-    }
-
     /**
      * Function performing action against a DataSet.
      */
@@ -80,6 +76,10 @@ public class FlinkComponent extends UriEndpointComponent {
         this.dataSetCallback = dataSetCallback;
     }
 
+    public DataStreamCallback getDataStreamCallback() {
+        return dataStreamCallback;
+    }
+
     /**
      * Function performing action against a DataStream.
      */

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java
----------------------------------------------------------------------
diff --git 
a/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java
 
b/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java
index d5bd872..5b66f93 100644
--- 
a/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java
+++ 
b/components/camel-flink/src/main/java/org/apache/camel/component/flink/FlinkEndpoint.java
@@ -40,13 +40,10 @@ public class FlinkEndpoint extends DefaultEndpoint {
     private DataSet dataSet;
     @UriParam
     private DataSetCallback dataSetCallback;
-
     @UriParam
     private DataStream dataStream;
-
     @UriParam
     private DataStreamCallback dataStreamCallback;
-
     @UriParam(defaultValue = "true")
     private boolean collect = true;
 

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java
 
b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java
index 889e5e2..f584e39 100644
--- 
a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java
+++ 
b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerComponent.java
@@ -24,6 +24,7 @@ import freemarker.cache.URLTemplateLoader;
 import freemarker.template.Configuration;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.ResourceHelper;
 
@@ -32,6 +33,7 @@ import org.apache.camel.util.ResourceHelper;
  */
 public class FreemarkerComponent extends UriEndpointComponent {
 
+    @Metadata(label = "advanced")
     private Configuration configuration;
     private Configuration noCacheConfiguration;
 

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java
 
b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java
index fb2562f..0e2b958 100644
--- 
a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java
+++ 
b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java
@@ -21,10 +21,12 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ObjectHelper;
 
 public class GangliaComponent extends UriEndpointComponent {
 
+    @Metadata(label = "advanced")
     private GangliaConfiguration configuration;
 
     public GangliaComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
 
b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
index 84e3092..109fdf5 100644
--- 
a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
+++ 
b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarComponent.java
@@ -21,6 +21,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import 
org.apache.camel.component.google.calendar.internal.GoogleCalendarApiCollection;
 import 
org.apache.camel.component.google.calendar.internal.GoogleCalendarApiName;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.component.AbstractApiComponent;
 
 /**
@@ -28,7 +29,9 @@ import org.apache.camel.util.component.AbstractApiComponent;
  */
 public class GoogleCalendarComponent extends 
AbstractApiComponent<GoogleCalendarApiName, GoogleCalendarConfiguration, 
GoogleCalendarApiCollection> {
 
+    @Metadata(label = "advanced")
     private Calendar client;
+    @Metadata(label = "advanced")
     private GoogleCalendarClientFactory clientFactory;
 
     public GoogleCalendarComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
 
b/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
index 84dc9e2..95b2bfe 100644
--- 
a/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
+++ 
b/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveComponent.java
@@ -21,6 +21,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import 
org.apache.camel.component.google.drive.internal.GoogleDriveApiCollection;
 import org.apache.camel.component.google.drive.internal.GoogleDriveApiName;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.component.AbstractApiComponent;
 
 /**
@@ -28,7 +29,9 @@ import org.apache.camel.util.component.AbstractApiComponent;
  */
 public class GoogleDriveComponent extends 
AbstractApiComponent<GoogleDriveApiName, GoogleDriveConfiguration, 
GoogleDriveApiCollection> {
 
+    @Metadata(label = "advanced")
     private Drive client;
+    @Metadata(label = "advanced")
     private GoogleDriveClientFactory clientFactory;
     
     public GoogleDriveComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
 
b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
index 7871a51..aafc974 100644
--- 
a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
+++ 
b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailComponent.java
@@ -22,6 +22,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.google.mail.internal.GoogleMailApiCollection;
 import org.apache.camel.component.google.mail.internal.GoogleMailApiName;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.component.AbstractApiComponent;
 
 /**
@@ -29,7 +30,9 @@ import org.apache.camel.util.component.AbstractApiComponent;
  */
 public class GoogleMailComponent extends 
AbstractApiComponent<GoogleMailApiName, GoogleMailConfiguration, 
GoogleMailApiCollection> {
 
+    @Metadata(label = "advanced")
     private Gmail client;
+    @Metadata(label = "advanced")
     private GoogleMailClientFactory clientFactory;
 
     public GoogleMailComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
 
b/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
index a79c67e..bc90df1 100644
--- 
a/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
+++ 
b/components/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubComponent.java
@@ -21,9 +21,6 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 
 /**
  * Represents the component that manages {@link GooglePubsubEndpoint}.
@@ -31,7 +28,6 @@ import org.slf4j.LoggerFactory;
 public class GooglePubsubComponent extends UriEndpointComponent {
 
     private GooglePubsubConnectionFactory connectionFactory;
-    private final Logger log = LoggerFactory.getLogger(this.getClass());
 
     public GooglePubsubComponent() {
         super(GooglePubsubEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
----------------------------------------------------------------------
diff --git 
a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
 
b/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
index 4ab600f..3f15ae3 100644
--- 
a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
+++ 
b/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
@@ -21,7 +21,9 @@ import org.apache.camel.Consumer
 import org.apache.camel.Processor
 import org.apache.camel.Producer
 import org.apache.camel.impl.DefaultEndpoint
+import org.apache.camel.spi.Metadata
 import org.apache.camel.spi.UriEndpoint
+import org.apache.camel.spi.UriPath
 
 import static groovy.grape.Grape.grab
 import static 
org.apache.camel.component.grape.MavenCoordinates.parseMavenCoordinates
@@ -32,6 +34,7 @@ import static 
org.apache.camel.component.grape.MavenCoordinates.parseMavenCoordi
 @UriEndpoint(scheme = "grape", syntax = "grape:defaultCoordinates", title = 
"Grape", producerOnly = true, label = "management,deployment")
 class GrapeEndpoint extends DefaultEndpoint {
 
+    @UriPath @Metadata(required = "true")
     private final String defaultCoordinates
 
     GrapeEndpoint(String endpointUri, String defaultCoordinates, 
GrapeComponent component) {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
 
b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
index ad901a9..5feaf7d 100644
--- 
a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
+++ 
b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastComponent.java
@@ -40,6 +40,7 @@ import 
org.apache.camel.component.hazelcast.seda.HazelcastSedaEndpoint;
 import org.apache.camel.component.hazelcast.set.HazelcastSetEndpoint;
 import org.apache.camel.component.hazelcast.topic.HazelcastTopicEndpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.ResourceHelper;
 import org.slf4j.Logger;
@@ -55,6 +56,7 @@ public class HazelcastComponent extends UriEndpointComponent {
     private static final Logger LOGGER = 
LoggerFactory.getLogger(HazelcastComponent.class);
 
     private final Set<HazelcastInstance> customHazelcastInstances;
+    @Metadata(label = "advanced")
     private HazelcastInstance hazelcastInstance;
 
     public HazelcastComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseComponent.java
 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseComponent.java
index 731b288..82244a3 100644
--- 
a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseComponent.java
+++ 
b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseComponent.java
@@ -21,6 +21,7 @@ import java.util.concurrent.Executors;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.IntrospectionSupport;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
@@ -32,8 +33,11 @@ import org.apache.hadoop.hbase.client.ConnectionFactory;
  */
 public class HBaseComponent extends UriEndpointComponent {
 
-    private Configuration configuration;
     private Connection connection;
+
+    @Metadata(label = "advanced")
+    private Configuration configuration;
+    @Metadata(defaultValue = "10")
     private int poolMaxSize = 10;
 
     public HBaseComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonComponent.java
 
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonComponent.java
index 189c269..0b25b24 100644
--- 
a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonComponent.java
+++ 
b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpCommonComponent.java
@@ -17,11 +17,15 @@
 package org.apache.camel.http.common;
 
 import org.apache.camel.impl.HeaderFilterStrategyComponent;
+import org.apache.camel.spi.Metadata;
 
 public abstract class HttpCommonComponent extends 
HeaderFilterStrategyComponent {
 
+    @Metadata(label = "advanced")
     protected HttpBinding httpBinding;
+    @Metadata(label = "advanced")
     protected HttpConfiguration httpConfiguration;
+    @Metadata(label = "advanced")
     protected boolean allowJavaSerializedObject;
 
     public HttpCommonComponent(Class<? extends HttpCommonEndpoint> 
endpointClass) {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
 
b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
index c6a37b1..7082d66 100644
--- 
a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
+++ 
b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpComponent.java
@@ -33,6 +33,7 @@ import org.apache.camel.http.common.HttpConfiguration;
 import org.apache.camel.http.common.HttpRestHeaderFilterStrategy;
 import org.apache.camel.http.common.UrlRewrite;
 import org.apache.camel.spi.HeaderFilterStrategy;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.RestProducerFactory;
 import org.apache.camel.util.CollectionHelper;
 import org.apache.camel.util.FileUtil;
@@ -52,7 +53,10 @@ import 
org.apache.commons.httpclient.params.HttpConnectionManagerParams;
  * @version 
  */
 public class HttpComponent extends HttpCommonComponent implements 
RestProducerFactory {
+
+    @Metadata(label = "advanced")
     protected HttpClientConfigurer httpClientConfigurer;
+    @Metadata(label = "advanced")
     protected HttpConnectionManager httpConnectionManager;
 
     public HttpComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
 
b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
index b8468d0..632a0f0 100644
--- 
a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
+++ 
b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpComponent.java
@@ -34,6 +34,7 @@ import org.apache.camel.http.common.HttpHelper;
 import org.apache.camel.http.common.HttpRestHeaderFilterStrategy;
 import org.apache.camel.http.common.UrlRewrite;
 import org.apache.camel.spi.HeaderFilterStrategy;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.RestProducerFactory;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.IntrospectionSupport;
@@ -69,17 +70,26 @@ public class HttpComponent extends HttpCommonComponent 
implements RestProducerFa
 
     private static final Logger LOG = 
LoggerFactory.getLogger(HttpComponent.class);
 
+    @Metadata(label = "advanced")
     protected HttpClientConfigurer httpClientConfigurer;
+    @Metadata(label = "advanced")
     protected HttpClientConnectionManager clientConnectionManager;
+    @Metadata(label = "advanced")
     protected HttpContext httpContext;
+    @Metadata(label = "security")
     protected SSLContextParameters sslContextParameters;
+    @Metadata(label = "security")
     protected X509HostnameVerifier x509HostnameVerifier = new 
BrowserCompatHostnameVerifier();
+    @Metadata(label = "producer")
     protected CookieStore cookieStore;
 
     // options to the default created http connection manager
+    @Metadata(label = "advanced", defaultValue = "200")
     protected int maxTotalConnections = 200;
+    @Metadata(label = "advanced", defaultValue = "20")
     protected int connectionsPerRoute = 20;
     // It's MILLISECONDS, the default value is always keep alive
+    @Metadata(label = "advanced")
     protected long connectionTimeToLive = -1;
 
     public HttpComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisComponent.java
 
b/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisComponent.java
index 378cba0..2d93d2a 100644
--- 
a/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisComponent.java
+++ 
b/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisComponent.java
@@ -23,6 +23,7 @@ import java.util.Map;
 import com.ibatis.sqlmap.client.SqlMapClient;
 import com.ibatis.sqlmap.client.SqlMapClientBuilder;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ResourceHelper;
 
 /**
@@ -59,8 +60,11 @@ import org.apache.camel.util.ResourceHelper;
  */
 public class IBatisComponent extends UriEndpointComponent {
     private static final String DEFAULT_CONFIG_URI = 
"classpath:SqlMapConfig.xml";
+    @Metadata(label = "advanced")
     private SqlMapClient sqlMapClient;
+    @Metadata(defaultValue = DEFAULT_CONFIG_URI)
     private String sqlMapConfig = DEFAULT_CONFIG_URI;
+    @Metadata(defaultValue = "true")
     private boolean useTransactions = true;
 
     public IBatisComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-influxdb/src/main/docs/influxdb-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-influxdb/src/main/docs/influxdb-component.adoc 
b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
index a5ceea9..d82c81d 100644
--- a/components/camel-influxdb/src/main/docs/influxdb-component.adoc
+++ b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
@@ -60,9 +60,9 @@ The InfluxDB component supports 4 endpoint options which are 
listed below:
 [width="100%",cols="2,1,1m,1m,5",options="header"]
 |=======================================================================
 | Name | Group | Default | Java Type | Description
-| connectionBean | producer |  | String | *Required* Name of 
org.influxdb.InfluxDB to use.
-| databaseName | producer |  | String | Setter for databaseName
-| retentionPolicy | producer | default | String | Setter for retentionPolicy
+| connectionBean | producer |  | String | *Required* Connection to the influx 
database of class InfluxDB.class
+| databaseName | producer |  | String | The name of the database where the 
time series will be stored
+| retentionPolicy | producer | default | String | The string that defines the 
retention policy to the data created by the endpoint
 | synchronous | advanced | false | boolean | Sets whether synchronous 
processing should be strictly used or Camel is allowed to use asynchronous 
processing (if supported).
 |=======================================================================
 {% endraw %}

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
 
b/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
index 2a6e5a1..9101a3f 100644
--- 
a/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
+++ 
b/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbComponent.java
@@ -25,36 +25,17 @@ import org.influxdb.InfluxDB;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-
 public class InfluxDbComponent extends UriEndpointComponent {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(InfluxDbComponent.class);
 
-    InfluxDB influxDbConnection;
-
-
     public InfluxDbComponent() {
         super(InfluxDbEndpoint.class);
-        this.influxDbConnection = null;
     }
 
-
-
-
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Creating influx db endpoint");
-        }
-
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Looking for influxDb connection bean, remaining {}", 
remaining);
-        }
-
-        if (influxDbConnection == null) {
-            influxDbConnection = 
CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, 
InfluxDB.class);
-        }
-
+        InfluxDB influxDbConnection = 
CamelContextHelper.mandatoryLookup(getCamelContext(), remaining, 
InfluxDB.class);
         return new InfluxDbEndpoint(uri, this, influxDbConnection);
     }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java
----------------------------------------------------------------------
diff --git 
a/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java
 
b/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java
index cbac656..1300469 100644
--- 
a/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java
+++ 
b/components/camel-influxdb/src/main/java/org/apache/camel/component/influxdb/InfluxDbEndpoint.java
@@ -39,19 +39,13 @@ public class InfluxDbEndpoint extends DefaultEndpoint {
     private InfluxDB influxDB;
 
     @UriPath
-    @Metadata(required = "true", description = "Connection to the influx 
database, of class InfluxDB.class")
+    @Metadata(required = "true")
     private String connectionBean;
-
-    @UriParam(description = "the name of the series where the points will be 
created, name can be modified dynamically by headers")
+    @UriParam
     private String databaseName;
-
-    @UriParam(defaultValue = "default", description = "defines the retention 
policy for the points created in influxdb")
+    @UriParam(defaultValue = "default")
     private String retentionPolicy = "default";
 
-    /**
-     * @param uri
-     * @param influxDbComponent
-     */
     public InfluxDbEndpoint(String uri, InfluxDbComponent influxDbComponent, 
InfluxDB dbConn) {
         super(uri, influxDbComponent);
 
@@ -61,97 +55,64 @@ public class InfluxDbEndpoint extends DefaultEndpoint {
 
         this.influxDB = dbConn;
 
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Prepairing influxdb enpoint with uri {}", uri);
-        }
-
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Creating influx db producer connectionBean:{}, 
databaseName:{}, retentionPolicy:{}", connectionBean, databaseName, 
retentionPolicy);
-        }
-
+        LOG.debug("Prepairing influxdb enpoint with uri {}", uri);
+        LOG.debug("Creating influx db producer connectionBean:{}, 
databaseName:{}, retentionPolicy:{}", connectionBean, databaseName, 
retentionPolicy);
     }
 
     @Override
     public Producer createProducer() throws Exception {
-
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Creating influx db producer");
-        }
         return new InfluxDbProducer(this);
     }
 
     @Override
     public Consumer createConsumer(Processor processor) throws Exception {
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Creating influx db consumer");
-        }
         throw new UnsupportedOperationException("You cannot receive messages 
from this endpoint");
     }
 
     @Override
     public boolean isSingleton() {
-        return false;
+        return true;
     }
 
-
-
     public InfluxDB getInfluxDB() {
         return influxDB;
     }
 
+    /**
+     * The Influx DB to use
+     */
     public void setInfluxDB(InfluxDB influxDB) {
         this.influxDB = influxDB;
     }
 
-    /**
-     * Getter for databaseName
-     * 
-     * @return the name of the database where the time series will be stored
-     */
     public String getDatabaseName() {
         return databaseName;
     }
 
     /**
-     * Setter for databaseName
-     * 
-     * @param databaseName
+     * The name of the database where the time series will be stored
      */
     public void setDatabaseName(String databaseName) {
         this.databaseName = databaseName;
     }
 
-    /**
-     * Getter for retentionPolicy
-     * 
-     * @return the string that defines the retention policy to the data created
-     *         by the endpoint
-     */
     public String getRetentionPolicy() {
         return retentionPolicy;
     }
 
     /**
-     * Setter for retentionPolicy
-     * 
-     * @param retentionPolicy
+     * The string that defines the retention policy to the data created by the 
endpoint
      */
     public void setRetentionPolicy(String retentionPolicy) {
         this.retentionPolicy = retentionPolicy;
     }
 
-    /**
-     * Getter for connectionBean
-     * 
-     * @return the name of the bean for the {@link org.influxdb.InfluxDB}
-     *         connection
-     */
     public String getConnectionBean() {
         return connectionBean;
     }
 
     /**
-     * Name of {@link org.influxdb.InfluxDB} to use.
+     * Connection to the influx database, of class InfluxDB.class
      */
     public void setConnectionBean(String connectionBean) {
         this.connectionBean = connectionBean;

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
 
b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
index 8ee5052..4e76170 100644
--- 
a/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
+++ 
b/components/camel-jcache/src/main/java/org/apache/camel/component/jcache/JCacheComponent.java
@@ -26,6 +26,7 @@ import org.apache.camel.impl.UriEndpointComponent;
  * Represents the component that manages {@link JCacheEndpoint}.
  */
 public class JCacheComponent extends UriEndpointComponent {
+
     public JCacheComponent() {
         super(JCacheEndpoint.class);
     }
@@ -38,7 +39,6 @@ public class JCacheComponent extends UriEndpointComponent {
     protected Endpoint createEndpoint(String uri, String remaining, 
Map<String, Object> parameters) throws Exception {
         JCacheConfiguration configuration = new 
JCacheConfiguration(getCamelContext(), remaining);
         setProperties(configuration, parameters);
-
         return new JCacheEndpoint(uri, this, configuration);
     }
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-jdbc/src/main/docs/jdbc-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/main/docs/jdbc-component.adoc 
b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
index b052fa2..1490dde 100644
--- a/components/camel-jdbc/src/main/docs/jdbc-component.adoc
+++ b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
@@ -73,17 +73,17 @@ The JDBC component supports 14 endpoint options which are 
listed below:
 | Name | Group | Default | Java Type | Description
 | dataSourceName | producer |  | String | *Required* Name of DataSource to 
lookup in the Registry.
 | allowNamedParameters | producer | true | boolean | Whether to allow using 
named parameters in the queries.
-| beanRowMapper | producer |  | BeanRowMapper | To use a custom 
org.apache.camel.component.jdbc.BeanRowMapper when using outputClass. The 
default implementation will lower case the row names and skip underscores and 
dashes. For example CUST_ID is mapped as custId.
 | outputClass | producer |  | String | Specify the full package and class name 
to use as conversion when outputType=SelectOne or SelectList.
 | outputType | producer | SelectList | JdbcOutputType | Determines the output 
the producer should use.
 | parameters | producer |  | Map | Optional parameters to the 
java.sql.Statement. For example to set maxRows fetchSize etc.
-| prepareStatementStrategy | producer |  | JdbcPrepareStatementStrategy | 
Allows to plugin to use a custom 
org.apache.camel.component.jdbc.JdbcPrepareStatementStrategy to control 
preparation of the query and prepared statement.
 | readSize | producer |  | int | The default maximum number of rows that can 
be read by a polling query. The default value is 0.
 | resetAutoCommit | producer | true | boolean | Camel will set the autoCommit 
on the JDBC connection to be false commit the change after executed the 
statement and reset the autoCommit flag of the connection at the end if the 
resetAutoCommit is true. If the JDBC connection doesn't support to reset the 
autoCommit flag you can set the resetAutoCommit flag to be false and Camel will 
not try to reset the autoCommit flag. When used with XA transactions you most 
likely need to set it to false so that the transaction manager is in charge of 
committing this tx.
 | transacted | producer | false | boolean | Whether transactions are in use.
 | useGetBytesForBlob | producer | false | boolean | To read BLOB columns as 
bytes instead of string data. This may be needed for certain databases such as 
Oracle where you must read BLOB columns as bytes.
 | useHeadersAsParameters | producer | false | boolean | Set this option to 
true to use the prepareStatementStrategy with named parameters. This allows to 
define queries with named placeholders and use headers with the dynamic values 
for the query placeholders.
 | useJDBC4ColumnNameAndLabelSemantics | producer | true | boolean | Sets 
whether to use JDBC 4 or JDBC 3.0 or older semantic when retrieving column 
name. JDBC 4.0 uses columnLabel to get the column name where as JDBC 3.0 uses 
both columnName or columnLabel. Unfortunately JDBC drivers behave differently 
so you can use this option to work out issues around your JDBC driver if you 
get problem using this component This option is default true.
+| beanRowMapper | advanced |  | BeanRowMapper | To use a custom 
org.apache.camel.component.jdbc.BeanRowMapper when using outputClass. The 
default implementation will lower case the row names and skip underscores and 
dashes. For example CUST_ID is mapped as custId.
+| prepareStatementStrategy | advanced |  | JdbcPrepareStatementStrategy | 
Allows to plugin to use a custom 
org.apache.camel.component.jdbc.JdbcPrepareStatementStrategy to control 
preparation of the query and prepared statement.
 | synchronous | advanced | false | boolean | Sets whether synchronous 
processing should be strictly used or Camel is allowed to use asynchronous 
processing (if supported).
 |=======================================================================
 {% endraw %}

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java
 
b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java
index 6144e8a..ae1d1ab 100755
--- 
a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java
+++ 
b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java
@@ -52,7 +52,7 @@ public class JdbcEndpoint extends DefaultEndpoint {
     private boolean useJDBC4ColumnNameAndLabelSemantics = true;
     @UriParam
     private boolean useGetBytesForBlob;
-    @UriParam
+    @UriParam(label = "advanced")
     private JdbcPrepareStatementStrategy prepareStatementStrategy = new 
DefaultJdbcPrepareStatementStrategy();
     @UriParam(defaultValue = "true")
     private boolean allowNamedParameters = true;
@@ -62,7 +62,7 @@ public class JdbcEndpoint extends DefaultEndpoint {
     private JdbcOutputType outputType = JdbcOutputType.SelectList;
     @UriParam
     private String outputClass;
-    @UriParam
+    @UriParam(label = "advanced")
     private BeanRowMapper beanRowMapper = new DefaultBeanRowMapper();
 
     public JdbcEndpoint() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
 
b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
index 260e2bb..a9fc5e2 100644
--- 
a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
+++ 
b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
@@ -492,7 +492,8 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
      * The key password, which is used to access the certificate's key entry 
in the keystore (this is the same password that is supplied to the keystore 
command's -keypass option).
      */
     @Metadata(description = "The key password, which is used to access the 
certificate's key entry in the keystore "
-            + "(this is the same password that is supplied to the keystore 
command's -keypass option).")
+            + "(this is the same password that is supplied to the keystore 
command's -keypass option).",
+            label = "security", secret = true)
     public void setSslKeyPassword(String sslKeyPassword) {
         this.sslKeyPassword = sslKeyPassword;
     }
@@ -504,7 +505,8 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * The ssl password, which is required to access the keystore file (this 
is the same password that is supplied to the keystore command's -storepass 
option).
      */
-    @Metadata(description = "The ssl password, which is required to access the 
keystore file (this is the same password that is supplied to the keystore 
command's -storepass option).")
+    @Metadata(description = "The ssl password, which is required to access the 
keystore file (this is the same password that is supplied to the keystore 
command's -storepass option).",
+            label = "security", secret = true)
     public void setSslPassword(String sslPassword) {
         this.sslPassword = sslPassword;
     }
@@ -512,7 +514,8 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * Specifies the location of the Java keystore file, which contains the 
Jetty server's own X.509 certificate in a key entry.
      */
-    @Metadata(description = "Specifies the location of the Java keystore file, 
which contains the Jetty server's own X.509 certificate in a key entry.")
+    @Metadata(description = "Specifies the location of the Java keystore file, 
which contains the Jetty server's own X.509 certificate in a key entry.",
+            label = "security", secret = true)
     public void setKeystore(String sslKeystore) {
         this.sslKeystore = sslKeystore;
     }
@@ -528,7 +531,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * This option is used to set the ErrorHandler that Jetty server uses.
      */
-    @Metadata(description = "This option is used to set the ErrorHandler that 
Jetty server uses.")
+    @Metadata(description = "This option is used to set the ErrorHandler that 
Jetty server uses.", label = "advanced")
     public void setErrorHandler(ErrorHandler errorHandler) {
         this.errorHandler = errorHandler;
     }
@@ -641,7 +644,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * A map which contains per port number specific SSL connectors.
      */
-    @Metadata(description = "A map which contains per port number specific SSL 
connectors.")
+    @Metadata(description = "A map which contains per port number specific SSL 
connectors.", label = "security")
     public void setSslSocketConnectors(Map <Integer, Connector> connectors) {
         sslSocketConnectors = connectors;
     }
@@ -649,7 +652,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * A map which contains per port number specific HTTP connectors. Uses the 
same principle as sslSocketConnectors.
      */
-    @Metadata(description = "A map which contains per port number specific 
HTTP connectors. Uses the same principle as sslSocketConnectors.")
+    @Metadata(description = "A map which contains per port number specific 
HTTP connectors. Uses the same principle as sslSocketConnectors.", label = 
"security")
     public void setSocketConnectors(Map<Integer, Connector> socketConnectors) {
         this.socketConnectors = socketConnectors;
     }
@@ -739,7 +742,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * To set a value for minimum number of threads in HttpClient thread pool. 
Notice that both a min and max size must be configured.
      */
-    @Metadata(description = "To set a value for minimum number of threads in 
HttpClient thread pool. Notice that both a min and max size must be 
configured.")
+    @Metadata(description = "To set a value for minimum number of threads in 
HttpClient thread pool. Notice that both a min and max size must be 
configured.", label = "producer")
     public void setHttpClientMinThreads(Integer httpClientMinThreads) {
         this.httpClientMinThreads = httpClientMinThreads;
     }
@@ -751,7 +754,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * To set a value for maximum number of threads in HttpClient thread pool. 
Notice that both a min and max size must be configured.
      */
-    @Metadata(description = "To set a value for maximum number of threads in 
HttpClient thread pool. Notice that both a min and max size must be 
configured.")
+    @Metadata(description = "To set a value for maximum number of threads in 
HttpClient thread pool. Notice that both a min and max size must be 
configured.", label = "producer")
     public void setHttpClientMaxThreads(Integer httpClientMaxThreads) {
         this.httpClientMaxThreads = httpClientMaxThreads;
     }
@@ -763,7 +766,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * To set a value for minimum number of threads in server thread pool. 
Notice that both a min and max size must be configured.
      */
-    @Metadata(description = "To set a value for minimum number of threads in 
server thread pool. Notice that both a min and max size must be configured.")
+    @Metadata(description = "To set a value for minimum number of threads in 
server thread pool. Notice that both a min and max size must be configured.", 
label = "consumer")
     public void setMinThreads(Integer minThreads) {
         this.minThreads = minThreads;
     }
@@ -775,7 +778,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * To set a value for maximum number of threads in server thread pool. 
Notice that both a min and max size must be configured.
      */
-    @Metadata(description = "To set a value for maximum number of threads in 
server thread pool. Notice that both a min and max size must be configured.")
+    @Metadata(description = "To set a value for maximum number of threads in 
server thread pool. Notice that both a min and max size must be configured.", 
label = "consumer")
     public void setMaxThreads(Integer maxThreads) {
         this.maxThreads = maxThreads;
     }
@@ -787,7 +790,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * To use a custom thread pool for the server. This option should only be 
used in special circumstances.
      */
-    @Metadata(description = "To use a custom thread pool for the server. This 
option should only be used in special circumstances.")
+    @Metadata(description = "To use a custom thread pool for the server. This 
option should only be used in special circumstances.", label = 
"consumer,advanced")
     public void setThreadPool(ThreadPool threadPool) {
         this.threadPool = threadPool;
     }
@@ -811,7 +814,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * To use a custom org.apache.camel.component.jetty.JettyHttpBinding, 
which are used to customize how a response should be written for the producer.
      */
-    @Metadata(description = "To use a custom 
org.apache.camel.component.jetty.JettyHttpBinding, which are used to customize 
how a response should be written for the producer.")
+    @Metadata(description = "To use a custom 
org.apache.camel.component.jetty.JettyHttpBinding, which are used to customize 
how a response should be written for the producer.", label = "advanced")
     public void setJettyHttpBinding(JettyHttpBinding jettyHttpBinding) {
         this.jettyHttpBinding = jettyHttpBinding;
     }
@@ -820,7 +823,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
      * Not to be used - use JettyHttpBinding instead.
      */
     @Override
-    @Metadata(description = "Not to be used - use JettyHttpBinding instead.")
+    @Metadata(description = "Not to be used - use JettyHttpBinding instead.", 
label = "advanced")
     public void setHttpBinding(HttpBinding httpBinding) {
         throw new IllegalArgumentException("Not to be used - use 
JettyHttpBinding instead.");
     }
@@ -829,7 +832,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
      * Jetty component does not use HttpConfiguration.
      */
     @Override
-    @Metadata(description = "Jetty component does not use HttpConfiguration.")
+    @Metadata(description = "Jetty component does not use HttpConfiguration.", 
label = "advanced")
     public void setHttpConfiguration(HttpConfiguration httpConfiguration) {
         throw new IllegalArgumentException("Jetty component does not use 
HttpConfiguration.");
     }
@@ -859,7 +862,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * To use a existing configured org.eclipse.jetty.jmx.MBeanContainer if 
JMX is enabled that Jetty uses for registering mbeans.
      */
-    @Metadata(description = "To use a existing configured 
org.eclipse.jetty.jmx.MBeanContainer if JMX is enabled that Jetty uses for 
registering mbeans.")
+    @Metadata(description = "To use a existing configured 
org.eclipse.jetty.jmx.MBeanContainer if JMX is enabled that Jetty uses for 
registering mbeans.", label = "advanced")
     public void setMbContainer(MBeanContainer mbContainer) {
         this.mbContainer = mbContainer;
     }
@@ -871,7 +874,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * A map which contains general SSL connector properties.
      */
-    @Metadata(description = "A map which contains general SSL connector 
properties.")
+    @Metadata(description = "A map which contains general SSL connector 
properties.", label = "security")
     public void setSslSocketConnectorProperties(Map<String, Object> 
sslSocketConnectorProperties) {
         this.sslSocketConnectorProperties = sslSocketConnectorProperties;
     }
@@ -883,7 +886,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * A map which contains general HTTP connector properties. Uses the same 
principle as sslSocketConnectorProperties.
      */
-    @Metadata(description = "A map which contains general HTTP connector 
properties. Uses the same principle as sslSocketConnectorProperties.")
+    @Metadata(description = "A map which contains general HTTP connector 
properties. Uses the same principle as sslSocketConnectorProperties.", label = 
"security")
     public void setSocketConnectorProperties(Map<String, Object> 
socketConnectorProperties) {
         this.socketConnectorProperties = socketConnectorProperties;
     }
@@ -915,7 +918,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     @Metadata(description = "Allows to set a timeout in millis when using 
Jetty as consumer (server)."
             + " By default Jetty uses 30000. You can use a value of <= 0 to 
never expire."
             + " If a timeout occurs then the request will be expired and Jetty 
will return back a http error 503 to the client."
-            + " This option is only in use when using Jetty with the 
Asynchronous Routing Engine.")
+            + " This option is only in use when using Jetty with the 
Asynchronous Routing Engine.", defaultValue = "30000", label = "consumer")
     public void setContinuationTimeout(Long continuationTimeout) {
         this.continuationTimeout = continuationTimeout;
     }
@@ -927,7 +930,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * Whether or not to use Jetty continuations for the Jetty Server.
      */
-    @Metadata(description = "Whether or not to use Jetty continuations for the 
Jetty Server.")
+    @Metadata(description = "Whether or not to use Jetty continuations for the 
Jetty Server.", defaultValue = "true", label = "consumer")
     public void setUseContinuation(boolean useContinuation) {
         this.useContinuation = useContinuation;
     }
@@ -939,7 +942,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * To configure security using SSLContextParameters
      */
-    @Metadata(description = "To configure security using SSLContextParameters")
+    @Metadata(description = "To configure security using 
SSLContextParameters", label = "security")
     public void setSslContextParameters(SSLContextParameters 
sslContextParameters) {
         this.sslContextParameters = sslContextParameters;
     }
@@ -999,7 +1002,7 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * To use a http proxy to configure the hostname.
      */
-    @Metadata(description = "To use a http proxy to configure the hostname.")
+    @Metadata(description = "To use a http proxy to configure the hostname.", 
label = "proxy")
     public void setProxyHost(String proxyHost) {
         this.proxyHost = proxyHost;
     }
@@ -1011,19 +1014,11 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
     /**
      * To use a http proxy to configure the port number.
      */
-    @Metadata(description = "To use a http proxy to configure the port 
number.")
+    @Metadata(description = "To use a http proxy to configure the port 
number.", label = "proxy")
     public void setProxyPort(Integer proxyPort) {
         this.proxyPort = proxyPort;
     }
 
-    public boolean isSendServerVersion() {
-        return sendServerVersion;
-    }
-    
-    /**
-     * To use the X-Forwarded-For header in HttpServletRequest.getRemoteAddr.
-     */
-    @Metadata(description = "To use the X-Forwarded-For header in 
HttpServletRequest.getRemoteAddr.")
     public boolean isUseXForwardedForHeader() {
         return useXForwardedForHeader;
     }
@@ -1036,12 +1031,17 @@ public abstract class JettyHttpComponent extends 
HttpCommonComponent implements
         this.useXForwardedForHeader = useXForwardedForHeader;
     }
 
+    public boolean isSendServerVersion() {
+        return sendServerVersion;
+    }
+
     /**
      * If the option is true, jetty will send the server header with the jetty 
version information to the client which sends the request.
      * NOTE please make sure there is no any other camel-jetty endpoint is 
share the same port, otherwise this option may not work as expected.
      */
     @Metadata(description = "If the option is true, jetty server will send the 
date header to the client which sends the request."
-            + " NOTE please make sure there is no any other camel-jetty 
endpoint is share the same port, otherwise this option may not work as 
expected.")
+            + " NOTE please make sure there is no any other camel-jetty 
endpoint is share the same port, otherwise this option may not work as 
expected.",
+            defaultValue = "true", label = "consumer")
     public void setSendServerVersion(boolean sendServerVersion) {
         this.sendServerVersion = sendServerVersion;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsComponent.java
 
b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsComponent.java
index 9096094..436487d 100644
--- 
a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsComponent.java
+++ 
b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsComponent.java
@@ -20,6 +20,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.jgroups.Channel;
 
 /**
@@ -29,6 +30,7 @@ public class JGroupsComponent extends UriEndpointComponent {
 
     private Channel channel;
     private String channelProperties;
+    @Metadata(label = "consumer")
     private boolean enableViewMessages;
 
     public JGroupsComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
index 2290e2e..b303b30 100644
--- 
a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
+++ 
b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
@@ -56,11 +56,18 @@ public class JmsComponent extends UriEndpointComponent 
implements ApplicationCon
     private static final Logger LOG = 
LoggerFactory.getLogger(JmsComponent.class);
 
     private static final String KEY_FORMAT_STRATEGY_PARAM = 
"jmsKeyFormatStrategy";
-    private JmsConfiguration configuration;
+
+    private ExecutorService asyncStartStopExecutorService;
     private ApplicationContext applicationContext;
+
+    @Metadata(label = "advanced", description = "To use a shared JMS 
configuration")
+    private JmsConfiguration configuration;
+    @Metadata(label = "advanced", description = "To use a custom 
QueueBrowseStrategy when browsing queues")
     private QueueBrowseStrategy queueBrowseStrategy;
+    @Metadata(label = "advanced", description = "To use a custom 
HeaderFilterStrategy to filter header to and from Camel message.")
     private HeaderFilterStrategy headerFilterStrategy;
-    private ExecutorService asyncStartStopExecutorService;
+    @Metadata(label = "advanced", description = "To use the given 
MessageCreatedStrategy which are invoked when Camel creates new instances"
+            + " of javax.jms.Message objects when Camel is sending a JMS 
message.")
     private MessageCreatedStrategy messageCreatedStrategy;
 
     public JmsComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-jolt/src/main/java/org/apache/camel/component/jolt/JoltComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jolt/src/main/java/org/apache/camel/component/jolt/JoltComponent.java
 
b/components/camel-jolt/src/main/java/org/apache/camel/component/jolt/JoltComponent.java
index 9cde912..9579f1f 100644
--- 
a/components/camel-jolt/src/main/java/org/apache/camel/component/jolt/JoltComponent.java
+++ 
b/components/camel-jolt/src/main/java/org/apache/camel/component/jolt/JoltComponent.java
@@ -21,9 +21,11 @@ import java.util.Map;
 import com.bazaarvoice.jolt.Transform;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ResourceHelper;
 
 public class JoltComponent extends UriEndpointComponent {
+    @Metadata(label = "advanced")
     private Transform transform;
 
     public JoltComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaComponent.java
 
b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaComponent.java
index 5427e9a..48970b4 100644
--- 
a/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaComponent.java
+++ 
b/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaComponent.java
@@ -22,6 +22,7 @@ import javax.persistence.EntityManagerFactory;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -35,11 +36,14 @@ import 
org.springframework.transaction.support.TransactionTemplate;
  */
 public class JpaComponent extends UriEndpointComponent {
     private static final Logger LOG = 
LoggerFactory.getLogger(JpaComponent.class);
+
+    private ExecutorService pollingConsumerExecutorService;
+
     private EntityManagerFactory entityManagerFactory;
     private PlatformTransactionManager transactionManager;
+    @Metadata(defaultValue = "true")
     private boolean joinTransaction = true;
     private boolean sharedEntityManager;
-    private ExecutorService pollingConsumerExecutorService;
 
     public JpaComponent() {
         super(JpaEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpComponent.java
 
b/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpComponent.java
index 29c801e..62b5b48 100644
--- 
a/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpComponent.java
+++ 
b/components/camel-jsch/src/main/java/org/apache/camel/component/scp/ScpComponent.java
@@ -27,7 +27,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- *  Component providing secure messaging using JSch
+ * Component providing secure messaging using JSch
  */
 public class ScpComponent extends RemoteFileComponent<ScpFile> {
 

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-jt400/src/main/docs/jt400-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jt400/src/main/docs/jt400-component.adoc 
b/components/camel-jt400/src/main/docs/jt400-component.adoc
index ea1f7a1..9994714 100644
--- a/components/camel-jt400/src/main/docs/jt400-component.adoc
+++ b/components/camel-jt400/src/main/docs/jt400-component.adoc
@@ -76,7 +76,6 @@ The JT400 component supports 34 endpoint options which are 
listed below:
 | outputFieldsLengthArray | common |  | Integer[] | Specifies the fields 
(program parameters) length as in the AS/400 program definition.
 | searchKey | common |  | String | Search key for keyed data queues.
 | searchType | common | EQ | SearchType | Search type such as EQ for equal etc.
-| secured | common | false | boolean | Whether connections to AS/400 are 
secured with SSL.
 | bridgeErrorHandler | consumer | false | boolean | Allows for bridging the 
consumer to the Camel routing Error Handler which mean any exceptions occurred 
while the consumer is trying to pickup incoming messages or the likes will now 
be processed as a message and handled by the routing Error Handler. By default 
the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions that will be logged at WARN/ERROR level and ignored.
 | readTimeout | consumer | 30000 | int | Timeout in millis the consumer will 
wait while trying to read a new message of the data queue.
 | sendEmptyMessageWhenIdle | consumer | false | boolean | If the polling 
consumer did not poll any files you can enable this option to send an empty 
message (no body) instead.
@@ -97,6 +96,7 @@ The JT400 component supports 34 endpoint options which are 
listed below:
 | startScheduler | scheduler | true | boolean | Whether the scheduler should 
be auto started.
 | timeUnit | scheduler | MILLISECONDS | TimeUnit | Time unit for initialDelay 
and delay options.
 | useFixedDelay | scheduler | true | boolean | Controls if fixed delay or 
fixed rate is used. See ScheduledExecutorService in JDK for details.
+| secured | security | false | boolean | Whether connections to AS/400 are 
secured with SSL.
 |=======================================================================
 {% endraw %}
 // endpoint options: END

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Component.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Component.java
 
b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Component.java
index 045449c..df83b90 100644
--- 
a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Component.java
+++ 
b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Component.java
@@ -21,6 +21,7 @@ import java.util.Map;
 import com.ibm.as400.access.AS400ConnectionPool;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.EndpointHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -48,6 +49,7 @@ public class Jt400Component extends UriEndpointComponent {
      * provides a pool, it would be wasteful for Camel to initialize and keep 
an
      * idle pool.
      */
+    @Metadata(label = "advanced")
     private AS400ConnectionPool connectionPool;
 
     public Jt400Component() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
----------------------------------------------------------------------
diff --git 
a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
 
b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
index 9a2383f..8bd2ad1 100644
--- 
a/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
+++ 
b/components/camel-jt400/src/main/java/org/apache/camel/component/jt400/Jt400Configuration.java
@@ -71,10 +71,10 @@ public class Jt400Configuration {
 
     private final AS400ConnectionPool connectionPool;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = "true", secret = true)
     private String userID;
 
-    @UriPath @Metadata(required = "true")
+    @UriPath @Metadata(required = "true", secret = true)
     private String password;
 
     @UriPath @Metadata(required = "true")
@@ -104,7 +104,7 @@ public class Jt400Configuration {
     @UriParam(defaultValue = "EQ")
     private SearchType searchType = SearchType.EQ;
 
-    @UriParam
+    @UriParam(label = "security")
     private boolean secured;
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaComponent.java
 
b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaComponent.java
index 4fb90e0..36baf3c 100644
--- 
a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaComponent.java
+++ 
b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaComponent.java
@@ -22,9 +22,11 @@ import java.util.concurrent.ExecutorService;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 
 public class KafkaComponent extends UriEndpointComponent {
 
+    @Metadata(label = "advanced")
     private ExecutorService workerPool;
 
     public KafkaComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
----------------------------------------------------------------------
diff --git 
a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
 
b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
index 7fd5e4c..98758c5 100644
--- 
a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
+++ 
b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java
@@ -179,19 +179,19 @@ public class KafkaConfiguration {
     private Integer reconnectBackoffMs = 50;
     // SSL
     // ssl.key.password
-    @UriParam(label = "producer,security")
+    @UriParam(label = "producer,security", secret = true)
     private String sslKeyPassword;
     // ssl.keystore.location
     @UriParam(label = "producer,security")
     private String sslKeystoreLocation;
     // ssl.keystore.password
-    @UriParam(label = "producer,security")
+    @UriParam(label = "producer,security", secret = true)
     private String sslKeystorePassword;
     //ssl.truststore.location
     @UriParam(label = "producer,security")
     private String sslTruststoreLocation;
     //ssl.truststore.password
-    @UriParam(label = "producer,security")
+    @UriParam(label = "producer,security", secret = true)
     private String sslTruststorePassword;
     //SSL
     //ssl.enabled.protocols

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-kestrel/src/main/java/org/apache/camel/component/kestrel/KestrelComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-kestrel/src/main/java/org/apache/camel/component/kestrel/KestrelComponent.java
 
b/components/camel-kestrel/src/main/java/org/apache/camel/component/kestrel/KestrelComponent.java
index 3430af9..3a6629e 100644
--- 
a/components/camel-kestrel/src/main/java/org/apache/camel/component/kestrel/KestrelComponent.java
+++ 
b/components/camel-kestrel/src/main/java/org/apache/camel/component/kestrel/KestrelComponent.java
@@ -27,6 +27,7 @@ import net.spy.memcached.MemcachedClient;
 import org.apache.camel.CamelContext;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -37,7 +38,6 @@ import org.slf4j.LoggerFactory;
 public class KestrelComponent extends UriEndpointComponent {
     private static final Logger LOG = 
LoggerFactory.getLogger(KestrelComponent.class);
 
-    private KestrelConfiguration configuration;
     private ConnectionFactory memcachedConnectionFactory;
 
     /**
@@ -45,6 +45,9 @@ public class KestrelComponent extends UriEndpointComponent {
      */
     private final Map<String, MemcachedClient> memcachedClientCache = new 
HashMap<String, MemcachedClient>();
 
+    @Metadata(label = "advanced")
+    private KestrelConfiguration configuration;
+
     public KestrelComponent() {
         this(new KestrelConfiguration());
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneComponent.java
 
b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneComponent.java
index 805d6da..a24b853 100644
--- 
a/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneComponent.java
+++ 
b/components/camel-lucene/src/main/java/org/apache/camel/component/lucene/LuceneComponent.java
@@ -22,8 +22,11 @@ import java.util.Map;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 
 public class LuceneComponent extends UriEndpointComponent {
+
+    @Metadata(label = "advanced")
     private LuceneConfiguration config;
     
     public LuceneComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackComponent.java
 
b/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackComponent.java
index 96fbb3d..6f01ea8 100644
--- 
a/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackComponent.java
+++ 
b/components/camel-lumberjack/src/main/java/org/apache/camel/component/lumberjack/LumberjackComponent.java
@@ -20,6 +20,7 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.jsse.SSLContextParameters;
 
 /**
@@ -28,6 +29,7 @@ import org.apache.camel.util.jsse.SSLContextParameters;
 public class LumberjackComponent extends UriEndpointComponent {
     static final int DEFAULT_PORT = 5044;
 
+    @Metadata(label = "security")
     private SSLContextParameters sslContextParameters;
 
     public LumberjackComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
index 0cd8ff9..f0dce34 100644
--- 
a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
+++ 
b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailComponent.java
@@ -25,6 +25,7 @@ import javax.mail.search.SearchTerm;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.IntrospectionSupport;
 import org.apache.camel.util.ObjectHelper;
 
@@ -34,7 +35,10 @@ import org.apache.camel.util.ObjectHelper;
  * @version
  */
 public class MailComponent extends UriEndpointComponent {
+
+    @Metadata(label = "advanced")
     private MailConfiguration configuration;
+    @Metadata(label = "advanced")
     private ContentTypeResolver contentTypeResolver;
 
     public MailComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsComponent.java
 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsComponent.java
index 5e544ac..9470edb 100644
--- 
a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsComponent.java
+++ 
b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsComponent.java
@@ -25,6 +25,7 @@ import com.codahale.metrics.Slf4jReporter;
 import org.apache.camel.Endpoint;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.Registry;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
@@ -41,6 +42,7 @@ public class MetricsComponent extends UriEndpointComponent {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(MetricsComponent.class);
 
+    @Metadata(label = "advanced")
     private MetricRegistry metricRegistry;
 
     public MetricsComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
 
b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
index aad0415..1fd7ce4 100644
--- 
a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
+++ 
b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
@@ -28,6 +28,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.mina.common.DefaultIoFilterChainBuilder;
 import org.apache.mina.common.IoAcceptor;
@@ -62,6 +63,7 @@ import org.slf4j.LoggerFactory;
  */
 public class MinaComponent extends UriEndpointComponent {
     private static final Logger LOG = 
LoggerFactory.getLogger(MinaComponent.class);
+    @Metadata(label = "advanced")
     private MinaConfiguration configuration;
 
     public MinaComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Component.java
----------------------------------------------------------------------
diff --git 
a/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Component.java
 
b/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Component.java
index 349b59a..6413c26 100644
--- 
a/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Component.java
+++ 
b/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Component.java
@@ -23,6 +23,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.mina.core.filterchain.IoFilter;
 
@@ -33,6 +34,7 @@ import org.apache.mina.core.filterchain.IoFilter;
  */
 public class Mina2Component extends UriEndpointComponent {
 
+    @Metadata(label = "advanced")
     private Mina2Configuration configuration;
 
     public Mina2Component() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTComponent.java
 
b/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTComponent.java
index 9a287ea..d84b3e3 100644
--- 
a/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTComponent.java
+++ 
b/components/camel-mqtt/src/main/java/org/apache/camel/component/mqtt/MQTTComponent.java
@@ -20,13 +20,16 @@ import java.util.Map;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 
 /**
  * MQTT Component
  */
 public class MQTTComponent extends UriEndpointComponent {
     private String host;
+    @Metadata(label = "security", secret = true)
     private String userName;
+    @Metadata(label = "security", secret = true)
     private String password;
 
     public MQTTComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-msv/src/main/java/org/apache/camel/component/validator/msv/MsvComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-msv/src/main/java/org/apache/camel/component/validator/msv/MsvComponent.java
 
b/components/camel-msv/src/main/java/org/apache/camel/component/validator/msv/MsvComponent.java
index 3539d09..d525d79 100644
--- 
a/components/camel-msv/src/main/java/org/apache/camel/component/validator/msv/MsvComponent.java
+++ 
b/components/camel-msv/src/main/java/org/apache/camel/component/validator/msv/MsvComponent.java
@@ -21,6 +21,7 @@ import javax.xml.validation.SchemaFactory;
 
 import org.apache.camel.Endpoint;
 import org.apache.camel.component.validator.ValidatorComponent;
+import org.apache.camel.spi.Metadata;
 
 /**
  * The <a href="http://camel.apache.org/msv.html";>MSV Component</a> uses the
@@ -29,6 +30,7 @@ import 
org.apache.camel.component.validator.ValidatorComponent;
  * @version 
  */
 public class MsvComponent extends ValidatorComponent {
+    @Metadata(label = "advanced")
     private SchemaFactory schemaFactory;
 
     public MsvComponent() {

http://git-wip-us.apache.org/repos/asf/camel/blob/1a3e4412/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheComponent.java
----------------------------------------------------------------------
diff --git 
a/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheComponent.java
 
b/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheComponent.java
index 5fcc4c9..bbcf6dc 100644
--- 
a/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheComponent.java
+++ 
b/components/camel-mustache/src/main/java/org/apache/camel/component/mustache/MustacheComponent.java
@@ -22,6 +22,7 @@ import com.github.mustachejava.DefaultMustacheFactory;
 import com.github.mustachejava.MustacheFactory;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.spi.Metadata;
 
 /**
  * Represents the component that manages {@link MustacheEndpoint}.
@@ -35,6 +36,7 @@ import org.apache.camel.impl.UriEndpointComponent;
  */
 public class MustacheComponent extends UriEndpointComponent {
 
+    @Metadata(label = "advanced")
     private MustacheFactory mustacheFactory = new DefaultMustacheFactory();
 
     public MustacheComponent() {

Reply via email to