CAMEL-7999: More components include documentation
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/812591a1 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/812591a1 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/812591a1 Branch: refs/heads/master Commit: 812591a197ea1bd282e6289690181ffccf816fd9 Parents: 3ccb514 Author: Claus Ibsen <davscl...@apache.org> Authored: Mon Jan 5 11:40:39 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Jan 5 11:40:39 2015 +0100 ---------------------------------------------------------------------- .../component/routebox/RouteboxComponent.java | 7 ++-- .../routebox/RouteboxConfiguration.java | 35 +++++++++++++++----- .../component/routebox/RouteboxEndpoint.java | 5 +++ 3 files changed, 35 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/812591a1/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxComponent.java b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxComponent.java index 579ebe8..85ad35a 100644 --- a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxComponent.java +++ b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxComponent.java @@ -27,18 +27,19 @@ import org.apache.camel.Endpoint; import org.apache.camel.Exchange; import org.apache.camel.component.routebox.direct.RouteboxDirectEndpoint; import org.apache.camel.component.routebox.seda.RouteboxSedaEndpoint; -import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; -public class RouteboxComponent extends DefaultComponent { +public class RouteboxComponent extends UriEndpointComponent { final RouteboxConfiguration config; private final Map<String, BlockingQueue<Exchange>> queues = new HashMap<String, BlockingQueue<Exchange>>(); public RouteboxComponent() { + super(RouteboxEndpoint.class); config = new RouteboxConfiguration(); } public RouteboxComponent(CamelContext context) { - super(context); + super(context, RouteboxEndpoint.class); config = new RouteboxConfiguration(); } http://git-wip-us.apache.org/repos/asf/camel/blob/812591a1/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxConfiguration.java b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxConfiguration.java index 0a39a7f..2bbf409 100644 --- a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxConfiguration.java +++ b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxConfiguration.java @@ -28,29 +28,46 @@ import org.apache.camel.builder.RouteBuilder; import org.apache.camel.component.routebox.strategy.RouteboxDispatchStrategy; import org.apache.camel.impl.DefaultCamelContext; import org.apache.camel.spi.Registry; +import org.apache.camel.spi.UriParam; +import org.apache.camel.spi.UriParams; +import org.apache.camel.spi.UriPath; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@UriParams public class RouteboxConfiguration { private static final Logger LOG = LoggerFactory.getLogger(RouteboxConfiguration.class); private URI uri; private String authority; - private String endpointName; + @UriPath + private String routeboxName; + @UriParam private URI consumerUri; + @UriParam private URI producerUri; + @UriParam private RouteboxDispatchStrategy dispatchStrategy; + @UriParam private Map<String, String> dispatchMap; private CamelContext innerContext; private List<RouteBuilder> routeBuilders = new ArrayList<RouteBuilder>(); private Registry innerRegistry; + @UriParam(defaultValue = "true") private boolean forkContext = true; + @UriParam(defaultValue = "true") private boolean local = true; + @UriParam(defaultValue = "20000") private long connectionTimeout = 20000; + @UriParam(defaultValue = "1000") private long pollInterval = 1000; - private String innerProtocol; + @UriParam(defaultValue = "direct") + private String innerProtocol = "direct"; + @UriParam(defaultValue = "20") private int threads = 20; + @UriParam private int queueSize; private ProducerTemplate innerProducerTemplate; + @UriParam(defaultValue = "true") private boolean sendToConsumer = true; public RouteboxConfiguration() { @@ -75,7 +92,7 @@ public class RouteboxConfiguration { LOG.trace("Authority: {}", uri.getAuthority()); } - setEndpointName(getAuthority()); + setRouteboxName(getAuthority()); if (parameters.containsKey("threads")) { setThreads(Integer.valueOf((String) parameters.get("threads"))); @@ -130,8 +147,8 @@ public class RouteboxConfiguration { innerProducerTemplate = innerContext.createProducerTemplate(); setQueueSize(component.getAndRemoveParameter(parameters, "size", Integer.class, 0)); - consumerUri = component.resolveAndRemoveReferenceParameter(parameters, "consumerUri", URI.class, new URI("routebox:" + getEndpointName())); - producerUri = component.resolveAndRemoveReferenceParameter(parameters, "producerUri", URI.class, new URI("routebox:" + getEndpointName())); + consumerUri = component.resolveAndRemoveReferenceParameter(parameters, "consumerUri", URI.class, new URI("routebox:" + getRouteboxName())); + producerUri = component.resolveAndRemoveReferenceParameter(parameters, "producerUri", URI.class, new URI("routebox:" + getRouteboxName())); dispatchStrategy = component.resolveAndRemoveReferenceParameter(parameters, "dispatchStrategy", RouteboxDispatchStrategy.class, null); dispatchMap = component.resolveAndRemoveReferenceParameter(parameters, "dispatchMap", HashMap.class, new HashMap<String, String>()); @@ -188,12 +205,12 @@ public class RouteboxConfiguration { return threads; } - public void setEndpointName(String endpointName) { - this.endpointName = endpointName; + public void setRouteboxName(String routeboxName) { + this.routeboxName = routeboxName; } - public String getEndpointName() { - return endpointName; + public String getRouteboxName() { + return routeboxName; } public void setLocal(boolean local) { http://git-wip-us.apache.org/repos/asf/camel/blob/812591a1/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxEndpoint.java b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxEndpoint.java index 4a8e82e..f4afcfe 100644 --- a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxEndpoint.java +++ b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/RouteboxEndpoint.java @@ -19,8 +19,13 @@ package org.apache.camel.component.routebox; import org.apache.camel.CamelContext; import org.apache.camel.Component; import org.apache.camel.impl.DefaultEndpoint; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; +@UriEndpoint(scheme = "routebox", consumerClass = RouteboxConsumer.class, label = "eventbus") public abstract class RouteboxEndpoint extends DefaultEndpoint { + + @UriParam RouteboxConfiguration config; public RouteboxEndpoint() {