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:31 UTC

[04/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/cde884bf
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/cde884bf
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/cde884bf

Branch: refs/heads/master
Commit: cde884bf9a191c61163f50a3e3268d19051c5d9d
Parents: c763bb1
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Feb 28 17:52:41 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Feb 28 17:52:41 2015 +0100

----------------------------------------------------------------------
 .../camel/component/gae/auth/GAuthEndpoint.java    |  5 +++--
 .../camel/component/gae/http/GHttpEndpoint.java    |  2 +-
 .../camel/component/gae/login/GLoginEndpoint.java  | 11 ++++++-----
 .../camel/component/gae/mail/GMailEndpoint.java    |  5 +++--
 .../camel/component/gae/task/GTaskEndpoint.java    |  5 +++--
 .../camel/component/ganglia/GangliaEndpoint.java   |  2 +-
 .../camel/component/geocoder/GeoCoderEndpoint.java |  8 ++++----
 .../camel/component/github/GitHubEndpoint.java     |  2 +-
 .../google/calendar/GoogleCalendarEndpoint.java    |  2 +-
 .../google/drive/GoogleDriveEndpoint.java          |  2 +-
 .../component/google/mail/GoogleMailEndpoint.java  |  2 +-
 .../camel/component/gora/GoraConfiguration.java    |  3 ++-
 .../apache/camel/component/gora/GoraEndpoint.java  |  2 +-
 .../guava/eventbus/GuavaEventBusEndpoint.java      |  2 +-
 .../hazelcast/HazelcastDefaultEndpoint.java        |  7 ++++---
 .../camel/component/hbase/HBaseEndpoint.java       |  5 +++--
 .../camel/component/hdfs/HdfsConfiguration.java    | 11 ++++++-----
 .../apache/camel/component/hdfs/HdfsEndpoint.java  |  2 +-
 .../camel/component/hdfs2/HdfsConfiguration.java   |  7 ++++---
 .../apache/camel/component/hdfs2/HdfsEndpoint.java |  2 +-
 .../component/hipchat/HipchatConfiguration.java    |  6 +++---
 .../camel/component/hipchat/HipchatEndpoint.java   |  2 +-
 .../apache/camel/component/http/HttpEndpoint.java  | 13 +++++++------
 .../apache/camel/component/http4/HttpEndpoint.java | 17 +++++++++--------
 .../camel/component/ibatis/IBatisEndpoint.java     |  7 ++++---
 .../infinispan/InfinispanConfiguration.java        |  3 ++-
 .../component/infinispan/InfinispanEndpoint.java   |  2 +-
 .../camel/component/irc/IrcConfiguration.java      |  3 ++-
 .../apache/camel/component/irc/IrcEndpoint.java    |  2 +-
 .../component/javaspace/JavaSpaceEndpoint.java     |  5 +++--
 .../component/jclouds/JcloudsConfiguration.java    |  5 +++--
 .../camel/component/jclouds/JcloudsEndpoint.java   |  2 +-
 .../apache/camel/component/jcr/JcrEndpoint.java    |  4 ++--
 .../apache/camel/component/jdbc/JdbcEndpoint.java  |  5 +++--
 .../camel/component/jetty/JettyHttpEndpoint.java   |  4 +---
 .../camel/component/jetty8/JettyHttpEndpoint8.java |  2 +-
 .../camel/component/jetty9/JettyHttpEndpoint9.java |  2 +-
 .../camel/component/jgroups/JGroupsEndpoint.java   |  5 +++--
 .../component/validator/jing/JingEndpoint.java     |  5 +++--
 .../apache/camel/component/jira/JIRAEndpoint.java  |  5 +++--
 .../camel/component/servlet/ServletEndpoint.java   |  7 ++++---
 .../camel/component/event/EventEndpoint.java       |  2 +-
 .../camel/component/velocity/VelocityEndpoint.java |  2 +-
 43 files changed, 108 insertions(+), 89 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-gae/src/main/java/org/apache/camel/component/gae/auth/GAuthEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-gae/src/main/java/org/apache/camel/component/gae/auth/GAuthEndpoint.java b/components/camel-gae/src/main/java/org/apache/camel/component/gae/auth/GAuthEndpoint.java
index 0a17dc7..2b203da 100644
--- a/components/camel-gae/src/main/java/org/apache/camel/component/gae/auth/GAuthEndpoint.java
+++ b/components/camel-gae/src/main/java/org/apache/camel/component/gae/auth/GAuthEndpoint.java
@@ -31,6 +31,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.gae.bind.OutboundBinding;
 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;
@@ -43,7 +44,7 @@ import org.apache.camel.spi.UriPath;
  * endpoint URIs are <code>gauth:authorize</code> and <code>gauth:upgrade</code>
  * , respectively.
  */
-@UriEndpoint(scheme = "gauth", producerOnly = true, label = "cloud")
+@UriEndpoint(scheme = "gauth", syntax = "gauth:name", producerOnly = true, label = "cloud")
 public class GAuthEndpoint  extends DefaultEndpoint {
 
     public static enum Name {
@@ -63,7 +64,7 @@ public class GAuthEndpoint  extends DefaultEndpoint {
     
     private OutboundBinding<GAuthEndpoint, GoogleOAuthParameters, GoogleOAuthParameters> authorizeBinding;
     private OutboundBinding<GAuthEndpoint, GoogleOAuthParameters, GoogleOAuthParameters> upgradeBinding;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private Name name;
     @UriParam
     private String callback;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-gae/src/main/java/org/apache/camel/component/gae/http/GHttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-gae/src/main/java/org/apache/camel/component/gae/http/GHttpEndpoint.java b/components/camel-gae/src/main/java/org/apache/camel/component/gae/http/GHttpEndpoint.java
index 8885544..a980402 100644
--- a/components/camel-gae/src/main/java/org/apache/camel/component/gae/http/GHttpEndpoint.java
+++ b/components/camel-gae/src/main/java/org/apache/camel/component/gae/http/GHttpEndpoint.java
@@ -48,7 +48,7 @@ import org.apache.commons.httpclient.params.HttpClientParams;
  * Represents a <a href="http://camel.apache.org/ghttp.html">Google App Engine
  * HTTP endpoint</a>.
  */
-@UriEndpoint(scheme = "ghttp", producerOnly = true, label = "cloud")
+@UriEndpoint(scheme = "ghttp", syntax = "ghttp:httpUri", producerOnly = true, label = "cloud")
 public class GHttpEndpoint extends ServletEndpoint implements OutboundBindingSupport<GHttpEndpoint, HTTPRequest, HTTPResponse> {
 
     public static final String GHTTP_SCHEME = "ghttp";

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-gae/src/main/java/org/apache/camel/component/gae/login/GLoginEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-gae/src/main/java/org/apache/camel/component/gae/login/GLoginEndpoint.java b/components/camel-gae/src/main/java/org/apache/camel/component/gae/login/GLoginEndpoint.java
index f9d68da..9e32e3e 100644
--- a/components/camel-gae/src/main/java/org/apache/camel/component/gae/login/GLoginEndpoint.java
+++ b/components/camel-gae/src/main/java/org/apache/camel/component/gae/login/GLoginEndpoint.java
@@ -22,6 +22,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.gae.bind.OutboundBinding;
 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;
@@ -30,14 +31,14 @@ import org.apache.camel.spi.UriPath;
  * Represents a <a href="http://camel.apache.org/glogin.html">GLogin
  * Endpoint</a>.
  */
-@UriEndpoint(scheme = "glogin", producerOnly = true, label = "cloud")
+@UriEndpoint(scheme = "glogin", syntax = "glogin:hostName", producerOnly = true, label = "cloud")
 public class GLoginEndpoint extends DefaultEndpoint {
 
     private OutboundBinding<GLoginEndpoint, GLoginData, GLoginData> outboundBinding;
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String hostName;
-    @UriPath
+    @UriParam
     private String clientName;
     @UriParam
     private String userName;
@@ -45,9 +46,9 @@ public class GLoginEndpoint extends DefaultEndpoint {
     private String password;
     @UriParam
     private int devPort;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean devAdmin;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean devMode;
     private GLoginService service;
 

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailEndpoint.java b/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailEndpoint.java
index dd4c786..1803734 100644
--- a/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailEndpoint.java
+++ b/components/camel-gae/src/main/java/org/apache/camel/component/gae/mail/GMailEndpoint.java
@@ -27,6 +27,7 @@ import org.apache.camel.Producer;
 import org.apache.camel.component.gae.bind.OutboundBinding;
 import org.apache.camel.component.gae.bind.OutboundBindingSupport;
 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,12 +35,12 @@ import org.apache.camel.spi.UriPath;
 /**
  * Represents a <a href="http://camel.apache.org/gmail.html">Google App Engine Mail endpoint</a>.
  */
-@UriEndpoint(scheme = "gmail", producerOnly = true, label = "cloud,mail")
+@UriEndpoint(scheme = "gmail", syntax = "gmail:sender", producerOnly = true, label = "cloud,mail")
 public class GMailEndpoint extends DefaultEndpoint implements OutboundBindingSupport<GMailEndpoint, Message, Void> {
 
     private OutboundBinding<GMailEndpoint, Message, Void> outboundBinding;
     private MailService mailService;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String sender;
     @UriParam
     private String subject;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskEndpoint.java b/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskEndpoint.java
index 8bbd5d7..e17cd18 100644
--- a/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskEndpoint.java
+++ b/components/camel-gae/src/main/java/org/apache/camel/component/gae/task/GTaskEndpoint.java
@@ -34,6 +34,7 @@ import org.apache.camel.component.http.HttpBinding;
 import org.apache.camel.component.http.HttpClientConfigurer;
 import org.apache.camel.component.servlet.ServletComponent;
 import org.apache.camel.component.servlet.ServletEndpoint;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -43,12 +44,12 @@ import org.apache.commons.httpclient.params.HttpClientParams;
 /**
  * Represents a <a href="http://camel.apache.org/gtask.html">Google App Engine Task Queueing endpoint</a>.
  */
-@UriEndpoint(scheme = "gtask", producerOnly = true, label = "cloud")
+@UriEndpoint(scheme = "gtask", syntax = "gtask:queueName", producerOnly = true, label = "cloud")
 public class GTaskEndpoint extends ServletEndpoint implements OutboundBindingSupport<GTaskEndpoint, TaskOptions, Void> {
 
     private OutboundBinding<GTaskEndpoint, TaskOptions, Void> outboundBinding;
     private InboundBinding<GTaskEndpoint, HttpServletRequest, HttpServletResponse> inboundBinding;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String queueName;
     private Queue queue;
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java
index 5974c1a..6d10ec7 100644
--- a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java
+++ b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.util.ObjectHelper;
 
-@UriEndpoint(scheme = "ganglia", producerOnly = true, label = "monitoring")
+@UriEndpoint(scheme = "ganglia", syntax = "ganglia:host:port", producerOnly = true, label = "monitoring")
 public class GangliaEndpoint extends DefaultEndpoint {
 
     private Publisher publisher;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java b/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java
index 15905a8..ba967ba 100644
--- a/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java
+++ b/components/camel-geocoder/src/main/java/org/apache/camel/component/geocoder/GeoCoderEndpoint.java
@@ -27,12 +27,12 @@ import org.apache.camel.spi.UriPath;
 /**
  * Represents a GeoCoder endpoint.
  */
-@UriEndpoint(scheme = "geocoder", producerOnly = true, label = "api,location")
+@UriEndpoint(scheme = "geocoder", syntax = "geocoder:address:latlng", producerOnly = true, label = "api,location")
 public class GeoCoderEndpoint extends DefaultEndpoint {
 
-    @UriPath
+    @UriPath(description = "The geo address which must prefix with address:")
     private String address;
-    @UriPath
+    @UriPath(description = "The geo coordinate which must prefix with latng:")
     private String latlng;
     @UriParam(defaultValue = "en")
     private String language = "en";
@@ -40,7 +40,7 @@ public class GeoCoderEndpoint extends DefaultEndpoint {
     private String clientId;
     @UriParam
     private String clientKey;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean headersOnly;
 
     public GeoCoderEndpoint() {

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java b/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
index 92a49a3..a2e8b30 100644
--- a/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
+++ b/components/camel-github/src/main/java/org/apache/camel/component/github/GitHubEndpoint.java
@@ -52,7 +52,7 @@ import org.apache.camel.util.ObjectHelper;
  * - the types of payloads we're polling aren't typically large (plus, paging is available in the API)
  * - need to support apps running somewhere not publicly accessible where a webhook would fail
  */
-@UriEndpoint(scheme = "github", label = "api,file")
+@UriEndpoint(scheme = "github", syntax = "github:type/branchName", label = "api,file")
 public class GitHubEndpoint extends DefaultEndpoint {
 
     @UriPath

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
index e37db68..95e799f 100644
--- a/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
+++ b/components/camel-google-calendar/src/main/java/org/apache/camel/component/google/calendar/GoogleCalendarEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.util.component.ApiMethodPropertiesHelper;
 /**
  * Represents a GoogleCalendar endpoint.
  */
-@UriEndpoint(scheme = "google-calendar", consumerClass = GoogleCalendarConsumer.class, consumerPrefix = "consumer", label = "api,cloud")
+@UriEndpoint(scheme = "google-calendar", syntax = "google-calendar:apiName/methodName", consumerClass = GoogleCalendarConsumer.class, consumerPrefix = "consumer", label = "api,cloud")
 public class GoogleCalendarEndpoint extends AbstractApiEndpoint<GoogleCalendarApiName, GoogleCalendarConfiguration> {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java b/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
index 40de52c..272e50b 100644
--- a/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
+++ b/components/camel-google-drive/src/main/java/org/apache/camel/component/google/drive/GoogleDriveEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.util.component.ApiMethodPropertiesHelper;
 /**
  * Represents a GoogleDrive endpoint.
  */
-@UriEndpoint(scheme = "google-drive", consumerClass = GoogleDriveConsumer.class, consumerPrefix = "consumer", label = "api,cloud,file")
+@UriEndpoint(scheme = "google-drive", syntax = "google:drive:apiName/methodName", consumerClass = GoogleDriveConsumer.class, consumerPrefix = "consumer", label = "api,cloud,file")
 public class GoogleDriveEndpoint extends AbstractApiEndpoint<GoogleDriveApiName, GoogleDriveConfiguration> {
     private Object apiProxy;
 

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java
index a25acc5..2266d09 100644
--- a/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java
+++ b/components/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/GoogleMailEndpoint.java
@@ -36,7 +36,7 @@ import org.apache.camel.util.component.ApiMethodPropertiesHelper;
 /**
  * Represents a GoogleMail endpoint.
  */
-@UriEndpoint(scheme = "google-mail", consumerClass = GoogleMailConsumer.class, consumerPrefix = "consumer", label = "api,cloud,mail")
+@UriEndpoint(scheme = "google-mail", syntax = "google-mail:apiName/methodName", consumerClass = GoogleMailConsumer.class, consumerPrefix = "consumer", label = "api,cloud,mail")
 public class GoogleMailEndpoint extends AbstractApiEndpoint<GoogleMailApiName, GoogleMailConfiguration> {
 
     // TODO create and manage API proxy

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraConfiguration.java b/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraConfiguration.java
index d583ec4..a8e8a91 100644
--- a/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraConfiguration.java
+++ b/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraConfiguration.java
@@ -18,6 +18,7 @@
 package org.apache.camel.component.gora;
 
 import com.google.common.base.Strings;
+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,7 +35,7 @@ import static com.google.common.base.Strings.isNullOrEmpty;
 @UriParams
 public class GoraConfiguration {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String name;
 
     /**

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java b/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java
index b6fa98c..1081fc3 100644
--- a/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java
+++ b/components/camel-gora/src/main/java/org/apache/camel/component/gora/GoraEndpoint.java
@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Gora endpoint
  */
-@UriEndpoint(scheme = "gora", consumerClass = GoraConsumer.class, label = "database,hadoop,nosql")
+@UriEndpoint(scheme = "gora", syntax = "gora:name", consumerClass = GoraConsumer.class, label = "database,hadoop,nosql")
 public class GoraEndpoint extends DefaultEndpoint {
 
     /**

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java b/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
index d5f4295..5cd4a2a 100644
--- a/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
+++ b/components/camel-guava-eventbus/src/main/java/org/apache/camel/component/guava/eventbus/GuavaEventBusEndpoint.java
@@ -33,7 +33,7 @@ import org.apache.camel.util.CamelContextHelper;
  * Guava EventBus (http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/eventbus/EventBus.html)
  * endpoint. Can create both producer and consumer ends of the route.
  */
-@UriEndpoint(scheme = "guava-eventbus", consumerClass = GuavaEventBusConsumer.class, label = "eventbus")
+@UriEndpoint(scheme = "guava-eventbus", syntax = "guava-eventbus:eventBusRef", consumerClass = GuavaEventBusConsumer.class, label = "eventbus")
 public class GuavaEventBusEndpoint extends DefaultEndpoint implements MultipleConsumersSupport {
 
     private EventBus eventBus;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
index fba2afd..9fb33c6 100644
--- a/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
+++ b/components/camel-hazelcast/src/main/java/org/apache/camel/component/hazelcast/HazelcastDefaultEndpoint.java
@@ -22,16 +22,17 @@ 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;
 
-@UriEndpoint(scheme = "hazelcast", consumerClass = HazelcastDefaultConsumer.class, label = "cache,datagrid")
+@UriEndpoint(scheme = "hazelcast", syntax = "hazelcast:command:cacheName", consumerClass = HazelcastDefaultConsumer.class, label = "cache,datagrid")
 public abstract class HazelcastDefaultEndpoint extends DefaultEndpoint {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     protected HazelcastCommand command;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     protected String cacheName;
     @UriParam
     protected HazelcastInstance hazelcastInstance;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
index 11587fb..64f55fd 100644
--- a/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
+++ b/components/camel-hbase/src/main/java/org/apache/camel/component/hbase/HBaseEndpoint.java
@@ -24,6 +24,7 @@ import org.apache.camel.Producer;
 import org.apache.camel.component.hbase.mapping.CellMappingStrategyFactory;
 import org.apache.camel.component.hbase.model.HBaseRow;
 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;
@@ -35,14 +36,14 @@ import org.apache.hadoop.hbase.filter.Filter;
 /**
  * Represents an HBase endpoint.
  */
-@UriEndpoint(scheme = "hbase", consumerClass = HBaseConsumer.class, label = "hadoop")
+@UriEndpoint(scheme = "hbase", syntax = "hbase:tableName", consumerClass = HBaseConsumer.class, label = "hadoop")
 public class HBaseEndpoint extends DefaultEndpoint {
 
     private Configuration configuration;
     private final HTablePool tablePool;
     private HBaseAdmin admin;
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private final String tableName;
     //Operation properties.
     @UriParam(defaultValue = "100")

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsConfiguration.java b/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsConfiguration.java
index 189f20f..24890a7 100644
--- a/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsConfiguration.java
+++ b/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsConfiguration.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.List;
 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;
@@ -32,17 +33,17 @@ import org.apache.hadoop.io.SequenceFile;
 public class HdfsConfiguration {
 
     private URI uri;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String hostName;
-    @UriPath
+    @UriPath(defaultValue = "" + HdfsConstants.DEFAULT_PORT)
     private int port = HdfsConstants.DEFAULT_PORT;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String path;
     @UriParam(defaultValue = "true")
     private boolean overwrite = true;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean append;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean wantAppend;
     @UriParam(defaultValue = "" + HdfsConstants.DEFAULT_BUFFERSIZE)
     private int bufferSize = HdfsConstants.DEFAULT_BUFFERSIZE;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsEndpoint.java b/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsEndpoint.java
index 98142fb..9692a97 100644
--- a/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsEndpoint.java
+++ b/components/camel-hdfs/src/main/java/org/apache/camel/component/hdfs/HdfsEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 
-@UriEndpoint(scheme = "hdfs", consumerClass = HdfsConsumer.class, label = "hadoop,file")
+@UriEndpoint(scheme = "hdfs", syntax = "hdfs:hostName:port/path", consumerClass = HdfsConsumer.class, label = "hadoop,file")
 public class HdfsEndpoint extends DefaultEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsConfiguration.java b/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsConfiguration.java
index a528c22..58d602e 100644
--- a/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsConfiguration.java
+++ b/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsConfiguration.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.List;
 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;
@@ -32,11 +33,11 @@ import org.apache.hadoop.io.SequenceFile;
 public class HdfsConfiguration {
 
     private URI uri;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String hostName;
-    @UriPath
+    @UriPath(defaultValue = "" + HdfsConstants.DEFAULT_PORT)
     private int port = HdfsConstants.DEFAULT_PORT;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String path;
     @UriParam(defaultValue = "true")
     private boolean overwrite = true;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java b/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java
index dec60b2..10cd4f7 100644
--- a/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java
+++ b/components/camel-hdfs2/src/main/java/org/apache/camel/component/hdfs2/HdfsEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 
-@UriEndpoint(scheme = "hdfs2", consumerClass = HdfsConsumer.class, label = "hadoop,file")
+@UriEndpoint(scheme = "hdfs2", syntax = "hdfs2:hostName:port/path", consumerClass = HdfsConsumer.class, label = "hadoop,file")
 public class HdfsEndpoint extends DefaultEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java
index 151774b..21a00b6 100644
--- a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java
+++ b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatConfiguration.java
@@ -22,11 +22,11 @@ import org.apache.camel.spi.UriPath;
 
 @UriParams
 public class HipchatConfiguration {
-    @UriPath
+    @UriPath(defaultValue = HipchatConstants.DEFAULT_PROTOCOL)
     private String protocol = HipchatConstants.DEFAULT_PROTOCOL;
-    @UriPath
+    @UriPath(defaultValue = HipchatConstants.DEFAULT_HOST)
     private String host = HipchatConstants.DEFAULT_HOST;
-    @UriPath
+    @UriPath(defaultValue = "" + HipchatConstants.DEFAULT_PORT)
     private Integer port = HipchatConstants.DEFAULT_PORT;
     @UriParam
     private String authToken;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java
index 51150da..a61cd37 100644
--- a/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java
+++ b/components/camel-hipchat/src/main/java/org/apache/camel/component/hipchat/HipchatEndpoint.java
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Represents a Hipchat endpoint.
  */
-@UriEndpoint(scheme = "hipchat", consumerClass = HipchatConsumer.class, label = "api,cloud")
+@UriEndpoint(scheme = "hipchat", syntax = "hipchat:protocol:host:port", consumerClass = HipchatConsumer.class, label = "api,cloud")
 public class HipchatEndpoint extends ScheduledPollEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
index 05b0ff6..f8a87b5 100644
--- a/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
+++ b/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
@@ -29,6 +29,7 @@ import org.apache.camel.Producer;
 import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategyAware;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -45,27 +46,27 @@ import org.slf4j.LoggerFactory;
  *
  * @version 
  */
-@UriEndpoint(scheme = "http,https", producerOnly = true, label = "http")
+@UriEndpoint(scheme = "http,https", syntax = "http:httpUri", producerOnly = true, label = "http")
 public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware {
 
     private static final Logger LOG = LoggerFactory.getLogger(HttpEndpoint.class);
     private HeaderFilterStrategy headerFilterStrategy = new HttpHeaderFilterStrategy();
     private HttpBinding binding;
     private HttpComponent component;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private URI httpUri;
     private HttpClientParams clientParams;
     private HttpClientConfigurer httpClientConfigurer;
     private HttpConnectionManager httpConnectionManager;
     @UriParam(defaultValue = "true")
     private boolean throwExceptionOnFailure = true;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean bridgeEndpoint;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean matchOnUriPrefix;
     @UriParam(defaultValue = "true")
     private boolean chunked = true;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean disableStreamCache;
     @UriParam
     private String proxyHost;
@@ -75,7 +76,7 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
     private String authMethodPriority;
     @UriParam
     private boolean transferException;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean traceEnabled;
     @UriParam
     private String httpMethodRestrict;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
index 779daae..9a00bf8 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
@@ -27,6 +27,7 @@ import org.apache.camel.component.http4.helper.HttpHelper;
 import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.spi.HeaderFilterStrategyAware;
+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,7 +48,7 @@ import org.slf4j.LoggerFactory;
  *
  * @version 
  */
-@UriEndpoint(scheme = "http4,http4s", producerOnly = true, label = "http")
+@UriEndpoint(scheme = "http4,http4s", syntax = "http4:httpUri", producerOnly = true, label = "http")
 public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware {
 
     private static final Logger LOG = LoggerFactory.getLogger(HttpEndpoint.class);
@@ -55,7 +56,7 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
     private HttpBinding binding;
     private HttpContext httpContext;
     private HttpComponent component;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private URI httpUri;
     private HttpClientConfigurer httpClientConfigurer;
     private HttpClientConnectionManager clientConnectionManager;
@@ -63,19 +64,19 @@ public class HttpEndpoint extends DefaultEndpoint implements HeaderFilterStrateg
     private HttpClient httpClient;
     @UriParam(defaultValue = "true")
     private boolean throwExceptionOnFailure = true;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean bridgeEndpoint;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean matchOnUriPrefix;
     @UriParam(defaultValue = "true")
     private boolean chunked = true;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean disableStreamCache;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean transferException;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean traceEnabled;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean authenticationPreemptive;
     @UriParam
     private String httpMethodRestrict;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisEndpoint.java b/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisEndpoint.java
index bfe88e6..9e90abd 100644
--- a/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisEndpoint.java
+++ b/components/camel-ibatis/src/main/java/org/apache/camel/component/ibatis/IBatisEndpoint.java
@@ -25,6 +25,7 @@ import org.apache.camel.component.ibatis.strategy.DefaultIBatisProcessingStategy
 import org.apache.camel.component.ibatis.strategy.IBatisProcessingStrategy;
 import org.apache.camel.component.ibatis.strategy.TransactionIsolationLevel;
 import org.apache.camel.impl.DefaultPollingEndpoint;
+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,11 +35,11 @@ import org.apache.camel.util.ObjectHelper;
  * An <a href="http://camel.apache.org/ibatis.html>iBatis Endpoint</a>
  * for performing SQL operations using an XML mapping file to abstract away the SQL
  */
-@UriEndpoint(scheme = "ibatis", consumerClass = IBatisConsumer.class, label = "database")
+@UriEndpoint(scheme = "ibatis", syntax = "ibatis:statement", consumerClass = IBatisConsumer.class, label = "database")
 public class IBatisEndpoint extends DefaultPollingEndpoint {
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String statement;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean useTransactions;
     @UriParam
     private StatementType statementType;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
index 5cceabe..2bb8b8d 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConfiguration.java
@@ -20,6 +20,7 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Set;
 
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -28,7 +29,7 @@ import org.infinispan.commons.api.BasicCacheContainer;
 @UriParams
 public class InfinispanConfiguration {
     private BasicCacheContainer cacheContainer;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String host;
     @UriParam
     private String cacheName;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
index 2fbd97d..de95923 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanEndpoint.java
@@ -23,7 +23,7 @@ import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 
-@UriEndpoint(scheme = "infinispan", consumerClass = InfinispanConsumer.class, label = "cache,datagrid,clustering")
+@UriEndpoint(scheme = "infinispan", syntax = "infinispan:host", consumerClass = InfinispanConsumer.class, label = "cache,datagrid,clustering")
 public class InfinispanEndpoint extends DefaultEndpoint {
     @UriParam
     private InfinispanConfiguration configuration;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
index 5ee86ad..9c2adf4 100644
--- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
+++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcConfiguration.java
@@ -26,6 +26,7 @@ import java.util.List;
 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;
@@ -43,7 +44,7 @@ public class IrcConfiguration implements Cloneable {
     private static final Logger LOG = LoggerFactory.getLogger(IrcConfiguration.class);
 
     private List<IrcChannel> channels = new ArrayList<IrcChannel>();
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String hostname;
     @UriPath
     private int port;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
index 7e84b38..9c0e766 100644
--- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
+++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
  *
  * @version 
  */
-@UriEndpoint(scheme = "irc", consumerClass = IrcConsumer.class, label = "chat")
+@UriEndpoint(scheme = "irc", syntax = "irc:hostname:port", consumerClass = IrcConsumer.class, label = "chat")
 public class IrcEndpoint extends DefaultEndpoint {
     private static final Logger LOG = LoggerFactory.getLogger(IrcEndpoint.class);
 

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-javaspace/src/main/java/org/apache/camel/component/javaspace/JavaSpaceEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-javaspace/src/main/java/org/apache/camel/component/javaspace/JavaSpaceEndpoint.java b/components/camel-javaspace/src/main/java/org/apache/camel/component/javaspace/JavaSpaceEndpoint.java
index 764bf59..127b7c8 100644
--- a/components/camel-javaspace/src/main/java/org/apache/camel/component/javaspace/JavaSpaceEndpoint.java
+++ b/components/camel-javaspace/src/main/java/org/apache/camel/component/javaspace/JavaSpaceEndpoint.java
@@ -23,6 +23,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.impl.DefaultExchange;
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
@@ -30,12 +31,12 @@ import org.apache.camel.spi.UriPath;
 /**
  * @version 
  */
-@UriEndpoint(scheme = "javaspace", consumerClass = JavaSpaceConsumer.class, label = "messaging")
+@UriEndpoint(scheme = "javaspace", syntax = "javaspace:url", consumerClass = JavaSpaceConsumer.class, label = "messaging")
 public class JavaSpaceEndpoint extends DefaultEndpoint {
 
     private final Map<?, ?> parameters;
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private final String url;
     @UriParam(defaultValue = "1")
     private int concurrentConsumers = 1;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsConfiguration.java b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsConfiguration.java
index 68fff77..dfec111 100644
--- a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsConfiguration.java
+++ b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsConfiguration.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.jclouds;
 
+import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;
 import org.apache.camel.spi.UriPath;
@@ -23,9 +24,9 @@ import org.apache.camel.spi.UriPath;
 @UriParams
 public class JcloudsConfiguration {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private JcloudsCommand command;
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String providerId;
 
     // compute options

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsEndpoint.java b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsEndpoint.java
index e15647a..c37efdf 100644
--- a/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsEndpoint.java
+++ b/components/camel-jclouds/src/main/java/org/apache/camel/component/jclouds/JcloudsEndpoint.java
@@ -20,7 +20,7 @@ import org.apache.camel.impl.DefaultEndpoint;
 import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 
-@UriEndpoint(scheme = "jclouds", consumerClass = JcloudsConsumer.class, label = "api,cloud")
+@UriEndpoint(scheme = "jclouds", syntax = "jclouds:command:providerId", consumerClass = JcloudsConsumer.class, label = "api,cloud")
 public abstract class JcloudsEndpoint extends DefaultEndpoint {
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java b/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java
index ae2233d..af3c092 100644
--- a/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java
+++ b/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrEndpoint.java
@@ -35,7 +35,7 @@ import org.apache.camel.util.ObjectHelper;
 /**
  * A JCR endpoint
  */
-@UriEndpoint(scheme = "jcr", consumerClass = JcrConsumer.class, label = "cms,database")
+@UriEndpoint(scheme = "jcr", syntax = "jcr:host/base", consumerClass = JcrConsumer.class, label = "cms,database")
 public class JcrEndpoint extends DefaultEndpoint {
 
     private Credentials credentials;
@@ -57,7 +57,7 @@ public class JcrEndpoint extends DefaultEndpoint {
     private String uuids;
     @UriParam
     private String nodeTypeNames;
-    @UriParam(defaultValue = "false")
+    @UriParam
     private boolean noLocal;
     @UriParam(defaultValue = "3000")
     private long sessionLiveCheckIntervalOnStart = 3000L;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/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 598b9b2..ae1b879 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
@@ -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;
@@ -31,9 +32,9 @@ import org.apache.camel.spi.UriPath;
 /**
  * @version
  */
-@UriEndpoint(scheme = "jdbc", producerOnly = true, label = "database")
+@UriEndpoint(scheme = "jdbc", syntax = "jdbc:dataSource", producerOnly = true, label = "database")
 public class JdbcEndpoint extends DefaultEndpoint {
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private DataSource dataSource;
     @UriParam
     private int readSize;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
index 15bf62c..4b17416 100644
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
+++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
@@ -31,7 +31,6 @@ import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.component.http.HttpConsumer;
 import org.apache.camel.component.http.HttpEndpoint;
 import org.apache.camel.impl.SynchronousDelegateProducer;
-import org.apache.camel.spi.UriEndpoint;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.util.IntrospectionSupport;
 import org.apache.camel.util.jsse.SSLContextParameters;
@@ -41,7 +40,6 @@ import org.eclipse.jetty.server.Handler;
 /**
  * @version 
  */
-@UriEndpoint(scheme = "jetty", consumerClass = HttpConsumer.class, label = "http")
 public abstract class JettyHttpEndpoint extends HttpEndpoint {
 
     @UriParam
@@ -57,7 +55,7 @@ public abstract class JettyHttpEndpoint extends HttpEndpoint {
     private boolean enableJmx;
     @UriParam
     private boolean enableMultipartFilter;
-    @UriParam
+    @UriParam(defaultValue = "true")
     private boolean sendServerVersion = true;
     @UriParam
     private boolean sendDateHeader;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-jetty8/src/main/java/org/apache/camel/component/jetty8/JettyHttpEndpoint8.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty8/src/main/java/org/apache/camel/component/jetty8/JettyHttpEndpoint8.java b/components/camel-jetty8/src/main/java/org/apache/camel/component/jetty8/JettyHttpEndpoint8.java
index ee4d0a8..05e1215 100644
--- a/components/camel-jetty8/src/main/java/org/apache/camel/component/jetty8/JettyHttpEndpoint8.java
+++ b/components/camel-jetty8/src/main/java/org/apache/camel/component/jetty8/JettyHttpEndpoint8.java
@@ -25,7 +25,7 @@ import org.apache.camel.component.jetty.JettyHttpComponent;
 import org.apache.camel.component.jetty.JettyHttpEndpoint;
 import org.apache.camel.spi.UriEndpoint;
 
-@UriEndpoint(scheme = "jetty", consumerClass = HttpConsumer.class, label = "http")
+@UriEndpoint(scheme = "jetty", syntax = "jetty:httpUri", consumerClass = HttpConsumer.class, label = "http")
 public class JettyHttpEndpoint8 extends JettyHttpEndpoint {
 
     public JettyHttpEndpoint8(JettyHttpComponent component, String uri, URI httpURL) throws URISyntaxException {

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
----------------------------------------------------------------------
diff --git a/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java b/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
index 4cbef36..895d74e 100644
--- a/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
+++ b/components/camel-jetty9/src/main/java/org/apache/camel/component/jetty9/JettyHttpEndpoint9.java
@@ -26,7 +26,7 @@ import org.apache.camel.component.jetty.JettyHttpComponent;
 import org.apache.camel.component.jetty.JettyHttpEndpoint;
 import org.apache.camel.spi.UriEndpoint;
 
-@UriEndpoint(scheme = "jetty", consumerClass = HttpConsumer.class, label = "http")
+@UriEndpoint(scheme = "jetty", syntax = "jetty:httpUri", consumerClass = HttpConsumer.class, label = "http")
 public class JettyHttpEndpoint9 extends JettyHttpEndpoint {
     private HttpBinding binding;
 

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java
index d823c1e..7295a24 100644
--- a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java
+++ b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsEndpoint.java
@@ -24,6 +24,7 @@ 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;
@@ -34,7 +35,7 @@ import org.jgroups.View;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@UriEndpoint(scheme = "jgroups", consumerClass = JGroupsConsumer.class, label = "clustering,messaging")
+@UriEndpoint(scheme = "jgroups", syntax = "jgroups:clusterName", consumerClass = JGroupsConsumer.class, label = "clustering,messaging")
 public class JGroupsEndpoint extends DefaultEndpoint {
 
     public static final String HEADER_JGROUPS_ORIGINAL_MESSAGE = "JGROUPS_ORIGINAL_MESSAGE";
@@ -52,7 +53,7 @@ public class JGroupsEndpoint extends DefaultEndpoint {
 
     private Channel resolvedChannel;
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String clusterName;
 
     @UriParam

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingEndpoint.java b/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingEndpoint.java
index b70dd85..7b4682d 100644
--- a/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingEndpoint.java
+++ b/components/camel-jing/src/main/java/org/apache/camel/component/validator/jing/JingEndpoint.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.validator.jing;
 
 import java.io.InputStream;
 
+import org.apache.camel.spi.Metadata;
 import org.xml.sax.InputSource;
 
 import com.thaiopensource.relaxng.SchemaFactory;
@@ -34,10 +35,10 @@ import org.apache.camel.spi.UriPath;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.ResourceHelper;
 
-@UriEndpoint(scheme = "jing", producerOnly = true, label = "validation")
+@UriEndpoint(scheme = "jing", syntax = "jing:resourceUri", producerOnly = true, label = "validation")
 public class JingEndpoint extends DefaultEndpoint {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private String resourceUri;
     @UriParam
     private boolean compactSyntax;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-jira/src/main/java/org/apache/camel/component/jira/JIRAEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-jira/src/main/java/org/apache/camel/component/jira/JIRAEndpoint.java b/components/camel-jira/src/main/java/org/apache/camel/component/jira/JIRAEndpoint.java
index cfbd5a4..4a8a32d 100644
--- a/components/camel-jira/src/main/java/org/apache/camel/component/jira/JIRAEndpoint.java
+++ b/components/camel-jira/src/main/java/org/apache/camel/component/jira/JIRAEndpoint.java
@@ -23,6 +23,7 @@ import org.apache.camel.component.jira.consumer.NewCommentConsumer;
 import org.apache.camel.component.jira.consumer.NewIssueConsumer;
 import org.apache.camel.component.jira.producer.NewIssueProducer;
 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;
@@ -42,10 +43,10 @@ import org.apache.camel.spi.UriPath;
  * - the types of payloads we're polling aren't typically large (plus, paging is available in the API)
  * - need to support apps running somewhere not publicly accessible where a webhook would fail
  */
-@UriEndpoint(scheme = "jira", label = "api,reporting")
+@UriEndpoint(scheme = "jira", syntax = "jira:type", label = "api,reporting")
 public class JIRAEndpoint extends DefaultEndpoint {
 
-    @UriPath
+    @UriPath @Metadata(required = "true")
     private JIRAType type;
     @UriParam
     private String serverUrl;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
index a9106db..511d1c8 100644
--- a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
+++ b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
@@ -24,15 +24,16 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.component.http.HttpClientConfigurer;
 import org.apache.camel.component.http.HttpEndpoint;
+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.apache.commons.httpclient.HttpConnectionManager;
 import org.apache.commons.httpclient.params.HttpClientParams;
 
-@UriEndpoint(scheme = "servlet", consumerOnly = true, consumerClass = ServletConsumer.class, label = "http")
+@UriEndpoint(scheme = "servlet", syntax = "servlet:servletName", consumerOnly = true, consumerClass = ServletConsumer.class, label = "http")
 public class ServletEndpoint extends HttpEndpoint {
 
-    @UriParam
+    @UriPath @Metadata(required = "true")
     private String servletName;
 
     public ServletEndpoint() {

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java b/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
index 99f0066..df4fb58 100644
--- a/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
+++ b/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
@@ -39,7 +39,7 @@ import static org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException;
  *
  * @version 
  */
-@UriEndpoint(scheme = "spring-event", consumerClass = EventConsumer.class, label = "spring,eventbus")
+@UriEndpoint(scheme = "spring-event", syntax = "spring-event:name", consumerClass = EventConsumer.class, label = "spring,eventbus")
 public class EventEndpoint extends DefaultEndpoint implements ApplicationContextAware {
     private LoadBalancer loadBalancer;
     private ApplicationContext applicationContext;

http://git-wip-us.apache.org/repos/asf/camel/blob/cde884bf/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java b/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java
index 33a9484..1aecf7d 100644
--- a/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java
+++ b/components/camel-velocity/src/main/java/org/apache/camel/component/velocity/VelocityEndpoint.java
@@ -40,7 +40,7 @@ import org.apache.velocity.context.Context;
 import org.apache.velocity.runtime.RuntimeConstants;
 import org.apache.velocity.runtime.log.CommonsLogLogChute;
 
-@UriEndpoint(scheme = "velocity", producerOnly = true, label = "transformation")
+@UriEndpoint(scheme = "velocity", syntax = "velocity:resourceUri", producerOnly = true, label = "transformation")
 public class VelocityEndpoint extends ResourceEndpoint {
     
     private VelocityEngine velocityEngine;