You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/03/01 08:42:30 UTC

[03/11] camel git commit: CAMEL-8320: Component doc to include endpoint syntax.

CAMEL-8320: Component doc to include endpoint syntax.


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

Branch: refs/heads/master
Commit: c763bb13dd175e6a5d64336398db6593892748e5
Parents: e1736f3
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Feb 28 17:13:45 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Feb 28 17:13:45 2015 +0100

----------------------------------------------------------------------
 .../apache/camel/component/ahc/ws/WsEndpoint.java   |  2 +-
 .../org/apache/camel/component/ahc/AhcEndpoint.java |  2 +-
 .../apache/camel/component/amqp/AMQPEndpoint.java   |  2 +-
 .../apache/camel/component/apns/ApnsEndpoint.java   |  4 ++--
 .../camel/component/atmos/AtmosConfiguration.java   |  3 ++-
 .../apache/camel/component/atmos/AtmosEndpoint.java |  2 +-
 .../atmosphere/websocket/WebsocketEndpoint.java     |  5 +++--
 .../apache/camel/component/atom/AtomEndpoint.java   |  2 +-
 .../apache/camel/component/avro/AvroComponent.java  |  8 ++++----
 .../camel/component/avro/AvroConfiguration.java     | 11 ++++++-----
 .../apache/camel/component/avro/AvroEndpoint.java   |  2 +-
 .../camel/component/aws/cw/CwConfiguration.java     |  3 ++-
 .../apache/camel/component/aws/cw/CwEndpoint.java   |  2 +-
 .../camel/component/aws/ddb/DdbConfiguration.java   |  3 ++-
 .../apache/camel/component/aws/ddb/DdbEndpoint.java |  2 +-
 .../camel/component/aws/s3/S3Configuration.java     |  3 ++-
 .../apache/camel/component/aws/s3/S3Endpoint.java   |  2 +-
 .../camel/component/aws/sdb/SdbConfiguration.java   |  3 ++-
 .../apache/camel/component/aws/sdb/SdbEndpoint.java |  2 +-
 .../camel/component/aws/ses/SesConfiguration.java   |  3 ++-
 .../apache/camel/component/aws/ses/SesEndpoint.java |  2 +-
 .../camel/component/aws/sns/SnsConfiguration.java   |  3 ++-
 .../apache/camel/component/aws/sns/SnsEndpoint.java |  2 +-
 .../camel/component/aws/sqs/SqsConfiguration.java   |  3 ++-
 .../apache/camel/component/aws/sqs/SqsEndpoint.java |  3 +--
 .../camel/component/aws/swf/SWFConfiguration.java   |  3 ++-
 .../apache/camel/component/aws/swf/SWFEndpoint.java |  2 +-
 .../bean/validator/BeanValidatorEndpoint.java       |  5 +++--
 .../component/beanstalk/BeanstalkEndpoint.java      |  2 +-
 .../camel/component/box/BoxConfiguration.java       |  5 +++--
 .../org/apache/camel/component/box/BoxEndpoint.java |  2 +-
 .../apache/camel/component/cache/CacheEndpoint.java |  2 +-
 .../component/cassandra/CassandraEndpoint.java      |  4 ++--
 .../apache/camel/component/chunk/ChunkEndpoint.java |  2 +-
 .../apache/camel/component/cmis/CMISEndpoint.java   |  7 ++++++-
 .../camel/component/cometd/CometdEndpoint.java      | 11 ++++++-----
 .../camel/component/context/ContextEndpoint.java    |  2 +-
 .../component/context/LocalContextComponent.java    |  1 -
 .../camel/component/couchdb/CouchDbEndpoint.java    | 11 ++++++-----
 .../crypto/DigitalSignatureConfiguration.java       |  3 ++-
 .../component/crypto/DigitalSignatureEndpoint.java  |  2 +-
 .../org/apache/camel/component/cxf/CxfEndpoint.java | 16 ++++++++--------
 .../camel/component/cxf/jaxrs/CxfRsEndpoint.java    | 12 ++++++------
 .../component/disruptor/DisruptorEndpoint.java      |  2 +-
 .../org/apache/camel/component/dns/DnsEndpoint.java |  5 +++--
 .../camel/component/docker/DockerConfiguration.java |  3 ++-
 .../camel/component/docker/DockerEndpoint.java      |  2 +-
 .../apache/camel/component/dozer/DozerEndpoint.java |  2 +-
 .../component/dropbox/DropboxConfiguration.java     |  3 ++-
 .../camel/component/dropbox/DropboxEndpoint.java    |  2 +-
 .../org/apache/camel/component/ejb/EjbEndpoint.java |  2 +-
 .../elasticsearch/ElasticsearchConfiguration.java   |  3 ++-
 .../elasticsearch/ElasticsearchEndpoint.java        |  2 +-
 .../component/eventadmin/EventAdminEndpoint.java    |  2 +-
 .../apache/camel/component/exec/ExecEndpoint.java   |  8 ++++----
 .../camel/component/facebook/FacebookEndpoint.java  |  6 ++++--
 .../facebook/config/FacebookNameStyle.java          |  2 +-
 .../camel/component/flatpack/FlatpackEndpoint.java  | 13 +++++++------
 .../org/apache/camel/component/fop/FopEndpoint.java |  5 +++--
 .../org/apache/camel/component/fop/FopProducer.java |  8 ++++----
 .../component/freemarker/FreemarkerEndpoint.java    |  2 +-
 .../camel/component/file/remote/FtpEndpoint.java    |  2 +-
 .../camel/component/file/remote/FtpsEndpoint.java   |  2 +-
 .../camel/component/file/remote/SftpEndpoint.java   |  2 +-
 .../org/apache/camel/component/jms/JmsEndpoint.java |  2 +-
 65 files changed, 139 insertions(+), 112 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java b/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java
