Repository: camel Updated Branches: refs/heads/camel-2.16.x 3f70c32e4 -> d11b039c5 refs/heads/master 12f653648 -> 7336d59d9
Camel component docs - Should include information if an endpoint is lenient properties Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e1511399 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e1511399 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e1511399 Branch: refs/heads/master Commit: e15113996aae0b1f9d6e5ec726d9a327519bebf0 Parents: 12f6536 Author: Claus Ibsen <davscl...@apache.org> Authored: Mon Jan 4 21:25:16 2016 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Jan 4 21:25:16 2016 +0100 ---------------------------------------------------------------------- .../apache/camel/component/mock/MockEndpoint.java | 2 +- .../camel/component/rest/RestApiEndpoint.java | 2 +- .../apache/camel/component/rest/RestEndpoint.java | 2 +- .../apache/camel/component/stub/StubEndpoint.java | 6 +++++- .../org/apache/camel/component/ahc/AhcEndpoint.java | 2 +- .../apache/camel/component/atom/AtomEndpoint.java | 3 ++- .../camel/component/cxf/jaxrs/CxfRsEndpoint.java | 2 +- .../camel/component/docker/DockerEndpoint.java | 3 ++- .../camel/component/gae/http/GHttpEndpoint.java | 2 +- .../apache/camel/component/http/HttpEndpoint.java | 2 +- .../camel/component/kestrel/KestrelEndpoint.java | 7 +------ .../component/netty/http/NettyHttpEndpoint.java | 2 +- .../component/netty4/http/NettyHttpEndpoint.java | 2 +- .../camel/component/restlet/RestletEndpoint.java | 3 ++- .../apache/camel/component/smpp/SmppEndpoint.java | 3 ++- .../camel/component/undertow/UndertowEndpoint.java | 2 +- .../tools/apt/EndpointAnnotationProcessor.java | 4 ++++ .../camel/tools/apt/model/ComponentModel.java | 9 +++++++++ .../main/java/org/apache/camel/spi/UriEndpoint.java | 16 ++++++++++++++++ 19 files changed, 53 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java index 8c4157e..929ccff 100644 --- a/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java +++ b/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java @@ -94,7 +94,7 @@ import org.slf4j.LoggerFactory; * * @version */ -@UriEndpoint(scheme = "mock", title = "Mock", syntax = "mock:name", producerOnly = true, label = "core,testing") +@UriEndpoint(scheme = "mock", title = "Mock", syntax = "mock:name", producerOnly = true, label = "core,testing", lenientProperties = true) public class MockEndpoint extends DefaultEndpoint implements BrowsableEndpoint { private static final Logger LOG = LoggerFactory.getLogger(MockEndpoint.class); // must be volatile so changes is visible between the thread which performs the assertions http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java index 274678e..113d9d4 100644 --- a/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java +++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestApiEndpoint.java @@ -41,7 +41,7 @@ import org.apache.camel.util.ObjectHelper; /** * The rest-api component is used for providing Swagger API of the REST services which has been defined using the rest-dsl in Camel. */ -@UriEndpoint(scheme = "rest-api", title = "REST API", syntax = "rest-api:path/contextId", consumerOnly = true, label = "core,rest") +@UriEndpoint(scheme = "rest-api", title = "REST API", syntax = "rest-api:path/contextId", consumerOnly = true, label = "core,rest", lenientProperties = true) public class RestApiEndpoint extends DefaultEndpoint { public static final String DEFAULT_API_COMPONENT_NAME = "swagger"; http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java index cf97592..bf475b3 100644 --- a/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java +++ b/camel-core/src/main/java/org/apache/camel/component/rest/RestEndpoint.java @@ -38,7 +38,7 @@ import org.apache.camel.util.ObjectHelper; /** * The rest component is used for hosting REST services which has been defined using the rest-dsl in Camel. */ -@UriEndpoint(scheme = "rest", title = "REST", syntax = "rest:method:path:uriTemplate", consumerOnly = true, label = "core,rest") +@UriEndpoint(scheme = "rest", title = "REST", syntax = "rest:method:path:uriTemplate", consumerOnly = true, label = "core,rest", lenientProperties = true) public class RestEndpoint extends DefaultEndpoint { @UriPath(enums = "get,post,put,delete,patch,head,trace,connect,options") @Metadata(required = "true") http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java b/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java index cd24eba..9a96e9d 100644 --- a/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java +++ b/camel-core/src/main/java/org/apache/camel/component/stub/StubEndpoint.java @@ -36,7 +36,7 @@ import org.apache.camel.spi.UriEndpoint; * query arguments will usually fail. Stub won't though, as it basically ignores all query parameters * to let you quickly stub out one or more endpoints in your route temporarily. */ -@UriEndpoint(scheme = "stub", title = "Stub", syntax = "stub:name", consumerClass = VmConsumer.class, label = "core,testing") +@UriEndpoint(scheme = "stub", title = "Stub", syntax = "stub:name", consumerClass = VmConsumer.class, label = "core,testing", lenientProperties = true) public class StubEndpoint extends VmEndpoint { public StubEndpoint(String endpointUri, Component component, BlockingQueue<Exchange> queue) { @@ -56,4 +56,8 @@ public class StubEndpoint extends VmEndpoint { return new StubConsumer(this, processor); } + @Override + public boolean isLenientProperties() { + return true; + } } http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/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 5832d1c..9a2c098 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 @@ -38,7 +38,7 @@ import org.apache.camel.util.jsse.SSLContextParameters; /** * To call external HTTP services using <a href="http://github.com/sonatype/async-http-client">Async Http Client</a>. */ -@UriEndpoint(scheme = "ahc", title = "AHC", syntax = "ahc:httpUri", producerOnly = true, label = "http") +@UriEndpoint(scheme = "ahc", title = "AHC", syntax = "ahc:httpUri", producerOnly = true, label = "http", lenientProperties = true) public class AhcEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware { private AsyncHttpClient client; http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/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 92dc434..04e69c7 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 @@ -29,7 +29,8 @@ import org.apache.camel.spi.UriEndpoint; /** * The atom component is used for consuming Atom RSS feeds. */ -@UriEndpoint(scheme = "atom", title = "Atom", syntax = "atom:feedUri", consumerOnly = true, consumerClass = FeedPollingConsumer.class, label = "rss") +@UriEndpoint(scheme = "atom", title = "Atom", syntax = "atom:feedUri", consumerOnly = true, + consumerClass = FeedPollingConsumer.class, label = "rss", lenientProperties = true) public class AtomEndpoint extends FeedEndpoint { public AtomEndpoint() { http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/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 f48d36e..67dc946 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 @@ -59,7 +59,7 @@ import org.slf4j.LoggerFactory; /** * The cxfrs component is used for JAX-RS REST services using Apache CXF. */ -@UriEndpoint(scheme = "cxfrs", title = "CXF-RS", syntax = "cxfrs:beanId:address", consumerClass = CxfRsConsumer.class, label = "rest") +@UriEndpoint(scheme = "cxfrs", title = "CXF-RS", syntax = "cxfrs:beanId:address", consumerClass = CxfRsConsumer.class, label = "rest", lenientProperties = true) public class CxfRsEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware, Service { private static final Logger LOG = LoggerFactory.getLogger(CxfRsEndpoint.class); http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/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 62bdb6a..b62c994 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 @@ -30,7 +30,8 @@ import org.apache.camel.spi.UriParam; /** * The docker component is used for managing Docker containers. */ -@UriEndpoint(scheme = "docker", title = "Docker", syntax = "docker:operation", consumerClass = DockerEventsConsumer.class, label = "container,cloud,paas") +@UriEndpoint(scheme = "docker", title = "Docker", syntax = "docker:operation", consumerClass = DockerEventsConsumer.class, + label = "container,cloud,paas", lenientProperties = true) public class DockerEndpoint extends DefaultEndpoint { @UriParam http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/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 c205ece..364307b 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 @@ -45,7 +45,7 @@ import org.apache.camel.util.UnsafeUriCharactersEncoder; * The ghttp component provides HTTP connectivity to the GAE. */ @UriEndpoint(scheme = "ghttp", extendsScheme = "servlet", title = "Google HTTP", - syntax = "ghttp:httpUri", producerOnly = true, label = "cloud,paas") + syntax = "ghttp:httpUri", producerOnly = true, label = "cloud,paas", lenientProperties = true) 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/e1511399/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 4106975..bf6be3c 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 @@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory; /** * For calling out to external HTTP servers using Apache HTTP Client 3.x. */ -@UriEndpoint(scheme = "http,https", title = "HTTP,HTTPS", syntax = "http:httpUri", producerOnly = true, label = "http") +@UriEndpoint(scheme = "http,https", title = "HTTP,HTTPS", syntax = "http:httpUri", producerOnly = true, label = "http", lenientProperties = true) public class HttpEndpoint extends HttpCommonEndpoint { // Note: all options must be documented with description in annotations so extended components can access the documentation http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/components/camel-kestrel/src/main/java/org/apache/camel/component/kestrel/KestrelEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-kestrel/src/main/java/org/apache/camel/component/kestrel/KestrelEndpoint.java b/components/camel-kestrel/src/main/java/org/apache/camel/component/kestrel/KestrelEndpoint.java index bdef44c..2fc28ae 100644 --- a/components/camel-kestrel/src/main/java/org/apache/camel/component/kestrel/KestrelEndpoint.java +++ b/components/camel-kestrel/src/main/java/org/apache/camel/component/kestrel/KestrelEndpoint.java @@ -89,12 +89,7 @@ public class KestrelEndpoint extends DefaultEndpoint { return component.getMemcachedClient(configuration, queue); } - @Override - public boolean isLenientProperties() { - return false; - } - public boolean isSingleton() { - return false; + return true; } } http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java index 0c0f6da..15d250e 100644 --- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java +++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpEndpoint.java @@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory; * Netty HTTP server and client using the Netty 3.x library. */ @UriEndpoint(scheme = "netty-http", extendsScheme = "netty", title = "Netty HTTP", - syntax = "netty-http:protocol:host:port/path", consumerClass = NettyHttpConsumer.class, label = "http") + syntax = "netty-http:protocol:host:port/path", consumerClass = NettyHttpConsumer.class, label = "http", lenientProperties = true) public class NettyHttpEndpoint extends NettyEndpoint implements HeaderFilterStrategyAware { private static final Logger LOG = LoggerFactory.getLogger(NettyHttpEndpoint.class); http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpEndpoint.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpEndpoint.java index e92ef0e..76377b3 100644 --- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpEndpoint.java +++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpEndpoint.java @@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory; * Netty HTTP server and client using the Netty 4.x library. */ @UriEndpoint(scheme = "netty4-http", extendsScheme = "netty4", title = "Netty4 HTTP", - syntax = "netty4-http:protocol:host:port/path", consumerClass = NettyHttpConsumer.class, label = "http") + syntax = "netty4-http:protocol:host:port/path", consumerClass = NettyHttpConsumer.class, label = "http", lenientProperties = true) public class NettyHttpEndpoint extends NettyEndpoint implements HeaderFilterStrategyAware { private static final Logger LOG = LoggerFactory.getLogger(NettyHttpEndpoint.class); http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java index 8c779ca..5b585e1 100644 --- a/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java +++ b/components/camel-restlet/src/main/java/org/apache/camel/component/restlet/RestletEndpoint.java @@ -38,7 +38,8 @@ import org.restlet.data.Method; /** * Component for consuming and producing Restful resources using Restlet. */ -@UriEndpoint(scheme = "restlet", title = "Restlet", syntax = "restlet:protocol:host:port/uriPattern", consumerClass = RestletConsumer.class, label = "rest") +@UriEndpoint(scheme = "restlet", title = "Restlet", syntax = "restlet:protocol:host:port/uriPattern", + consumerClass = RestletConsumer.class, label = "rest", lenientProperties = true) public class RestletEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware { private static final int DEFAULT_PORT = 80; http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppEndpoint.java b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppEndpoint.java index b98bb26..54f17ff 100644 --- a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppEndpoint.java +++ b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppEndpoint.java @@ -32,7 +32,8 @@ import org.jsmpp.bean.DeliverSm; /** * To send and receive SMS using a SMSC (Short Message Service Center). */ -@UriEndpoint(scheme = "smpp,smpps", title = "SMPP", syntax = "smpp:host:port", consumerClass = SmppConsumer.class, label = "mobile") +@UriEndpoint(scheme = "smpp,smpps", title = "SMPP", syntax = "smpp:host:port", + consumerClass = SmppConsumer.class, label = "mobile", lenientProperties = true) public class SmppEndpoint extends DefaultEndpoint { private SmppBinding binding; http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java index 12559a3..3f29d12 100644 --- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java +++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/UndertowEndpoint.java @@ -47,7 +47,7 @@ import org.xnio.Options; * The undertow component provides HTTP-based endpoints for consuming and producing HTTP requests. */ @UriEndpoint(scheme = "undertow", title = "Undertow", syntax = "undertow:httpURI", - consumerClass = UndertowConsumer.class, label = "http") + consumerClass = UndertowConsumer.class, label = "http", lenientProperties = true) public class UndertowEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware { private static final Logger LOG = LoggerFactory.getLogger(UndertowEndpoint.class); http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java index 93c6022..b35512b 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/EndpointAnnotationProcessor.java @@ -219,6 +219,9 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor { } else if (componentModel.isProducerOnly()) { buffer.append("\n \"producerOnly\": \"").append("true").append("\","); } + if (componentModel.isLenientProperties()) { + buffer.append("\n \"lenientProperties\": \"").append("true").append("\","); + } buffer.append("\n \"javaType\": \"").append(componentModel.getJavaType()).append("\","); buffer.append("\n \"groupId\": \"").append(componentModel.getGroupId()).append("\","); buffer.append("\n \"artifactId\": \"").append(componentModel.getArtifactId()).append("\","); @@ -439,6 +442,7 @@ public class EndpointAnnotationProcessor extends AbstractAnnotationProcessor { model.setLabel(label); model.setConsumerOnly(uriEndpoint.consumerOnly()); model.setProducerOnly(uriEndpoint.producerOnly()); + model.setLenientProperties(uriEndpoint.lenientProperties()); String data = loadResource("META-INF/services/org/apache/camel/component", scheme); if (data != null) { http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java ---------------------------------------------------------------------- diff --git a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java index 9de77f4..2962e91 100644 --- a/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java +++ b/tooling/apt/src/main/java/org/apache/camel/tools/apt/model/ComponentModel.java @@ -31,6 +31,7 @@ public final class ComponentModel { private boolean consumerOnly; private boolean producerOnly; private boolean deprecated; + private boolean lenientProperties; public ComponentModel(String scheme) { this.scheme = scheme; @@ -135,4 +136,12 @@ public final class ComponentModel { public void setDeprecated(boolean deprecated) { this.deprecated = deprecated; } + + public boolean isLenientProperties() { + return lenientProperties; + } + + public void setLenientProperties(boolean lenientProperties) { + this.lenientProperties = lenientProperties; + } } http://git-wip-us.apache.org/repos/asf/camel/blob/e1511399/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriEndpoint.java ---------------------------------------------------------------------- diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriEndpoint.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriEndpoint.java index 772b140..e989ce9 100644 --- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriEndpoint.java +++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/UriEndpoint.java @@ -114,4 +114,20 @@ public @interface UriEndpoint { */ boolean consumerOnly() default false; + /** + * Should all properties be known or does the endpoint allow unknown options? + * <p/> + * <tt>lenient = false</tt> means that the endpoint should validate that all + * given options is known and configured properly. + * <tt>lenient = true</tt> means that the endpoint allows additional unknown options to + * be passed to it but does not throw a ResolveEndpointFailedException when creating + * the endpoint. + * <p/> + * This options is used by a few components for instance the HTTP based that can have + * dynamic URI options appended that is targeted for an external system. + * <p/> + * Most endpoints is configured to be <b>not</b> lenient. + */ + boolean lenientProperties() default false; + } \ No newline at end of file