Repository: camel Updated Branches: refs/heads/master 9fa8d71aa -> 358f45fd7
CAMEL-10629: Add more details to component level options Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/358f45fd Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/358f45fd Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/358f45fd Branch: refs/heads/master Commit: 358f45fd7514ca40bed0bb191de7ef6ff34f1eb0 Parents: 9fa8d71 Author: Claus Ibsen <davscl...@apache.org> Authored: Wed Dec 21 13:17:05 2016 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Wed Dec 21 13:17:05 2016 +0100 ---------------------------------------------------------------------- .../camel/util/component/AbstractApiComponent.java | 2 ++ .../apns/springboot/ApnsComponentConfiguration.java | 4 +++- .../springboot/CacheComponentConfiguration.java | 2 +- .../springboot/DisruptorComponentConfiguration.java | 11 ++++++----- .../DisruptorVmComponentConfiguration.java | 11 ++++++----- .../src/main/docs/ahc-ws-component.adoc | 2 +- .../camel-ahc/src/main/docs/ahc-component.adoc | 2 +- .../apache/camel/component/ahc/AhcComponent.java | 6 ++++++ .../org/apache/camel/component/ahc/AhcEndpoint.java | 2 +- .../camel-apns/src/main/docs/apns-component.adoc | 2 +- .../apache/camel/component/apns/ApnsComponent.java | 6 +++++- .../apache/camel/component/avro/AvroComponent.java | 5 ++++- .../apache/camel/component/box/BoxComponent.java | 2 ++ .../camel/component/cache/CacheComponent.java | 3 +++ .../camel/component/cometd/CometdComponent.java | 11 +++++++++-- .../component/context/LocalContextComponent.java | 2 ++ .../component/crypto/DigitalSignatureComponent.java | 2 ++ .../apache/camel/component/cxf/CxfComponent.java | 2 ++ .../component/disruptor/DisruptorComponent.java | 7 +++++++ .../camel/component/docker/DockerComponent.java | 2 ++ .../elasticsearch/ElasticsearchComponent.java | 2 ++ .../camel-elsql/src/main/docs/elsql-component.adoc | 2 +- .../camel/component/elsql/ElsqlComponent.java | 3 +++ .../apache/camel/component/elsql/ElsqlEndpoint.java | 16 ++++++++++++++-- .../apache/camel/component/etcd/EtcdComponent.java | 1 + 25 files changed, 87 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/camel-core/src/main/java/org/apache/camel/util/component/AbstractApiComponent.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/util/component/AbstractApiComponent.java b/camel-core/src/main/java/org/apache/camel/util/component/AbstractApiComponent.java index 6b39d95..4f3e4e7 100644 --- a/camel-core/src/main/java/org/apache/camel/util/component/AbstractApiComponent.java +++ b/camel-core/src/main/java/org/apache/camel/util/component/AbstractApiComponent.java @@ -30,6 +30,7 @@ import org.apache.camel.ComponentConfiguration; import org.apache.camel.Endpoint; import org.apache.camel.impl.UriEndpointComponent; import org.apache.camel.spi.EndpointCompleter; +import org.apache.camel.spi.Metadata; import org.apache.camel.util.IntrospectionSupport; import org.apache.camel.util.ObjectHelper; @@ -39,6 +40,7 @@ import org.apache.camel.util.ObjectHelper; public abstract class AbstractApiComponent<E extends Enum<E> & ApiName, T, S extends ApiCollection<E, T>> extends UriEndpointComponent implements EndpointCompleter { + @Metadata(label = "advanced") protected T configuration; // API collection http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentConfiguration.java ---------------------------------------------------------------------- diff --git a/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentConfiguration.java b/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentConfiguration.java index f20f20f..14dc37c 100644 --- a/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentConfiguration.java +++ b/components-starter/camel-apns-starter/src/main/java/org/apache/camel/component/apns/springboot/ApnsComponentConfiguration.java @@ -29,7 +29,9 @@ import org.springframework.boot.context.properties.NestedConfigurationProperty; public class ApnsComponentConfiguration { /** - * To use a custom link ApnsService + * The ApnsService to use. The + * org.apache.camel.component.apns.factory.ApnsServiceFactory can be used to + * build a ApnsService */ @NestedConfigurationProperty private ApnsService apnsService; http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components-starter/camel-cache-starter/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentConfiguration.java ---------------------------------------------------------------------- diff --git a/components-starter/camel-cache-starter/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentConfiguration.java b/components-starter/camel-cache-starter/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentConfiguration.java index 609fd2b..4c18a75 100644 --- a/components-starter/camel-cache-starter/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentConfiguration.java +++ b/components-starter/camel-cache-starter/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentConfiguration.java @@ -46,7 +46,7 @@ public class CacheComponentConfiguration { * Sets the location of the ehcache.xml file to load from classpath or file * system. By default the file is loaded from classpath:ehcache.xml */ - private String configurationFile; + private String configurationFile = "classpath:ehcache.xml"; public CacheManagerFactory getCacheManagerFactory() { return cacheManagerFactory; http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components-starter/camel-disruptor-starter/src/main/java/org/apache/camel/component/disruptor/springboot/DisruptorComponentConfiguration.java ---------------------------------------------------------------------- diff --git a/components-starter/camel-disruptor-starter/src/main/java/org/apache/camel/component/disruptor/springboot/DisruptorComponentConfiguration.java b/components-starter/camel-disruptor-starter/src/main/java/org/apache/camel/component/disruptor/springboot/DisruptorComponentConfiguration.java index 4e9e813..444a93a 100644 --- a/components-starter/camel-disruptor-starter/src/main/java/org/apache/camel/component/disruptor/springboot/DisruptorComponentConfiguration.java +++ b/components-starter/camel-disruptor-starter/src/main/java/org/apache/camel/component/disruptor/springboot/DisruptorComponentConfiguration.java @@ -16,6 +16,7 @@ */ package org.apache.camel.component.disruptor.springboot; +import org.apache.camel.component.disruptor.DisruptorComponent; import org.apache.camel.component.disruptor.DisruptorProducerType; import org.apache.camel.component.disruptor.DisruptorWaitStrategy; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -33,7 +34,7 @@ public class DisruptorComponentConfiguration { /** * To configure the default number of concurrent consumers */ - private Integer defaultConcurrentConsumers; + private Integer defaultConcurrentConsumers = 1; /** * To configure the default value for multiple consumers */ @@ -42,17 +43,17 @@ public class DisruptorComponentConfiguration { * To configure the default value for DisruptorProducerType The default * value is Multi. */ - private DisruptorProducerType defaultProducerType; + private DisruptorProducerType defaultProducerType = DisruptorProducerType.Multi; /** * To configure the default value for DisruptorWaitStrategy The default * value is Blocking. */ - private DisruptorWaitStrategy defaultWaitStrategy; + private DisruptorWaitStrategy defaultWaitStrategy = DisruptorWaitStrategy.Blocking; /** * To configure the default value for block when full The default value is * true. */ - private Boolean defaultBlockWhenFull; + private Boolean defaultBlockWhenFull = true; /** * To configure the ring buffer size */ @@ -61,7 +62,7 @@ public class DisruptorComponentConfiguration { /** * To configure the ring buffer size */ - private Integer bufferSize; + private Integer bufferSize = 1024; public Integer getDefaultConcurrentConsumers() { return defaultConcurrentConsumers; http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components-starter/camel-disruptor-starter/src/main/java/org/apache/camel/component/disruptor/vm/springboot/DisruptorVmComponentConfiguration.java ---------------------------------------------------------------------- diff --git a/components-starter/camel-disruptor-starter/src/main/java/org/apache/camel/component/disruptor/vm/springboot/DisruptorVmComponentConfiguration.java b/components-starter/camel-disruptor-starter/src/main/java/org/apache/camel/component/disruptor/vm/springboot/DisruptorVmComponentConfiguration.java index 986acc9..b6d99f4 100644 --- a/components-starter/camel-disruptor-starter/src/main/java/org/apache/camel/component/disruptor/vm/springboot/DisruptorVmComponentConfiguration.java +++ b/components-starter/camel-disruptor-starter/src/main/java/org/apache/camel/component/disruptor/vm/springboot/DisruptorVmComponentConfiguration.java @@ -18,6 +18,7 @@ package org.apache.camel.component.disruptor.vm.springboot; import org.apache.camel.component.disruptor.DisruptorProducerType; import org.apache.camel.component.disruptor.DisruptorWaitStrategy; +import org.apache.camel.component.disruptor.vm.DisruptorVmComponent; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.DeprecatedConfigurationProperty; @@ -33,7 +34,7 @@ public class DisruptorVmComponentConfiguration { /** * To configure the default number of concurrent consumers */ - private Integer defaultConcurrentConsumers; + private Integer defaultConcurrentConsumers = 1; /** * To configure the default value for multiple consumers */ @@ -42,17 +43,17 @@ public class DisruptorVmComponentConfiguration { * To configure the default value for DisruptorProducerType The default * value is Multi. */ - private DisruptorProducerType defaultProducerType; + private DisruptorProducerType defaultProducerType = DisruptorProducerType.Multi; /** * To configure the default value for DisruptorWaitStrategy The default * value is Blocking. */ - private DisruptorWaitStrategy defaultWaitStrategy; + private DisruptorWaitStrategy defaultWaitStrategy = DisruptorWaitStrategy.Blocking; /** * To configure the default value for block when full The default value is * true. */ - private Boolean defaultBlockWhenFull; + private Boolean defaultBlockWhenFull = true; /** * To configure the ring buffer size */ @@ -61,7 +62,7 @@ public class DisruptorVmComponentConfiguration { /** * To configure the ring buffer size */ - private Integer bufferSize; + private Integer bufferSize = 1024; public Integer getDefaultConcurrentConsumers() { return defaultConcurrentConsumers; http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc ---------------------------------------------------------------------- diff --git a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc index 6bba319..c857ed0 100644 --- a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc +++ b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc @@ -76,7 +76,6 @@ The AHC Websocket component supports 19 endpoint options which are listed below: |======================================================================= | Name | Group | Default | Java Type | Description | httpUri | common | | URI | *Required* The URI to use such as http://hostname:port/path -| binding | common | | AhcBinding | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. | bridgeEndpoint | common | false | boolean | If the option is true then the Exchange.HTTP_URI header is ignored and use the endpoint's URI for request. You may also set the throwExceptionOnFailure to be false to let the AhcProducer send all the fault response back. | bufferSize | common | 4096 | int | The initial in-memory buffer size used when transferring data between Camel and AHC Client. | headerFilterStrategy | common | | HeaderFilterStrategy | To use a custom HeaderFilterStrategy to filter header to and from Camel message. @@ -89,6 +88,7 @@ The AHC Websocket component supports 19 endpoint options which are listed below: | connectionClose | producer | false | boolean | Define if the Connection Close header has to be added to HTTP Request. This parameter is false by default | cookieHandler | producer | | CookieHandler | Configure a cookie handler to maintain a HTTP session | useStreaming | producer | false | boolean | To enable streaming to send data as multiple text fragments. +| binding | advanced | | AhcBinding | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. | clientConfig | advanced | | AsyncHttpClientConfig | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. | clientConfigOptions | advanced | | Map | To configure the AsyncHttpClientConfig using the key/values from the Map. | synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported). http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-ahc/src/main/docs/ahc-component.adoc ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/main/docs/ahc-component.adoc b/components/camel-ahc/src/main/docs/ahc-component.adoc index 2c9311d..c9fab73 100644 --- a/components/camel-ahc/src/main/docs/ahc-component.adoc +++ b/components/camel-ahc/src/main/docs/ahc-component.adoc @@ -57,7 +57,6 @@ The AHC component supports 14 endpoint options which are listed below: |======================================================================= | Name | Group | Default | Java Type | Description | httpUri | producer | | URI | *Required* The URI to use such as http://hostname:port/path -| binding | producer | | AhcBinding | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. | bridgeEndpoint | producer | false | boolean | If the option is true then the Exchange.HTTP_URI header is ignored and use the endpoint's URI for request. You may also set the throwExceptionOnFailure to be false to let the AhcProducer send all the fault response back. | bufferSize | producer | 4096 | int | The initial in-memory buffer size used when transferring data between Camel and AHC Client. | connectionClose | producer | false | boolean | Define if the Connection Close header has to be added to HTTP Request. This parameter is false by default @@ -65,6 +64,7 @@ The AHC component supports 14 endpoint options which are listed below: | headerFilterStrategy | producer | | HeaderFilterStrategy | To use a custom HeaderFilterStrategy to filter header to and from Camel message. | throwExceptionOnFailure | producer | true | boolean | Option to disable throwing the AhcOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code. | transferException | producer | false | boolean | If enabled and an Exchange failed processing on the consumer side and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type (for example using Jetty or Servlet Camel components). On the producer side the exception will be deserialized and thrown as is instead of the AhcOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. +| binding | advanced | | AhcBinding | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. | clientConfig | advanced | | AsyncHttpClientConfig | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. | clientConfigOptions | advanced | | Map | To configure the AsyncHttpClientConfig using the key/values from the Map. | synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported). http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java index 2103070..b59268b 100644 --- a/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java +++ b/components/camel-ahc/src/main/java/org/apache/camel/component/ahc/AhcComponent.java @@ -22,6 +22,7 @@ import java.util.Map; import org.apache.camel.Endpoint; import org.apache.camel.impl.HeaderFilterStrategyComponent; +import org.apache.camel.spi.Metadata; import org.apache.camel.util.IntrospectionSupport; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.URISupport; @@ -45,10 +46,15 @@ public class AhcComponent extends HeaderFilterStrategyComponent { private static final String CLIENT_CONFIG_PREFIX = "clientConfig."; private static final String CLIENT_REALM_CONFIG_PREFIX = "clientConfig.realm."; + @Metadata(label = "advanced") private AsyncHttpClient client; + @Metadata(label = "advanced") private AsyncHttpClientConfig clientConfig; + @Metadata(label = "advanced") private AhcBinding binding; + @Metadata(label = "security") private SSLContextParameters sslContextParameters; + @Metadata(label = "advanced") private boolean allowJavaSerializedObject; public AhcComponent() { http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/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 6f93890..2435240 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 @@ -61,7 +61,7 @@ public class AhcEndpoint extends DefaultEndpoint implements AsyncEndpoint, Heade private int bufferSize = 4 * 1024; @UriParam private HeaderFilterStrategy headerFilterStrategy = new HttpHeaderFilterStrategy(); - @UriParam + @UriParam(label = "advanced") private AhcBinding binding; @UriParam(label = "security") private SSLContextParameters sslContextParameters; http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-apns/src/main/docs/apns-component.adoc ---------------------------------------------------------------------- diff --git a/components/camel-apns/src/main/docs/apns-component.adoc b/components/camel-apns/src/main/docs/apns-component.adoc index f3c9834..3a7232c 100644 --- a/components/camel-apns/src/main/docs/apns-component.adoc +++ b/components/camel-apns/src/main/docs/apns-component.adoc @@ -65,7 +65,7 @@ The APNS component supports 1 options which are listed below. [width="100%",cols="2,1m,7",options="header"] |======================================================================= | Name | Java Type | Description -| apnsService | ApnsService | To use a custom link ApnsService +| apnsService | ApnsService | The ApnsService to use. The org.apache.camel.component.apns.factory.ApnsServiceFactory can be used to build a ApnsService |======================================================================= {% endraw %} // component options: END http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java b/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java index 6426c11..7c923db 100644 --- a/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java +++ b/components/camel-apns/src/main/java/org/apache/camel/component/apns/ApnsComponent.java @@ -21,12 +21,14 @@ import java.util.Map; import com.notnoop.apns.ApnsService; import org.apache.camel.Endpoint; import org.apache.camel.impl.UriEndpointComponent; +import org.apache.camel.spi.Metadata; /** * For sending notifications to Apple iOS devices */ public class ApnsComponent extends UriEndpointComponent { + @Metadata(required = "true") private ApnsService apnsService; public ApnsComponent() { @@ -50,7 +52,9 @@ public class ApnsComponent extends UriEndpointComponent { } /** - * To use a custom @{link ApnsService} + * The ApnsService to use. + * <p/> + * The {@link org.apache.camel.component.apns.factory.ApnsServiceFactory} can be used to build a {@link ApnsService} */ public void setApnsService(ApnsService apnsService) { this.apnsService = apnsService; http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java index 108348b..da76a0e 100644 --- a/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java +++ b/components/camel-avro/src/main/java/org/apache/camel/component/avro/AvroComponent.java @@ -28,13 +28,16 @@ import org.apache.avro.reflect.ReflectData; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.impl.UriEndpointComponent; +import org.apache.camel.spi.Metadata; import org.apache.camel.util.URISupport; public class AvroComponent extends UriEndpointComponent { - private AvroConfiguration configuration; private ConcurrentMap<String, AvroListener> listenerRegistry = new ConcurrentHashMap<String, AvroListener>(); + @Metadata(label = "advanced") + private AvroConfiguration configuration; + public AvroComponent() { super(AvroEndpoint.class); } http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-box/src/main/java/org/apache/camel/component/box/BoxComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-box/src/main/java/org/apache/camel/component/box/BoxComponent.java b/components/camel-box/src/main/java/org/apache/camel/component/box/BoxComponent.java index c770d8f..ac20424 100644 --- a/components/camel-box/src/main/java/org/apache/camel/component/box/BoxComponent.java +++ b/components/camel-box/src/main/java/org/apache/camel/component/box/BoxComponent.java @@ -22,6 +22,7 @@ import org.apache.camel.component.box.internal.BoxApiCollection; import org.apache.camel.component.box.internal.BoxApiName; import org.apache.camel.component.box.internal.BoxClientHelper; import org.apache.camel.component.box.internal.CachedBoxClient; +import org.apache.camel.spi.Metadata; import org.apache.camel.util.component.AbstractApiComponent; /** @@ -29,6 +30,7 @@ import org.apache.camel.util.component.AbstractApiComponent; */ public class BoxComponent extends AbstractApiComponent<BoxApiName, BoxConfiguration, BoxApiCollection> { + @Metadata(label = "advanced") private CachedBoxClient cachedBoxClient; public BoxComponent() { http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java index 3b6fad9..4eeab3a 100755 --- a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java +++ b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java @@ -22,13 +22,16 @@ import java.util.Map; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.impl.UriEndpointComponent; +import org.apache.camel.spi.Metadata; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.ResourceHelper; import org.apache.camel.util.ServiceHelper; public class CacheComponent extends UriEndpointComponent { private CacheConfiguration configuration; + @Metadata(label = "advanced") private CacheManagerFactory cacheManagerFactory; + @Metadata(defaultValue = "classpath:ehcache.xml") private String configurationFile; public CacheComponent() { http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java index b1a1b55..5559d32 100644 --- a/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java +++ b/components/camel-cometd/src/main/java/org/apache/camel/component/cometd/CometdComponent.java @@ -27,6 +27,7 @@ import javax.servlet.DispatcherType; import org.apache.camel.Endpoint; import org.apache.camel.impl.UriEndpointComponent; +import org.apache.camel.spi.Metadata; import org.apache.camel.util.jsse.SSLContextParameters; import org.cometd.bayeux.server.BayeuxServer; import org.cometd.bayeux.server.SecurityPolicy; @@ -54,13 +55,19 @@ public class CometdComponent extends UriEndpointComponent { private static final Logger LOG = LoggerFactory.getLogger(CometdComponent.class); private final Map<String, ConnectorRef> connectors = new LinkedHashMap<String, ConnectorRef>(); - + + private List<BayeuxServer.BayeuxServerListener> serverListeners; + + @Metadata(label = "security", secret = true) private String sslKeyPassword; + @Metadata(label = "security", secret = true) private String sslPassword; + @Metadata(label = "security", secret = true) private String sslKeystore; + @Metadata(label = "security") private SecurityPolicy securityPolicy; private List<BayeuxServer.Extension> extensions; - private List<BayeuxServer.BayeuxServerListener> serverListeners; + @Metadata(label = "security") private SSLContextParameters sslContextParameters; class ConnectorRef { http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java b/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java index 9ae64a7..2a930f6 100644 --- a/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java +++ b/components/camel-context/src/main/java/org/apache/camel/component/context/LocalContextComponent.java @@ -25,6 +25,7 @@ import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.ResolveEndpointFailedException; import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.spi.Metadata; import org.apache.camel.util.ObjectHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,6 +37,7 @@ public class LocalContextComponent extends DefaultComponent { private static final Logger LOG = LoggerFactory.getLogger(LocalContextComponent.class); private CamelContext localCamelContext; + @Metadata(label = "advanced", defaultValue = "direct,seda,mock") private List<String> localProtocolSchemes = new ArrayList<String>(Arrays.asList("direct", "seda", "mock")); public LocalContextComponent(CamelContext localCamelContext) { http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureComponent.java b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureComponent.java index 72a14e8..06bf368 100644 --- a/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureComponent.java +++ b/components/camel-crypto/src/main/java/org/apache/camel/component/crypto/DigitalSignatureComponent.java @@ -23,10 +23,12 @@ import java.util.Map; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.impl.UriEndpointComponent; +import org.apache.camel.spi.Metadata; import org.apache.camel.util.ObjectHelper; public class DigitalSignatureComponent extends UriEndpointComponent { + @Metadata(label = "advanced") private DigitalSignatureConfiguration configuration; public DigitalSignatureComponent() { http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java index b5567e1..ceadd41 100644 --- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java +++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java @@ -22,6 +22,7 @@ import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.component.cxf.common.message.CxfConstants; import org.apache.camel.impl.HeaderFilterStrategyComponent; +import org.apache.camel.spi.Metadata; import org.apache.camel.util.CamelContextHelper; import org.apache.camel.util.IntrospectionSupport; import org.apache.cxf.message.Message; @@ -35,6 +36,7 @@ public class CxfComponent extends HeaderFilterStrategyComponent { private static final Logger LOG = LoggerFactory.getLogger(CxfComponent.class); + @Metadata(label = "advanced") private Boolean allowStreaming; public CxfComponent() { http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java index 3ce8c17..2295768 100644 --- a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java +++ b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorComponent.java @@ -21,6 +21,7 @@ import java.util.Map; import org.apache.camel.Endpoint; import org.apache.camel.impl.UriEndpointComponent; +import org.apache.camel.spi.Metadata; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,14 +37,20 @@ public class DisruptorComponent extends UriEndpointComponent { private static final Logger LOGGER = LoggerFactory.getLogger(DisruptorComponent.class); + @Metadata(defaultValue = "" + DEFAULT_BUFFER_SIZE) private int bufferSize = -1; //for SEDA compatibility only private int queueSize = -1; + @Metadata(label = "consumer", defaultValue = "1") private int defaultConcurrentConsumers = 1; + @Metadata(label = "consumer") private boolean defaultMultipleConsumers; + @Metadata(label = "producer", defaultValue = "Multi") private DisruptorProducerType defaultProducerType = DisruptorProducerType.Multi; + @Metadata(label = "consumer", defaultValue = "Blocking") private DisruptorWaitStrategy defaultWaitStrategy = DisruptorWaitStrategy.Blocking; + @Metadata(label = "producer", defaultValue = "true") private boolean defaultBlockWhenFull = true; //synchronized access guarded by this http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java index ffc74a1..cfcc08b 100644 --- a/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java +++ b/components/camel-docker/src/main/java/org/apache/camel/component/docker/DockerComponent.java @@ -23,6 +23,7 @@ import com.github.dockerjava.api.DockerClient; import org.apache.camel.Endpoint; import org.apache.camel.component.docker.exception.DockerException; import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.spi.Metadata; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -32,6 +33,7 @@ import org.slf4j.LoggerFactory; public class DockerComponent extends DefaultComponent { private static final Logger LOG = LoggerFactory.getLogger(DockerComponent.class); + @Metadata(label = "advanced") private DockerConfiguration configuration = new DockerConfiguration(); private Map<DockerClientProfile, DockerClient> clients = new HashMap<DockerClientProfile, DockerClient>(); http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchComponent.java b/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchComponent.java index 5249270..4bfbae1 100644 --- a/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchComponent.java +++ b/components/camel-elasticsearch/src/main/java/org/apache/camel/component/elasticsearch/ElasticsearchComponent.java @@ -26,6 +26,7 @@ import java.util.Map; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; import org.apache.camel.impl.UriEndpointComponent; +import org.apache.camel.spi.Metadata; import org.elasticsearch.client.Client; import org.elasticsearch.common.transport.InetSocketTransportAddress; @@ -34,6 +35,7 @@ import org.elasticsearch.common.transport.InetSocketTransportAddress; */ public class ElasticsearchComponent extends UriEndpointComponent { + @Metadata(label = "advanced") private Client client; public ElasticsearchComponent() { http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-elsql/src/main/docs/elsql-component.adoc ---------------------------------------------------------------------- diff --git a/components/camel-elsql/src/main/docs/elsql-component.adoc b/components/camel-elsql/src/main/docs/elsql-component.adoc index 58f52ee..647fd00 100644 --- a/components/camel-elsql/src/main/docs/elsql-component.adoc +++ b/components/camel-elsql/src/main/docs/elsql-component.adoc @@ -85,7 +85,6 @@ The ElSQL component supports 48 endpoint options which are listed below: | databaseVendor | common | | ElSqlDatabaseVendor | To use a vendor specific com.opengamma.elsql.ElSqlConfig | dataSource | common | | DataSource | Sets the DataSource to use to communicate with the database. | dataSourceRef | common | | String | Sets the reference to a DataSource to lookup from the registry to use for communicating with the database. -| elSqlConfig | common | | ElSqlConfig | To use a specific configured ElSqlConfig. It may be better to use the databaseVendor option instead. | outputClass | common | | String | Specify the full package and class name to use as conversion when outputType=SelectOne. | outputHeader | common | | String | Store the query result in a header instead of the message body. By default outputHeader == null and the query result is stored in the message body any existing content in the message body is discarded. If outputHeader is set the value is used as the name of the header to store the query result and the original message body is preserved. | outputType | common | SelectList | SqlOutputType | Make the output of consumer or producer to SelectList as List of Map or SelectOne as single Java object in the following way:a) If the query has only single column then that JDBC Column object is returned. (such as SELECT COUNT( ) FROM PROJECT will return a Long object.b) If the query has more than one column then it will return a Map of that result.c) If the outputClass is set then it will convert the query result into an Java bean object by calling all the setters that match the column names.It will assume your class has a default constructor to create instance with.d) If the query resulted in more than one rows it throws an non-unique result exception.StreamList streams the result of the query using an Iterator. This can be used with the Splitter EIP in streaming mode to process the ResultSet in streaming fashion. @@ -109,6 +108,7 @@ The ElSQL component supports 48 endpoint options which are listed below: | useMessageBodyForSql | producer | false | boolean | Whether to use the message body as the SQL and then headers for parameters. If this option is enabled then the SQL in the uri is not used. | alwaysPopulateStatement | producer (advanced) | false | boolean | If enabled then the populateStatement method from org.apache.camel.component.sql.SqlPrepareStatementStrategy is always invoked also if there is no expected parameters to be prepared. When this is false then the populateStatement is only invoked if there is 1 or more expected parameters to be set; for example this avoids reading the message body/headers for SQL queries with no parameters. | parametersCount | producer (advanced) | | int | If set greater than zero then Camel will use this count value of parameters to replace instead of querying via JDBC metadata API. This is useful if the JDBC vendor could not return correct parameters count then user may override instead. +| elSqlConfig | advanced | | ElSqlConfig | To use a specific configured ElSqlConfig. It may be better to use the databaseVendor option instead. | placeholder | advanced | # | String | Specifies a character that will be replaced to in SQL query. Notice that it is simple String.replaceAll() operation and no SQL parsing is involved (quoted strings will also change). | prepareStatementStrategy | advanced | | SqlPrepareStatementStrategy | Allows to plugin to use a custom org.apache.camel.component.sql.SqlPrepareStatementStrategy to control preparation of the query and prepared statement. | synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported). http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java index b328a72..3fbcfaa 100644 --- a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java +++ b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlComponent.java @@ -22,6 +22,8 @@ import javax.sql.DataSource; import com.opengamma.elsql.ElSqlConfig; import org.apache.camel.Endpoint; import org.apache.camel.impl.UriEndpointComponent; +import org.apache.camel.spi.Metadata; +import org.apache.camel.spi.UriParam; import org.apache.camel.util.CamelContextHelper; import org.apache.camel.util.IntrospectionSupport; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; @@ -30,6 +32,7 @@ public class ElsqlComponent extends UriEndpointComponent { private ElSqlDatabaseVendor databaseVendor; private DataSource dataSource; + @Metadata(label = "advanced") private ElSqlConfig elSqlConfig; private String resourceUri; http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java index ce2f47c..62afbd0 100644 --- a/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java +++ b/components/camel-elsql/src/main/java/org/apache/camel/component/elsql/ElsqlEndpoint.java @@ -54,7 +54,6 @@ public class ElsqlEndpoint extends DefaultSqlEndpoint { private ElSql elSql; private NamedParameterJdbcTemplate namedJdbcTemplate; - private DataSource dataSource; @UriPath @Metadata(required = "true") @@ -62,8 +61,10 @@ public class ElsqlEndpoint extends DefaultSqlEndpoint { @UriPath private String resourceUri; @UriParam - private ElSqlDatabaseVendor databaseVendor; + private DataSource dataSource; @UriParam + private ElSqlDatabaseVendor databaseVendor; + @UriParam(label = "advanced") private ElSqlConfig elSqlConfig; public ElsqlEndpoint(String uri, Component component, NamedParameterJdbcTemplate namedJdbcTemplate, DataSource dataSource, @@ -168,4 +169,15 @@ public class ElsqlEndpoint extends DefaultSqlEndpoint { public void setResourceUri(String resourceUri) { this.resourceUri = resourceUri; } + + public DataSource getDataSource() { + return dataSource; + } + + /** + * Sets the DataSource to use to communicate with the database. + */ + public void setDataSource(DataSource dataSource) { + this.dataSource = dataSource; + } } http://git-wip-us.apache.org/repos/asf/camel/blob/358f45fd/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java index 9c07b2a..35ff2e5 100644 --- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java +++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/EtcdComponent.java @@ -27,6 +27,7 @@ import org.apache.camel.util.ObjectHelper; * Represents the component that manages {@link AbstractEtcdEndpoint}. */ public class EtcdComponent extends UriEndpointComponent { + public EtcdComponent() { super(AbstractEtcdEndpoint.class); }