index 32c0203..24f4805 100644
--- a/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java
+++ b/components/camel-ahc-ws/src/main/java/org/apache/camel/component/ahc/ws/WsEndpoint.java
@@ -38,7 +38,7 @@ import org.apache.camel.spi.UriParam;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@UriEndpoint(scheme = "ahc-ws,ahc-wss", consumerClass = WsConsumer.class, label = "http,websocket")
+@UriEndpoint(scheme = "ahc-ws,ahc-wss", syntax = "ahc-ws:httpUri", consumerClass = WsConsumer.class, label = "http,websocket")
 public class WsEndpoint extends AhcEndpoint {
     private static final transient Logger LOG = LoggerFactory.getLogger(WsEndpoint.class);
 

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
index f64082e..0745d68 100644
--- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
+++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.UriPath;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.jsse.SSLContextParameters;
 
-@UriEndpoint(scheme = "ahc", producerOnly = true, label = "http")
+@UriEndpoint(scheme = "ahc", syntax = "ahc:httpUri", producerOnly = true, label = "http")
 public class AhcEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware {
 
     private AsyncHttpClient client;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java b/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java
index 69d1d3f..30c1f8c 100644
--- a/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java
+++ b/components/camel-amqp/src/main/java/org/apache/camel/component/amqp/AMQPEndpoint.java
@@ -20,7 +20,7 @@ import org.apache.camel.component.jms.JmsConsumer;
 import org.apache.camel.component.jms.JmsEndpoint;
 import org.apache.camel.spi.UriEndpoint;
 
-@UriEndpoint(scheme = "amqp", consumerClass = JmsConsumer.class, label = "messaging")
+@UriEndpoint(scheme = "amqp", syntax = "amqp:destinationType:destinationName", consumerClass = JmsConsumer.class, label = "messaging")
 public class AMQPEndpoint extends JmsEndpoint {
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java b/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java
index 607b1dc..8bc1c17 100644
--- a/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java
+++ b/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsEndpoint.java
@@ -29,12 +29,12 @@ import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
 
-@UriEndpoint(scheme = "apns", consumerClass = ApnsConsumer.class, label = "eventbus,mobile")
+@UriEndpoint(scheme = "apns", syntax = "apns:name", consumerClass = ApnsConsumer.class, label = "eventbus,mobile")
 public class ApnsEndpoint extends ScheduledPollEndpoint {
 
     private final CopyOnWriteArraySet<DefaultConsumer> consumers = new CopyOnWriteArraySet<DefaultConsumer>();
 
-    @UriPath(description = "Name of the endpoint.")
+    @UriPath(description = "Name of the endpoint")
     private String name;
     @UriParam
     private String tokens;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosConfiguration.java b/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosConfiguration.java
index bbcc477..b540ac6 100644
--- a/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosConfiguration.java
+++ b/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosConfiguration.java
@@ -24,6 +24,7 @@ import com.emc.atmos.api.AtmosConfig;
 import com.emc.atmos.api.jersey.AtmosApiClient;
 import org.apache.camel.component.atmos.util.AtmosException;
 import org.apache.camel.component.atmos.util.AtmosOperation;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -33,7 +34,7 @@ public class AtmosConfiguration {
 
     @UriPath
     private String name;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private AtmosOperation operation;
     //atmos shared secret
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java b/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java
index 2f00199..11bfd2c 100644
--- a/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java
+++ b/components/camel-atmos/src/main/java/org/apache/camel/component/atmos/AtmosEndpoint.java
@@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.atmos.util.AtmosConstants.POLL_CONSUMER_DELAY;
 
-@UriEndpoint(scheme = "atmos", consumerClass = AtmosScheduledPollConsumer.class, label = "file,cloud")
+@UriEndpoint(scheme = "atmos", syntax = "atmos:name/operation", consumerClass = AtmosScheduledPollConsumer.class, label = "file,cloud")
 public class AtmosEndpoint extends DefaultEndpoint {
 
     private static final transient Logger LOG = LoggerFactory.getLogger(AtmosEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
index f3d3d13..16d5283 100644
--- a/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
+++ b/components/camel-atmosphere-websocket/src/main/java/org/apache/camel/component/atmosphere/websocket/WebsocketEndpoint.java
@@ -33,12 +33,13 @@ import org.apache.commons.httpclient.params.HttpClientParams;
 /**
  *
  */
-@UriEndpoint(scheme = "atmosphere-websocket", consumerClass = WebsocketConsumer.class, label = "http,websocket")
+@UriEndpoint(scheme = "atmosphere-websocket", syntax = "atmosphere-websocket:servicePath", consumerClass = WebsocketConsumer.class, label = "http,websocket")
 public class WebsocketEndpoint extends ServletEndpoint {
 
+    private WebSocketStore store;
+
     @UriPath
     private String servicePath;
-    private WebSocketStore store;
     @UriParam(defaultValue = "false")
     private boolean sendToAll;
     @UriParam(defaultValue = "false")

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java b/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
index c6dceca..8db4d69 100644
--- a/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
+++ b/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
@@ -31,7 +31,7 @@ import org.apache.camel.spi.UriEndpoint;
  *
  * @version 
  */
-@UriEndpoint(scheme = "atom", consumerOnly = true, consumerClass = FeedPollingConsumer.class, label = "feeds")
+@UriEndpoint(scheme = "atom", syntax = "atom:feedUri", consumerOnly = true, consumerClass = FeedPollingConsumer.class, label = "feeds")
 public class AtomEndpoint extends FeedEndpoint {
 
     public AtomEndpoint() {

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java
index 94ed038..d7c5b11 100644
--- a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java
+++ b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java
@@ -64,12 +64,12 @@ public class AvroComponent extends UriEndpointComponent {
             config = new AvroConfiguration();
         }
 
-        URI enpointUri = new URI(URISupport.normalizeUri(remaining));
-        applyToConfiguration(config, enpointUri, parameters);
+        URI endpointUri = new URI(URISupport.normalizeUri(remaining));
+        applyToConfiguration(config, endpointUri, parameters);
 
-        if (AvroConstants.AVRO_NETTY_TRANSPORT.equals(enpointUri.getScheme())) {
+        if (AvroConstants.AVRO_NETTY_TRANSPORT.equals(endpointUri.getScheme())) {
             return new AvroNettyEndpoint(remaining, this, config);
-        } else if (AvroConstants.AVRO_HTTP_TRANSPORT.equals(enpointUri.getScheme())) {
+        } else if (AvroConstants.AVRO_HTTP_TRANSPORT.equals(endpointUri.getScheme())) {
             return new AvroHttpEndpoint(remaining, this, config);
         } else {
             throw new IllegalArgumentException("Unknown avro scheme. Should use either netty or http.");

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroConfiguration.java b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroConfiguration.java
index d9d4f2e..3398c9b 100644
--- a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroConfiguration.java
+++ b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroConfiguration.java
@@ -21,6 +21,7 @@ import java.util.Map;
 
 import org.apache.avro.Protocol;
 import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -31,12 +32,14 @@ import static org.apache.camel.component.avro.AvroConstants.AVRO_MESSAGE_NAME_SE
 @UriParams
 public class AvroConfiguration implements Cloneable {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private AvroTransport transport;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String host;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private int port;
+    @UriPath
+    private String messageName;
     @UriParam
     private String protocolLocation;
     @UriParam
@@ -44,8 +47,6 @@ public class AvroConfiguration implements Cloneable {
     @UriParam
     private String protocolClassName;
     @UriParam
-    private String messageName;
-    @UriParam
     private String uriAuthority;
     @UriParam(defaultValue = "false")
     private boolean reflectionProtocol;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
index 5db407c..a6c5f35 100644
--- a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
+++ b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 
-@UriEndpoint(scheme = "avro", consumerClass = AvroConsumer.class, label = "messaging,transformation")
+@UriEndpoint(scheme = "avro", syntax = "avro:transport:host:port/messageName", consumerClass = AvroConsumer.class, label = "messaging,transformation")
 public abstract class AvroEndpoint extends DefaultEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java
index f9da168..fe3d817 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwConfiguration.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.aws.cw;
 import java.util.Date;
 
 import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -26,7 +27,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class CwConfiguration implements Cloneable {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String namespace;
     @UriParam
     private AmazonCloudWatch amazonCwClient;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java
index 741f335..a20aa0b 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/cw/CwEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * Defines the <a href="http://aws.amazon.com/cloudwatch/">AWS CloudWatch Endpoint</a>
  */
-@UriEndpoint(scheme = "aws-cw", producerOnly = true, label = "cloud,monitoring")
+@UriEndpoint(scheme = "aws-cw", syntax = "aws-cw:namespace", producerOnly = true, label = "cloud,monitoring")
 public class CwEndpoint extends DefaultEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java
index 990e1a9..691a104 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbConfiguration.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.aws.ddb;
 
 import com.amazonaws.services.dynamodb.AmazonDynamoDB;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -24,7 +25,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class DdbConfiguration {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String tableName;
     @UriParam
     private String accessKey;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java
index 05cafb5..3898133 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ddb/DdbEndpoint.java
@@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Defines the <a href="http://aws.amazon.com/dynamodb/">AWS DynamoDB endpoint</a>
  */
-@UriEndpoint(scheme = "aws-ddb", producerOnly = true, label = "cloud,database,nosql")
+@UriEndpoint(scheme = "aws-ddb", syntax = "aws-ddb:tableName", producerOnly = true, label = "cloud,database,nosql")
 public class DdbEndpoint extends ScheduledPollEndpoint {
 
     private static final Logger LOG = LoggerFactory.getLogger(DdbEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
index afbd17a..1b5243e 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.aws.s3;
 
 import com.amazonaws.services.s3.AmazonS3;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -24,7 +25,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class S3Configuration implements Cloneable {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String bucketName;
     @UriParam
     private AmazonS3 amazonS3Client;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
index 04453f4..fe93ec6 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Endpoint.java
@@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Defines the <a href="http://camel.apache.org/aws.html">AWS S3 Endpoint</a>.  
  */
-@UriEndpoint(scheme = "aws-s3", consumerClass = S3Consumer.class, label = "cloud,file")
+@UriEndpoint(scheme = "aws-s3", syntax = "aws-s3:bucketName", consumerClass = S3Consumer.class, label = "cloud,file")
 public class S3Endpoint extends ScheduledPollEndpoint {
 
     private static final Logger LOG = LoggerFactory.getLogger(S3Endpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbConfiguration.java
index 62396b7..38b9ff5 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbConfiguration.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.aws.sdb;
 
 import com.amazonaws.services.simpledb.AmazonSimpleDB;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -24,7 +25,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class SdbConfiguration {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String domainName;
     @UriParam
     private AmazonSimpleDB amazonSDBClient;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java
index f2d7c57..b3790e8 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sdb/SdbEndpoint.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Defines the <a href="http://camel.apache.org/aws.html">AWS SDB Endpoint</a>.  
  */
-@UriEndpoint(scheme = "aws-sdb", producerOnly = true, label = "cloud,database,nosql")
+@UriEndpoint(scheme = "aws-sdb", syntax = "aws-sdb:domainName", producerOnly = true, label = "cloud,database,nosql")
 public class SdbEndpoint extends ScheduledPollEndpoint {
     
     private static final Logger LOG = LoggerFactory.getLogger(S3Endpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesConfiguration.java
index b06c528..a328c38 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesConfiguration.java
@@ -20,6 +20,7 @@ import java.util.Arrays;
 import java.util.List;
 
 import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -27,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class SesConfiguration {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String from;
     @UriParam
     private AmazonSimpleEmailService amazonSESClient;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
index cc07fce..44fdba4 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/ses/SesEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.util.ObjectHelper;
  * Defines the <a href="http://camel.apache.org/aws.html">AWS SES Endpoint</a>.  
  *
  */
-@UriEndpoint(scheme = "aws-ses", producerOnly = true, label = "cloud,mail")
+@UriEndpoint(scheme = "aws-ses", syntax = "aws-ses:from", producerOnly = true, label = "cloud,mail")
 public class SesEndpoint extends DefaultEndpoint {
 
     private AmazonSimpleEmailService sesClient;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsConfiguration.java
index ba5544e..c6d8a118 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsConfiguration.java
@@ -17,6 +17,7 @@
 package org.apache.camel.component.aws.sns;
 
 import com.amazonaws.services.sns.AmazonSNS;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -25,7 +26,7 @@ import org.apache.camel.spi.UriPath;
 public class SnsConfiguration implements Cloneable {
 
     // Common properties
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String topicName;
     @UriParam
     private AmazonSNS amazonSNSClient;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java
index ada3a19..a7ec551 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sns/SnsEndpoint.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Defines the <a href="http://camel.apache.org/aws.html">AWS SNS Endpoint</a>.  
  */
-@UriEndpoint(scheme = "aws-sns", producerOnly = true, label = "cloud,mobile,messaging")
+@UriEndpoint(scheme = "aws-sns", syntax = "aws-sns:topicName", producerOnly = true, label = "cloud,mobile,messaging")
 public class SnsEndpoint extends DefaultEndpoint {
 
     private static final Logger LOG = LoggerFactory.getLogger(SnsEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
index 644857d..aabae7f 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsConfiguration.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.aws.sqs;
 import java.util.Collection;
 
 import com.amazonaws.services.sqs.AmazonSQS;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -27,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 public class SqsConfiguration {
 
     // common properties
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String queueName;
     @UriParam
     private AmazonSQS amazonSQSClient;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
index 4845dd0..b6732d1 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/sqs/SqsEndpoint.java
@@ -53,7 +53,7 @@ import org.slf4j.LoggerFactory;
  * Defines the <a href="http://camel.apache.org/aws.html">AWS SQS Endpoint</a>.  
  *
  */
-@UriEndpoint(scheme = "aws-sqs", consumerClass = SqsConsumer.class, label = "cloud,messaging")
+@UriEndpoint(scheme = "aws-sqs", syntax = "aws-sqs:queueName", consumerClass = SqsConsumer.class, label = "cloud,messaging")
 public class SqsEndpoint extends ScheduledPollEndpoint implements HeaderFilterStrategyAware {
     
     private static final Logger LOG = LoggerFactory.getLogger(SqsEndpoint.class);
@@ -68,7 +68,6 @@ public class SqsEndpoint extends ScheduledPollEndpoint implements HeaderFilterSt
     @UriParam
     private HeaderFilterStrategy headerFilterStrategy;
 
-
     public SqsEndpoint(String uri, SqsComponent component, SqsConfiguration configuration) {
         super(uri, component);
         this.configuration = configuration;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFConfiguration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFConfiguration.java
index bf19774..151dc13 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFConfiguration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFConfiguration.java
@@ -24,6 +24,7 @@ import com.amazonaws.services.simpleworkflow.flow.DataConverter;
 import com.amazonaws.services.simpleworkflow.flow.WorkflowTypeRegistrationOptions;
 import com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeExecutionOptions;
 import com.amazonaws.services.simpleworkflow.flow.worker.ActivityTypeRegistrationOptions;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -35,7 +36,7 @@ public class SWFConfiguration {
     private Map<String, Object> sWClientParameters;
     private Map<String, Object> startWorkflowOptionsParameters;
 
-    @UriPath
+    @UriPath(enums = "activity,workflow") @Metadata(required = "true")
     private String type;
     @UriParam
     private AmazonSimpleWorkflowClient amazonSWClient;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFEndpoint.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFEndpoint.java
index e7f3da5..a3602d6 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFEndpoint.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/swf/SWFEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.util.ExchangeHelper;
 /**
  * Defines the <a href="http://aws.amazon.com/swf/">Amazon Simple Workflow Endpoint</a>
  */
-@UriEndpoint(scheme = "aws-swf", consumerClass = SWFWorkflowConsumer.class, label = "cloud,workflow")
+@UriEndpoint(scheme = "aws-swf", syntax = "aws-swf:type", consumerClass = SWFWorkflowConsumer.class, label = "cloud,workflow")
 public class SWFEndpoint extends DefaultEndpoint {
 
     private AmazonSimpleWorkflowClient amazonSWClient;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java b/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java
index 9835fb9..afd73da 100644
--- a/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java
+++ b/components/camel-bean-validator/src/main/java/org/apache/camel/component/bean/validator/BeanValidatorEndpoint.java
@@ -27,6 +27,7 @@ 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.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -34,10 +35,10 @@ import org.apache.camel.util.PlatformHelper;
 
 import static org.apache.camel.component.bean.validator.ValidatorFactories.buildValidatorFactory;
 
-@UriEndpoint(scheme = "bean-validator", producerOnly = true, label = "validation")
+@UriEndpoint(scheme = "bean-validator", syntax = "bean-validator:label", producerOnly = true, label = "validation")
 public class BeanValidatorEndpoint extends DefaultEndpoint {
 
-    @UriPath(description = "Where label is an arbitrary text value describing the endpoint")
+    @UriPath(description = "Where label is an arbitrary text value describing the endpoint") @Metadata(required = "true")
     private String label;
     @UriParam
     private String group;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java b/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java
index 93d81c9..2c3ce7d 100644
--- a/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java
+++ b/components/camel-beanstalk/src/main/java/org/apache/camel/component/beanstalk/BeanstalkEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
 
-@UriEndpoint(scheme = "beanstalk", consumerClass = BeanstalkConsumer.class, label = "messaging")
+@UriEndpoint(scheme = "beanstalk", syntax = "beanstalk:connectionSettings", consumerClass = BeanstalkConsumer.class, label = "messaging")
 public class BeanstalkEndpoint extends ScheduledPollEndpoint {
     final ConnectionSettings conn;
 

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-box/src/main/java/org/apache/camel/component/box/BoxConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-box/src/main/java/org/apache/camel/component/box/BoxConfiguration.java b/components/camel-box/src/main/java/org/apache/camel/component/box/BoxConfiguration.java
index f626713..db2df83 100644
--- a/components/camel-box/src/main/java/org/apache/camel/component/box/BoxConfiguration.java
+++ b/components/camel-box/src/main/java/org/apache/camel/component/box/BoxConfiguration.java
@@ -23,6 +23,7 @@ import com.box.boxjavalibv2.IBoxConfig;
 import com.box.boxjavalibv2.authorization.IAuthSecureStorage;
 import com.box.boxjavalibv2.authorization.OAuthRefreshListener;
 import org.apache.camel.component.box.internal.BoxApiName;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -34,10 +35,10 @@ import org.apache.camel.util.jsse.SSLContextParameters;
 @UriParams
 public class BoxConfiguration {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private BoxApiName apiName;
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String methodName;
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-box/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-box/src/main/java/org/apache/camel/component/box/BoxEndpoint.java b/components/camel-box/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
index c468944..f457fe7 100644
--- a/components/camel-box/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
+++ b/components/camel-box/src/main/java/org/apache/camel/component/box/BoxEndpoint.java
@@ -39,7 +39,7 @@ import org.apache.camel.util.component.ApiMethodPropertiesHelper;
 /**
  * Represents a Box endpoint.
  */
-@UriEndpoint(scheme = "box", consumerClass = BoxConsumer.class, consumerPrefix = "consumer", label = "api,file,cloud")
+@UriEndpoint(scheme = "box", syntax = "box:apiName/methodName", consumerClass = BoxConsumer.class, consumerPrefix = "consumer", label = "api,file,cloud")
 public class BoxEndpoint extends AbstractApiEndpoint<BoxApiName, BoxConfiguration> {
 
     private static final String SHARED_LINK_PROPERTY = "sharedLink";

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java
index 59bf88b..1b5972c 100755
--- a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java
+++ b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@UriEndpoint(scheme = "cache", consumerClass = CacheConsumer.class, label = "cache")
+@UriEndpoint(scheme = "cache", syntax = "cache:cacheName", consumerClass = CacheConsumer.class, label = "cache")
 public class CacheEndpoint extends DefaultEndpoint {
     private static final Logger LOG = LoggerFactory.getLogger(CacheEndpoint.class);
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
index f5709a5..c235f24 100644
--- a/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
+++ b/components/camel-cassandraql/src/main/java/org/apache/camel/component/cassandra/CassandraEndpoint.java
@@ -36,12 +36,12 @@ import org.apache.camel.utils.cassandra.CassandraSessionHolder;
 /**
  * Cassandra 2 CQL3 endpoint
  */
-@UriEndpoint(scheme = "cql", consumerClass = CassandraConsumer.class, label = "database,nosql")
+@UriEndpoint(scheme = "cql", syntax = "cql:beanRef:hosts:port/keyspace", consumerClass = CassandraConsumer.class, label = "database,nosql")
 public class CassandraEndpoint extends DefaultEndpoint {
 
     private volatile CassandraSessionHolder sessionHolder;
 
-    @UriPath
+    @UriPath(description = "beanRef is defined using bean:id")
     private String beanRef;
     @UriPath
     private String hosts;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java b/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java
index cc583db..1623e21 100644
--- a/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java
+++ b/components/camel-chunk/src/main/java/org/apache/camel/component/chunk/ChunkEndpoint.java
@@ -41,7 +41,7 @@ import static org.apache.camel.component.chunk.ChunkConstants.CHUNK_LAYER_SEPARA
 import static org.apache.camel.component.chunk.ChunkConstants.CHUNK_RESOURCE_URI;
 import static org.apache.camel.component.chunk.ChunkConstants.CHUNK_TEMPLATE;
 
-@UriEndpoint(scheme = "chunk", producerOnly = true, label = "transformation")
+@UriEndpoint(scheme = "chunk", syntax = "chunk:resourceUri", producerOnly = true, label = "transformation")
 public class ChunkEndpoint extends ResourceEndpoint {
 
     private Theme theme;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
index cc0cb4c..e601bd2 100644
--- a/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
+++ b/components/camel-cmis/src/main/java/org/apache/camel/component/cmis/CMISEndpoint.java
@@ -26,11 +26,12 @@ import org.apache.camel.spi.UriParam;
 /**
  * Represents a CMIS endpoint.
  */
-@UriEndpoint(scheme = "cmis", consumerClass = CMISConsumer.class, label = "cms,database")
+@UriEndpoint(scheme = "cmis", syntax = "cmis:url", consumerClass = CMISConsumer.class, label = "cms,database")
 public class CMISEndpoint extends DefaultEndpoint {
 
     @UriParam
     private CMISSessionFacade sessionFacade;
+    @UriParam
     private boolean queryMode;
 
     public CMISEndpoint() {
@@ -62,6 +63,10 @@ public class CMISEndpoint extends DefaultEndpoint {
         return true;
     }
 
+    public boolean isQueryMode() {
+        return queryMode;
+    }
+
     public void setQueryMode(boolean queryMode) {
         this.queryMode = queryMode;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
index 79943f1..a4f9cfa 100644
--- a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
+++ b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdEndpoint.java
@@ -24,6 +24,7 @@ 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.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -32,19 +33,19 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * Endpoint for Camel Cometd.
  */
-@UriEndpoint(scheme = "cometd,cometds", consumerClass = CometdConsumer.class, label = "http,websocket")
+@UriEndpoint(scheme = "cometd,cometds", syntax = "cometd:protocol:host:port/channelName", consumerClass = CometdConsumer.class, label = "http,websocket")
 public class CometdEndpoint extends DefaultEndpoint {
 
     private CometdComponent component;
 
     private URI uri;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String protocol;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String host;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private int port;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String channelName;
     @UriParam
     private String baseResource;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-context/src/main/java/org/apache/camel/component/context/ContextEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-context/src/main/java/org/apache/camel/component/context/ContextEndpoint.java b/components/camel-context/src/main/java/org/apache/camel/component/context/ContextEndpoint.java
index d116bf2..b78bdfe 100644
--- a/components/camel-context/src/main/java/org/apache/camel/component/context/ContextEndpoint.java
+++ b/components/camel-context/src/main/java/org/apache/camel/component/context/ContextEndpoint.java
@@ -26,7 +26,7 @@ import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriPath;
 
-@UriEndpoint(scheme = "context", label = "endpoint")
+@UriEndpoint(scheme = "context", syntax = "context:contextId:localEndpointUrl", label = "endpoint")
 public class ContextEndpoint extends DefaultEndpoint implements DelegateEndpoint {
 
     @UriPath

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java b/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java
index 7839c44..0c75bcc 100644
--- a/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java
+++ b/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java
@@ -92,7 +92,6 @@ public class LocalContextComponent extends DefaultComponent {
             }
         }
         throw new ResolveEndpointFailedException("Cannot find the endpoint with uri " + uri + " in the CamelContext " + getLocalCamelContext().getName());
-        
     }
 
     protected void logUsingEndpoint(String uri, Endpoint endpoint) {

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java b/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
index 238484d..7f7bb0a 100644
--- a/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
+++ b/components/camel-couchdb/src/main/java/org/apache/camel/component/couchdb/CouchDbEndpoint.java
@@ -24,12 +24,13 @@ import org.apache.camel.Exchange;
 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.UriParam;
 import org.apache.camel.spi.UriPath;
 import org.lightcouch.CouchDbClient;
 
-@UriEndpoint(scheme = "couchdb", consumerClass = CouchDbConsumer.class, label = "database,nosql")
+@UriEndpoint(scheme = "couchdb", syntax = "couchdb:protocol:hostname:port/database", consumerClass = CouchDbConsumer.class, label = "database,nosql")
 public class CouchDbEndpoint extends DefaultEndpoint {
 
     public static final String DEFAULT_STYLE = "main_only";
@@ -38,13 +39,13 @@ public class CouchDbEndpoint extends DefaultEndpoint {
 
     private static final String URI_ERROR = "Invalid URI. Format must be of the form couchdb:http[s]://hostname[:port]/database?[options...]";
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String protocol;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String hostname;
-    @UriPath
+    @UriPath(defaultValue = "" + DEFAULT_PORT)
     private int port;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String database;
     @UriParam(defaultValue = DEFAULT_STYLE)
     private String style = DEFAULT_STYLE;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
index d3ccf98..630751d 100644
--- a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
+++ b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureConfiguration.java
@@ -28,6 +28,7 @@ import java.security.cert.Certificate;
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -38,7 +39,7 @@ public class DigitalSignatureConfiguration implements Cloneable, CamelContextAwa
 
     private CamelContext context;
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private CryptoOperation cryptoOperation;
     @UriParam
     private PrivateKey privateKey;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureEndpoint.java b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureEndpoint.java
index 08303b8..17e9cbb 100644
--- a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureEndpoint.java
+++ b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * <code>DigitalSignatureEndpoint</code>
  */
-@UriEndpoint(scheme = "crypto", producerOnly = true, label = "security,transformation")
+@UriEndpoint(scheme = "crypto", syntax = "crypto:cryptoOperation", producerOnly = true, label = "security,transformation")
 public class DigitalSignatureEndpoint extends DefaultEndpoint {
     @UriParam
     private DigitalSignatureConfiguration configuration;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
index dffc1d7..c164767 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
@@ -111,7 +111,7 @@ import org.slf4j.LoggerFactory;
  * {@link CxfBinding}, and {@link HeaderFilterStrategy}.  The default DataFormat
  * mode is {@link DataFormat#POJO}.
  */
-@UriEndpoint(scheme = "cxf", consumerClass = CxfConsumer.class, label = "http,soap,webservice")
+@UriEndpoint(scheme = "cxf", syntax = "cxf:beanId:address", consumerClass = CxfConsumer.class, label = "http,soap,webservice")
 public class CxfEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware, Service, Cloneable {
 
     private static final Logger LOG = LoggerFactory.getLogger(CxfEndpoint.class);
@@ -123,7 +123,7 @@ public class CxfEndpoint extends DefaultEndpoint implements HeaderFilterStrategy
     @UriPath
     private String address;
 
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean createBus;
     @UriParam
     private String wsdlURL;
@@ -155,19 +155,19 @@ public class CxfEndpoint extends DefaultEndpoint implements HeaderFilterStrategy
     private CxfBinding cxfBinding;
     private HeaderFilterStrategy headerFilterStrategy;
     private AtomicBoolean getBusHasBeenCalled = new AtomicBoolean(false);
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean isSetDefaultBus;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean loggingFeatureEnabled;
     @UriParam
     private int loggingSizeLimit;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean mtomEnabled;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean skipPayloadMessagePartCheck;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean skipFaultLogging;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean mergeProtocolHeaders;
     private Map<String, Object> properties;
     private List<Interceptor<? extends Message>> in = new ModCountCopyOnWriteArrayList<Interceptor<? extends Message>>();

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
index 04368a7..3680c58 100644
--- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
+++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
@@ -56,7 +56,7 @@ import org.apache.cxf.message.Message;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@UriEndpoint(scheme = "cxfrs", consumerClass = CxfRsConsumer.class, label = "http,rest")
+@UriEndpoint(scheme = "cxfrs", syntax = "cxfrs:beanId:address", consumerClass = CxfRsConsumer.class, label = "http,rest")
 public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware, Service {
 
     public enum BindingStyle {
@@ -99,26 +99,26 @@ public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrate
     private CxfRsBinding binding;
     @UriParam(defaultValue = "true")
     private boolean httpClientAPI = true;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean ignoreDeleteMethodMessageBody;
     @UriParam(defaultValue = "true")
     private boolean throwExceptionOnFailure = true;
     @UriParam(defaultValue = "10")
     private int maxClientCacheSize = 10;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean loggingFeatureEnabled;
     @UriParam
     private int loggingSizeLimit;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean skipFaultLogging;
     @UriParam(defaultValue = "Default")
     private BindingStyle bindingStyle = BindingStyle.Default;
     // The continuation timeout value for CXF continuation to use
     @UriParam(defaultValue = "30000")
     private long continuationTimeout = 30000;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean isSetDefaultBus;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean performInvocation;
     @UriParam
     private String modelRef;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
index 4c568ac..b68e65d 100644
--- a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
+++ b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorEndpoint.java
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
  * <a href="https://github.com/LMAX-Exchange/disruptor">LMAX Disruptor</a> within a CamelContext
  */
 @ManagedResource(description = "Managed Disruptor Endpoint")
-@UriEndpoint(scheme = "disruptor,disruptor-vm", consumerClass = DisruptorConsumer.class, label = "endpoint")
+@UriEndpoint(scheme = "disruptor,disruptor-vm", syntax = "disruptor:name", consumerClass = DisruptorConsumer.class, label = "endpoint")
 public class DisruptorEndpoint extends DefaultEndpoint implements MultipleConsumersSupport {
     public static final String DISRUPTOR_IGNORE_EXCHANGE = "disruptor.ignoreExchange";
     private static final Logger LOGGER = LoggerFactory.getLogger(DisruptorEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java b/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java
index 98d8ebe..1aea212 100644
--- a/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java
+++ b/components/camel-dns/src/main/java/org/apache/camel/component/dns/DnsEndpoint.java
@@ -21,13 +21,14 @@ 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;
 
-@UriEndpoint(scheme = "dns", producerOnly = true, label = "networking")
+@UriEndpoint(scheme = "dns", syntax = "dns:dnsType", producerOnly = true, label = "networking")
 public class DnsEndpoint extends DefaultEndpoint {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private DnsType dnsType;
 
     public DnsEndpoint(String endpointUri, Component component) {

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java
index f8d507a..c1434e6 100644
--- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java
+++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerConfiguration.java
@@ -20,6 +20,7 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -27,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class DockerConfiguration implements Cloneable {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private DockerOperation operation;
 
     @UriParam(defaultValue = "localhost")

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java
index b023d73..ee7f69e 100644
--- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java
+++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerEndpoint.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * Represents a Docker endpoint.
  */
-@UriEndpoint(scheme = "docker", consumerClass = DockerEventsConsumer.class, label = "container,cloud,platform")
+@UriEndpoint(scheme = "docker", syntax = "docker:operation", consumerClass = DockerEventsConsumer.class, label = "container,cloud,platform")
 public class DockerEndpoint extends DefaultEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java b/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java
index eef5869..292a21a 100644
--- a/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java
+++ b/components/camel-dozer/src/main/java/org/apache/camel/component/dozer/DozerEndpoint.java
@@ -34,7 +34,7 @@ import org.dozer.DozerBeanMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@UriEndpoint(scheme = "dozer", producerOnly = true, label = "transformation")
+@UriEndpoint(scheme = "dozer", syntax = "dozer:name", producerOnly = true, label = "transformation")
 public class DozerEndpoint extends DefaultEndpoint {
     private static final Logger LOG = LoggerFactory.getLogger(DozerEndpoint.class);
 

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java
index 931868a..2c9c842 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxConfiguration.java
@@ -23,6 +23,7 @@ import com.dropbox.core.DbxRequestConfig;
 import org.apache.camel.component.dropbox.util.DropboxException;
 import org.apache.camel.component.dropbox.util.DropboxOperation;
 import org.apache.camel.component.dropbox.util.DropboxUploadMode;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -31,7 +32,7 @@ import org.apache.camel.spi.UriPath;
 public class DropboxConfiguration {
 
     //specific dropbox operation for the component
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private DropboxOperation operation;
     //dropbox auth options
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java
index a3f5992..75a0d5c 100755
--- a/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java
+++ b/components/camel-dropbox/src/main/java/org/apache/camel/component/dropbox/DropboxEndpoint.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.dropbox.util.DropboxConstants.POLL_CONSUMER_DELAY;
 
-@UriEndpoint(scheme = "dropbox", consumerClass = DropboxScheduledPollConsumer.class, label = "api,file")
+@UriEndpoint(scheme = "dropbox", syntax = "dropbox:operation", consumerClass = DropboxScheduledPollConsumer.class, label = "api,file")
 public class DropboxEndpoint extends DefaultEndpoint {
 
     private static final transient Logger LOG = LoggerFactory.getLogger(DropboxEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbEndpoint.java b/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbEndpoint.java
index 8984a8a..25b33af 100644
--- a/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbEndpoint.java
+++ b/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbEndpoint.java
@@ -20,7 +20,7 @@ import org.apache.camel.Component;
 import org.apache.camel.component.bean.BeanEndpoint;
 import org.apache.camel.spi.UriEndpoint;
 
-@UriEndpoint(scheme = "ejb", producerOnly = true, label = "endpoint,java")
+@UriEndpoint(scheme = "ejb", syntax = "ejb:beanName", producerOnly = true, label = "endpoint,java")
 public class EjbEndpoint extends BeanEndpoint {
 
     public EjbEndpoint(String endpointUri, Component component) {

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchConfiguration.java b/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchConfiguration.java
index 90a6361..c38158c 100644
--- a/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchConfiguration.java
+++ b/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchConfiguration.java
@@ -20,6 +20,7 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Map;
 
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -49,7 +50,7 @@ public class ElasticsearchConfiguration {
     private static final Integer DEFAULT_PORT = 9300;
 
     private URI uri;
-    @UriPath
+    @UriPath(description = "Name of cluster or use local for local mode") @Metadata(required = "true")
     private String clusterName;
     @UriParam
     private String protocolType;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchEndpoint.java b/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchEndpoint.java
index 4835754..c0129b9 100644
--- a/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchEndpoint.java
+++ b/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchEndpoint.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Represents an Elasticsearch endpoint.
  */
-@UriEndpoint(scheme = "elasticsearch", producerOnly = true, label = "monitoring,search")
+@UriEndpoint(scheme = "elasticsearch", syntax = "elasticsearch:clusterName", producerOnly = true, label = "monitoring,search")
 public class ElasticsearchEndpoint extends DefaultEndpoint {
 
     private static final Logger LOG = LoggerFactory.getLogger(ElasticsearchEndpoint.class);

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java b/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
index 844836f..99cdbeb 100644
--- a/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
+++ b/components/camel-eventadmin/src/main/java/org/apache/camel/component/eventadmin/EventAdminEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * EventAdmin endpoint
  */
-@UriEndpoint(scheme = "eventadmin", consumerClass = EventAdminConsumer.class, label = "eventbus")
+@UriEndpoint(scheme = "eventadmin", syntax = "eventadmin:topic", consumerClass = EventAdminConsumer.class, label = "eventbus")
 public class EventAdminEndpoint extends DefaultEndpoint {
 
     @UriPath

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java b/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
index d1c7f1c..7b9582c 100644
--- a/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
+++ b/components/camel-exec/src/main/java/org/apache/camel/component/exec/ExecEndpoint.java
@@ -20,9 +20,9 @@ import org.apache.camel.Consumer;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.exec.impl.DefaultExecBinding;
-import org.apache.camel.component.exec.impl.DefaultExecCommandExecutor;
 import org.apache.camel.component.exec.impl.ExecParseUtils;
 import org.apache.camel.impl.DefaultEndpoint;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -37,7 +37,7 @@ import org.apache.camel.util.ObjectHelper;
  * @see ExecCommand
  * @see ExecResult
  */
-@UriEndpoint(scheme = "exec", producerOnly = true, label = "system")
+@UriEndpoint(scheme = "exec", syntax = "exec:executable", producerOnly = true, label = "system")
 public class ExecEndpoint extends DefaultEndpoint {
 
     /**
@@ -45,7 +45,7 @@ public class ExecEndpoint extends DefaultEndpoint {
      */
     public static final long NO_TIMEOUT = Long.MAX_VALUE;
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String executable;
 
     @UriParam
@@ -66,7 +66,7 @@ public class ExecEndpoint extends DefaultEndpoint {
     @UriParam
     private ExecBinding binding;
 
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean useStderrOnEmptyStdout;
 
     public ExecEndpoint(String uri, ExecComponent component) {

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
index c5d11e0..0aa7d91 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/FacebookEndpoint.java
@@ -31,6 +31,7 @@ import org.apache.camel.component.facebook.config.FacebookNameStyle;
 import org.apache.camel.component.facebook.data.FacebookMethodsType;
 import org.apache.camel.component.facebook.data.FacebookPropertiesHelper;
 import org.apache.camel.impl.DefaultEndpoint;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -38,6 +39,7 @@ import org.apache.camel.util.EndpointHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
 import static org.apache.camel.component.facebook.data.FacebookMethodsTypeHelper.convertToGetMethod;
 import static org.apache.camel.component.facebook.data.FacebookMethodsTypeHelper.convertToSearchMethod;
 import static org.apache.camel.component.facebook.data.FacebookMethodsTypeHelper.getCandidateMethods;
@@ -47,13 +49,13 @@ import static org.apache.camel.component.facebook.data.FacebookPropertiesHelper.
 /**
  * Represents a Facebook endpoint.
  */
-@UriEndpoint(scheme = "facebook", consumerClass = FacebookConsumer.class, label = "social")
+@UriEndpoint(scheme = "facebook", syntax = "facebook:methodName", consumerClass = FacebookConsumer.class, label = "social")
 public class FacebookEndpoint extends DefaultEndpoint implements FacebookConstants {
 
     private static final Logger LOG = LoggerFactory.getLogger(FacebookEndpoint.class);
 
     // Facebook4J method name
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private final String methodName;
     private FacebookNameStyle nameStyle;
 

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookNameStyle.java
----------------------------------------------------------------------
diff --git a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookNameStyle.java b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookNameStyle.java
index 238582b..11eecda 100644
--- a/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookNameStyle.java
+++ b/components/camel-facebook/src/main/java/org/apache/camel/component/facebook/config/FacebookNameStyle.java
@@ -21,6 +21,6 @@ package org.apache.camel.component.facebook.config;
  */
 public enum FacebookNameStyle {
 
-    EXACT, GET, SEARCH, GET_AND_SEARCH;
+    EXACT, GET, SEARCH, GET_AND_SEARCH
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
index 3d24363..3b00395 100644
--- a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
+++ b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
@@ -35,6 +35,7 @@ import org.apache.camel.Producer;
 import org.apache.camel.impl.DefaultPollingEndpoint;
 import org.apache.camel.processor.loadbalancer.LoadBalancer;
 import org.apache.camel.processor.loadbalancer.RoundRobinLoadBalancer;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -47,22 +48,22 @@ import org.apache.camel.util.ResourceHelper;
  *
  * @version 
  */
-@UriEndpoint(scheme = "flatpack", consumerClass = FlatpackConsumer.class, label = "transformation")
+@UriEndpoint(scheme = "flatpack", syntax = "flatpack:type:resourceUri", consumerClass = FlatpackConsumer.class, label = "transformation")
 public class FlatpackEndpoint extends DefaultPollingEndpoint {
-    @UriPath
-    protected String resourceUri;
 
     private LoadBalancer loadBalancer = new RoundRobinLoadBalancer();
     private ParserFactory parserFactory = DefaultParserFactory.getInstance();
    
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private FlatpackType type;
+    @UriPath @Metadata(required = "true")
+    protected String resourceUri;
 
     @UriParam(defaultValue = "true")
     private boolean splitRows = true;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean allowShortLines;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean ignoreExtraColumns;
 
     // delimited

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java b/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java
index c0e2f2d..cc181d6 100644
--- a/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java
+++ b/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopEndpoint.java
@@ -24,6 +24,7 @@ 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.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -33,10 +34,10 @@ import org.apache.fop.apps.FopFactory;
 /**
  * Represents a Fop endpoint.
  */
-@UriEndpoint(scheme = "fop", producerOnly = true, label = "transformation")
+@UriEndpoint(scheme = "fop", syntax = "fop:outputFormat", producerOnly = true, label = "transformation")
 public class FopEndpoint extends DefaultEndpoint {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String outputFormat;
     @UriParam
     private String userConfigURL;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopProducer.java b/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopProducer.java
index 8b392e2..d41b6d1 100644
--- a/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopProducer.java
+++ b/components/camel-fop/src/main/java/org/apache/camel/component/fop/FopProducer.java
@@ -42,12 +42,12 @@ import org.apache.fop.pdf.PDFEncryptionParams;
  */
 public class FopProducer extends DefaultProducer {
     private final FopFactory fopFactory;
-    private final String remaining;
+    private final String outputFormat;
 
-    public FopProducer(FopEndpoint endpoint, FopFactory fopFactory, String remaining) {
+    public FopProducer(FopEndpoint endpoint, FopFactory fopFactory, String outputFormat) {
         super(endpoint);
         this.fopFactory = fopFactory;
-        this.remaining = remaining;
+        this.outputFormat = outputFormat;
     }
 
     public void process(Exchange exchange) throws Exception {
@@ -68,7 +68,7 @@ public class FopProducer extends DefaultProducer {
 
     private String getOutputFormat(Exchange exchange) {
         String outputFormat = exchange.getIn()
-                .getHeader(FopConstants.CAMEL_FOP_OUTPUT_FORMAT, this.remaining, String.class);
+                .getHeader(FopConstants.CAMEL_FOP_OUTPUT_FORMAT, this.outputFormat, String.class);
         if (outputFormat == null) {
             throw new RuntimeExchangeException("Missing output format", exchange);
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java
index 84ea4bc..d8b37af 100644
--- a/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java
+++ b/components/camel-freemarker/src/main/java/org/apache/camel/component/freemarker/FreemarkerEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * Freemarker endpoint
  */
-@UriEndpoint(scheme = "freemarker", producerOnly = true, label = "transformation")
+@UriEndpoint(scheme = "freemarker", syntax = "freemarker:resourceUri", producerOnly = true, label = "transformation")
 public class FreemarkerEndpoint extends ResourceEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
index 3164b5c..f3961b4 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.commons.net.ftp.FTPFile;
 /**
  * FTP endpoint
  */
-@UriEndpoint(scheme = "ftp", consumerClass = FtpConsumer.class, label = "file")
+@UriEndpoint(scheme = "ftp", syntax = "ftp:host:port/directoryName", consumerClass = FtpConsumer.class, label = "file")
 public class FtpEndpoint<T extends FTPFile> extends RemoteFileEndpoint<FTPFile> {
 
     protected FTPClient ftpClient;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
index e410de0..53f7bc7 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/FtpsEndpoint.java
@@ -41,7 +41,7 @@ import org.apache.commons.net.ftp.FTPSClient;
  * 
  * @version 
  */
-@UriEndpoint(scheme = "ftps", consumerClass = FtpConsumer.class, label = "file")
+@UriEndpoint(scheme = "ftps", syntax = "ftps:host:port/directoryName", consumerClass = FtpConsumer.class, label = "file")
 public class FtpsEndpoint extends FtpEndpoint<FTPFile> {
     @UriParam
     protected FtpsConfiguration configuration;

http://git-wip-us.apache.org/repos/asf/camel/blob/c763bb13/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
index e891c15..a5bb45c 100644
--- a/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
+++ b/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/SftpEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.UriParam;
 /**
  * Secure FTP endpoint
  */
-@UriEndpoint(scheme = "sftp", consumerClass = SftpConsumer.class, label = "file")
+@UriEndpoint(scheme = "sftp", syntax = "sftp:host:port/directoryName", consumerClass = SftpConsumer.class, label = "file")
 public class SftpEndpoint extends RemoteFileEndpoint<ChannelSftp.LsEntry> {
 
     @UriParam