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 2021/07/29 15:22:43 UTC
[camel] 01/02: CAMEL-16828: camel-cloud - should not use reflection
when configuring model to factory. For this we need to use generated
configurer classes.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
commit e02ceef9c8b0dba810ffb17f717ab9725e0c25cb
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Jul 29 17:17:26 2021 +0200
CAMEL-16828: camel-cloud - should not use reflection when configuring model to factory. For this we need to use generated configurer classes.
---
components/camel-consul/pom.xml | 25 ++++
.../ConsulServiceDiscoveryFactoryConfigurer.java | 103 +++++++++++++
...nent.consul.cloud.ConsulServiceDiscoveryFactory | 2 +
.../cloud/ConsulServiceDiscoveryFactory.java | 20 +--
components/camel-dns/pom.xml | 25 ++++
.../DnsServiceDiscoveryFactoryConfigurer.java | 55 +++++++
....component.dns.cloud.DnsServiceDiscoveryFactory | 2 +
.../dns/cloud/DnsServiceDiscoveryFactory.java | 2 +
components/camel-etcd/pom.xml | 25 ++++
.../EtcdServiceDiscoveryFactoryConfigurer.java | 91 ++++++++++++
...omponent.etcd.cloud.EtcdServiceDiscoveryFactory | 2 +
.../etcd/cloud/EtcdServiceDiscoveryFactory.java | 2 +
components/camel-kubernetes/pom.xml | 24 +++
...ubernetesServiceDiscoveryFactoryConfigurer.java | 157 ++++++++++++++++++++
...ernetes.cloud.KubernetesServiceDiscoveryFactory | 2 +
.../cloud/KubernetesServiceDiscoveryFactory.java | 2 +
components/camel-ribbon/pom.xml | 25 ++++
...RibbonServiceLoadBalancerFactoryConfigurer.java | 82 +++++++++++
...t.ribbon.cloud.RibbonServiceLoadBalancerFactory | 2 +
.../cloud/RibbonServiceLoadBalancerFactory.java | 2 +
components/camel-zookeeper/pom.xml | 19 +++
...ZooKeeperServiceDiscoveryFactoryConfigurer.java | 162 +++++++++++++++++++++
...ookeeper.cloud.ZooKeeperServiceDiscoveryFactory | 2 +
.../cloud/ZooKeeperServiceDiscoveryFactory.java | 2 +
24 files changed, 817 insertions(+), 18 deletions(-)
diff --git a/components/camel-consul/pom.xml b/components/camel-consul/pom.xml
index 203cbcc..bc99d44 100644
--- a/components/camel-consul/pom.xml
+++ b/components/camel-consul/pom.xml
@@ -171,4 +171,29 @@
</dependency>
</dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-package-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-configurer</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>generate-configurer</goal>
+ </goals>
+ <configuration>
+ <discoverClasses>false</discoverClasses>
+ <classes>
+ <class>org.apache.camel.component.consul.cloud.ConsulServiceDiscoveryFactory</class>
+ </classes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
</project>
diff --git a/components/camel-consul/src/generated/java/org/apache/camel/component/consul/cloud/ConsulServiceDiscoveryFactoryConfigurer.java b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/cloud/ConsulServiceDiscoveryFactoryConfigurer.java
new file mode 100644
index 0000000..f9afa31
--- /dev/null
+++ b/components/camel-consul/src/generated/java/org/apache/camel/component/consul/cloud/ConsulServiceDiscoveryFactoryConfigurer.java
@@ -0,0 +1,103 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.consul.cloud;
+
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.spi.ConfigurerStrategy;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.component.consul.cloud.ConsulServiceDiscoveryFactory;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class ConsulServiceDiscoveryFactoryConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+ @Override
+ public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
+ org.apache.camel.component.consul.cloud.ConsulServiceDiscoveryFactory target = (org.apache.camel.component.consul.cloud.ConsulServiceDiscoveryFactory) obj;
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "acltoken":
+ case "AclToken": target.setAclToken(property(camelContext, java.lang.String.class, value)); return true;
+ case "blockseconds":
+ case "BlockSeconds": target.setBlockSeconds(property(camelContext, java.lang.Integer.class, value)); return true;
+ case "connecttimeoutmillis":
+ case "ConnectTimeoutMillis": target.setConnectTimeoutMillis(property(camelContext, java.lang.Long.class, value)); return true;
+ case "datacenter":
+ case "Datacenter": target.setDatacenter(property(camelContext, java.lang.String.class, value)); return true;
+ case "password":
+ case "Password": target.setPassword(property(camelContext, java.lang.String.class, value)); return true;
+ case "readtimeoutmillis":
+ case "ReadTimeoutMillis": target.setReadTimeoutMillis(property(camelContext, java.lang.Long.class, value)); return true;
+ case "sslcontextparameters":
+ case "SslContextParameters": target.setSslContextParameters(property(camelContext, org.apache.camel.support.jsse.SSLContextParameters.class, value)); return true;
+ case "url":
+ case "Url": target.setUrl(property(camelContext, java.lang.String.class, value)); return true;
+ case "username":
+ case "UserName": target.setUserName(property(camelContext, java.lang.String.class, value)); return true;
+ case "writetimeoutmillis":
+ case "WriteTimeoutMillis": target.setWriteTimeoutMillis(property(camelContext, java.lang.Long.class, value)); return true;
+ default: return false;
+ }
+ }
+
+ @Override
+ public Class<?> getOptionType(String name, boolean ignoreCase) {
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "acltoken":
+ case "AclToken": return java.lang.String.class;
+ case "blockseconds":
+ case "BlockSeconds": return java.lang.Integer.class;
+ case "connecttimeoutmillis":
+ case "ConnectTimeoutMillis": return java.lang.Long.class;
+ case "datacenter":
+ case "Datacenter": return java.lang.String.class;
+ case "password":
+ case "Password": return java.lang.String.class;
+ case "readtimeoutmillis":
+ case "ReadTimeoutMillis": return java.lang.Long.class;
+ case "sslcontextparameters":
+ case "SslContextParameters": return org.apache.camel.support.jsse.SSLContextParameters.class;
+ case "url":
+ case "Url": return java.lang.String.class;
+ case "username":
+ case "UserName": return java.lang.String.class;
+ case "writetimeoutmillis":
+ case "WriteTimeoutMillis": return java.lang.Long.class;
+ default: return null;
+ }
+ }
+
+ @Override
+ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+ org.apache.camel.component.consul.cloud.ConsulServiceDiscoveryFactory target = (org.apache.camel.component.consul.cloud.ConsulServiceDiscoveryFactory) obj;
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "acltoken":
+ case "AclToken": return target.getAclToken();
+ case "blockseconds":
+ case "BlockSeconds": return target.getBlockSeconds();
+ case "connecttimeoutmillis":
+ case "ConnectTimeoutMillis": return target.getConnectTimeoutMillis();
+ case "datacenter":
+ case "Datacenter": return target.getDatacenter();
+ case "password":
+ case "Password": return target.getPassword();
+ case "readtimeoutmillis":
+ case "ReadTimeoutMillis": return target.getReadTimeoutMillis();
+ case "sslcontextparameters":
+ case "SslContextParameters": return target.getSslContextParameters();
+ case "url":
+ case "Url": return target.getUrl();
+ case "username":
+ case "UserName": return target.getUserName();
+ case "writetimeoutmillis":
+ case "WriteTimeoutMillis": return target.getWriteTimeoutMillis();
+ default: return null;
+ }
+ }
+}
+
diff --git a/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.consul.cloud.ConsulServiceDiscoveryFactory b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.consul.cloud.ConsulServiceDiscoveryFactory
new file mode 100644
index 0000000..845bdf4
--- /dev/null
+++ b/components/camel-consul/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.consul.cloud.ConsulServiceDiscoveryFactory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.consul.cloud.ConsulServiceDiscoveryFactoryConfigurer
diff --git a/components/camel-consul/src/main/java/org/apache/camel/component/consul/cloud/ConsulServiceDiscoveryFactory.java b/components/camel-consul/src/main/java/org/apache/camel/component/consul/cloud/ConsulServiceDiscoveryFactory.java
index 8f7bcad..ea0d727 100644
--- a/components/camel-consul/src/main/java/org/apache/camel/component/consul/cloud/ConsulServiceDiscoveryFactory.java
+++ b/components/camel-consul/src/main/java/org/apache/camel/component/consul/cloud/ConsulServiceDiscoveryFactory.java
@@ -20,10 +20,12 @@ import org.apache.camel.CamelContext;
import org.apache.camel.cloud.ServiceDiscovery;
import org.apache.camel.cloud.ServiceDiscoveryFactory;
import org.apache.camel.component.consul.ConsulConfiguration;
+import org.apache.camel.spi.Configurer;
import org.apache.camel.spi.annotations.CloudServiceFactory;
import org.apache.camel.support.jsse.SSLContextParameters;
@CloudServiceFactory("consul-service-discovery")
+@Configurer
public class ConsulServiceDiscoveryFactory implements ServiceDiscoveryFactory {
private final ConsulConfiguration configuration;
@@ -47,24 +49,6 @@ public class ConsulServiceDiscoveryFactory implements ServiceDiscoveryFactory {
configuration.setUrl(url);
}
- /**
- * @deprecated, @deprecated replaced by {@link #getDatacenter()} ()}
- *
- * @return
- */
- @Deprecated
- public String getDc() {
- return configuration.getDatacenter();
- }
-
- /**
- * @deprecated, @deprecated replaced by {@link #setDatacenter(String)}} ()}
- */
- @Deprecated
- public void setDc(String dc) {
- configuration.setDc(dc);
- }
-
public void setDatacenter(String dc) {
configuration.setDatacenter(dc);
}
diff --git a/components/camel-dns/pom.xml b/components/camel-dns/pom.xml
index 1bfdf2c..e85554f 100644
--- a/components/camel-dns/pom.xml
+++ b/components/camel-dns/pom.xml
@@ -72,4 +72,29 @@
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-package-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-configurer</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>generate-configurer</goal>
+ </goals>
+ <configuration>
+ <discoverClasses>false</discoverClasses>
+ <classes>
+ <class>org.apache.camel.component.dns.cloud.DnsServiceDiscoveryFactory</class>
+ </classes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+
</project>
diff --git a/components/camel-dns/src/generated/java/org/apache/camel/component/dns/cloud/DnsServiceDiscoveryFactoryConfigurer.java b/components/camel-dns/src/generated/java/org/apache/camel/component/dns/cloud/DnsServiceDiscoveryFactoryConfigurer.java
new file mode 100644
index 0000000..10457b7
--- /dev/null
+++ b/components/camel-dns/src/generated/java/org/apache/camel/component/dns/cloud/DnsServiceDiscoveryFactoryConfigurer.java
@@ -0,0 +1,55 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.dns.cloud;
+
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.spi.ConfigurerStrategy;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.component.dns.cloud.DnsServiceDiscoveryFactory;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class DnsServiceDiscoveryFactoryConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+ @Override
+ public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
+ org.apache.camel.component.dns.cloud.DnsServiceDiscoveryFactory target = (org.apache.camel.component.dns.cloud.DnsServiceDiscoveryFactory) obj;
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "domain":
+ case "Domain": target.setDomain(property(camelContext, java.lang.String.class, value)); return true;
+ case "proto":
+ case "Proto": target.setProto(property(camelContext, java.lang.String.class, value)); return true;
+ default: return false;
+ }
+ }
+
+ @Override
+ public Class<?> getOptionType(String name, boolean ignoreCase) {
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "domain":
+ case "Domain": return java.lang.String.class;
+ case "proto":
+ case "Proto": return java.lang.String.class;
+ default: return null;
+ }
+ }
+
+ @Override
+ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+ org.apache.camel.component.dns.cloud.DnsServiceDiscoveryFactory target = (org.apache.camel.component.dns.cloud.DnsServiceDiscoveryFactory) obj;
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "domain":
+ case "Domain": return target.getDomain();
+ case "proto":
+ case "Proto": return target.getProto();
+ default: return null;
+ }
+ }
+}
+
diff --git a/components/camel-dns/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.dns.cloud.DnsServiceDiscoveryFactory b/components/camel-dns/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.dns.cloud.DnsServiceDiscoveryFactory
new file mode 100644
index 0000000..1331ed7
--- /dev/null
+++ b/components/camel-dns/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.dns.cloud.DnsServiceDiscoveryFactory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.dns.cloud.DnsServiceDiscoveryFactoryConfigurer
diff --git a/components/camel-dns/src/main/java/org/apache/camel/component/dns/cloud/DnsServiceDiscoveryFactory.java b/components/camel-dns/src/main/java/org/apache/camel/component/dns/cloud/DnsServiceDiscoveryFactory.java
index d327e84..1ad2348 100644
--- a/components/camel-dns/src/main/java/org/apache/camel/component/dns/cloud/DnsServiceDiscoveryFactory.java
+++ b/components/camel-dns/src/main/java/org/apache/camel/component/dns/cloud/DnsServiceDiscoveryFactory.java
@@ -20,9 +20,11 @@ import org.apache.camel.CamelContext;
import org.apache.camel.cloud.ServiceDiscovery;
import org.apache.camel.cloud.ServiceDiscoveryFactory;
import org.apache.camel.component.dns.DnsConfiguration;
+import org.apache.camel.spi.Configurer;
import org.apache.camel.spi.annotations.CloudServiceFactory;
@CloudServiceFactory("dns-service-discovery")
+@Configurer
public class DnsServiceDiscoveryFactory implements ServiceDiscoveryFactory {
private final DnsConfiguration configuration;
diff --git a/components/camel-etcd/pom.xml b/components/camel-etcd/pom.xml
index c7512f9..a350325 100644
--- a/components/camel-etcd/pom.xml
+++ b/components/camel-etcd/pom.xml
@@ -98,4 +98,29 @@
</dependency>
</dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-package-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-configurer</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>generate-configurer</goal>
+ </goals>
+ <configuration>
+ <discoverClasses>false</discoverClasses>
+ <classes>
+ <class>org.apache.camel.component.etcd.cloud.EtcdServiceDiscoveryFactory</class>
+ </classes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
</project>
diff --git a/components/camel-etcd/src/generated/java/org/apache/camel/component/etcd/cloud/EtcdServiceDiscoveryFactoryConfigurer.java b/components/camel-etcd/src/generated/java/org/apache/camel/component/etcd/cloud/EtcdServiceDiscoveryFactoryConfigurer.java
new file mode 100644
index 0000000..490c81b
--- /dev/null
+++ b/components/camel-etcd/src/generated/java/org/apache/camel/component/etcd/cloud/EtcdServiceDiscoveryFactoryConfigurer.java
@@ -0,0 +1,91 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.etcd.cloud;
+
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.spi.ConfigurerStrategy;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.component.etcd.cloud.EtcdServiceDiscoveryFactory;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class EtcdServiceDiscoveryFactoryConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+ @Override
+ public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
+ org.apache.camel.component.etcd.cloud.EtcdServiceDiscoveryFactory target = (org.apache.camel.component.etcd.cloud.EtcdServiceDiscoveryFactory) obj;
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "password":
+ case "Password": target.setPassword(property(camelContext, java.lang.String.class, value)); return true;
+ case "servicepath":
+ case "ServicePath": target.setServicePath(property(camelContext, java.lang.String.class, value)); return true;
+ case "sslcontextparameters":
+ case "SslContextParameters": target.setSslContextParameters(property(camelContext, org.apache.camel.support.jsse.SSLContextParameters.class, value)); return true;
+ case "timetolive":
+ case "TimeToLive": target.setTimeToLive(property(camelContext, java.lang.Integer.class, value)); return true;
+ case "timeout":
+ case "Timeout": target.setTimeout(property(camelContext, java.lang.Long.class, value)); return true;
+ case "type":
+ case "Type": target.setType(property(camelContext, java.lang.String.class, value)); return true;
+ case "uris":
+ case "Uris": target.setUris(property(camelContext, java.lang.String.class, value)); return true;
+ case "username":
+ case "UserName": target.setUserName(property(camelContext, java.lang.String.class, value)); return true;
+ default: return false;
+ }
+ }
+
+ @Override
+ public Class<?> getOptionType(String name, boolean ignoreCase) {
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "password":
+ case "Password": return java.lang.String.class;
+ case "servicepath":
+ case "ServicePath": return java.lang.String.class;
+ case "sslcontextparameters":
+ case "SslContextParameters": return org.apache.camel.support.jsse.SSLContextParameters.class;
+ case "timetolive":
+ case "TimeToLive": return java.lang.Integer.class;
+ case "timeout":
+ case "Timeout": return java.lang.Long.class;
+ case "type":
+ case "Type": return java.lang.String.class;
+ case "uris":
+ case "Uris": return java.lang.String.class;
+ case "username":
+ case "UserName": return java.lang.String.class;
+ default: return null;
+ }
+ }
+
+ @Override
+ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+ org.apache.camel.component.etcd.cloud.EtcdServiceDiscoveryFactory target = (org.apache.camel.component.etcd.cloud.EtcdServiceDiscoveryFactory) obj;
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "password":
+ case "Password": return target.getPassword();
+ case "servicepath":
+ case "ServicePath": return target.getServicePath();
+ case "sslcontextparameters":
+ case "SslContextParameters": return target.getSslContextParameters();
+ case "timetolive":
+ case "TimeToLive": return target.getTimeToLive();
+ case "timeout":
+ case "Timeout": return target.getTimeout();
+ case "type":
+ case "Type": return target.getType();
+ case "uris":
+ case "Uris": return target.getUris();
+ case "username":
+ case "UserName": return target.getUserName();
+ default: return null;
+ }
+ }
+}
+
diff --git a/components/camel-etcd/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.etcd.cloud.EtcdServiceDiscoveryFactory b/components/camel-etcd/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.etcd.cloud.EtcdServiceDiscoveryFactory
new file mode 100644
index 0000000..6b7d5fe
--- /dev/null
+++ b/components/camel-etcd/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.etcd.cloud.EtcdServiceDiscoveryFactory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.etcd.cloud.EtcdServiceDiscoveryFactoryConfigurer
diff --git a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/cloud/EtcdServiceDiscoveryFactory.java b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/cloud/EtcdServiceDiscoveryFactory.java
index a90ed64..5f6fd2d 100644
--- a/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/cloud/EtcdServiceDiscoveryFactory.java
+++ b/components/camel-etcd/src/main/java/org/apache/camel/component/etcd/cloud/EtcdServiceDiscoveryFactory.java
@@ -20,11 +20,13 @@ import org.apache.camel.CamelContext;
import org.apache.camel.cloud.ServiceDiscovery;
import org.apache.camel.cloud.ServiceDiscoveryFactory;
import org.apache.camel.component.etcd.EtcdConfiguration;
+import org.apache.camel.spi.Configurer;
import org.apache.camel.spi.annotations.CloudServiceFactory;
import org.apache.camel.support.jsse.SSLContextParameters;
import org.apache.camel.util.ObjectHelper;
@CloudServiceFactory("etcd-service-discovery")
+@Configurer
public class EtcdServiceDiscoveryFactory implements ServiceDiscoveryFactory {
private final EtcdConfiguration configuration;
private String type;
diff --git a/components/camel-kubernetes/pom.xml b/components/camel-kubernetes/pom.xml
index 0e18aad..ab9cb4c 100644
--- a/components/camel-kubernetes/pom.xml
+++ b/components/camel-kubernetes/pom.xml
@@ -132,6 +132,30 @@
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-package-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-configurer</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>generate-configurer</goal>
+ </goals>
+ <configuration>
+ <discoverClasses>false</discoverClasses>
+ <classes>
+ <class>org.apache.camel.component.kubernetes.cloud.KubernetesServiceDiscoveryFactory</class>
+ </classes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
<profiles>
<profile>
<id>jdk9s-build</id>
diff --git a/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/cloud/KubernetesServiceDiscoveryFactoryConfigurer.java b/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/cloud/KubernetesServiceDiscoveryFactoryConfigurer.java
new file mode 100644
index 0000000..f22c49f
--- /dev/null
+++ b/components/camel-kubernetes/src/generated/java/org/apache/camel/component/kubernetes/cloud/KubernetesServiceDiscoveryFactoryConfigurer.java
@@ -0,0 +1,157 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.kubernetes.cloud;
+
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.spi.ConfigurerStrategy;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.component.kubernetes.cloud.KubernetesServiceDiscoveryFactory;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class KubernetesServiceDiscoveryFactoryConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+ @Override
+ public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
+ org.apache.camel.component.kubernetes.cloud.KubernetesServiceDiscoveryFactory target = (org.apache.camel.component.kubernetes.cloud.KubernetesServiceDiscoveryFactory) obj;
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "apiversion":
+ case "ApiVersion": target.setApiVersion(property(camelContext, java.lang.String.class, value)); return true;
+ case "cacertdata":
+ case "CaCertData": target.setCaCertData(property(camelContext, java.lang.String.class, value)); return true;
+ case "cacertfile":
+ case "CaCertFile": target.setCaCertFile(property(camelContext, java.lang.String.class, value)); return true;
+ case "clientcertdata":
+ case "ClientCertData": target.setClientCertData(property(camelContext, java.lang.String.class, value)); return true;
+ case "clientcertfile":
+ case "ClientCertFile": target.setClientCertFile(property(camelContext, java.lang.String.class, value)); return true;
+ case "clientkeyalgo":
+ case "ClientKeyAlgo": target.setClientKeyAlgo(property(camelContext, java.lang.String.class, value)); return true;
+ case "clientkeydata":
+ case "ClientKeyData": target.setClientKeyData(property(camelContext, java.lang.String.class, value)); return true;
+ case "clientkeyfile":
+ case "ClientKeyFile": target.setClientKeyFile(property(camelContext, java.lang.String.class, value)); return true;
+ case "clientkeypassphrase":
+ case "ClientKeyPassphrase": target.setClientKeyPassphrase(property(camelContext, java.lang.String.class, value)); return true;
+ case "dnsdomain":
+ case "DnsDomain": target.setDnsDomain(property(camelContext, java.lang.String.class, value)); return true;
+ case "lookup":
+ case "Lookup": target.setLookup(property(camelContext, java.lang.String.class, value)); return true;
+ case "masterurl":
+ case "MasterUrl": target.setMasterUrl(property(camelContext, java.lang.String.class, value)); return true;
+ case "namespace":
+ case "Namespace": target.setNamespace(property(camelContext, java.lang.String.class, value)); return true;
+ case "oauthtoken":
+ case "OauthToken": target.setOauthToken(property(camelContext, java.lang.String.class, value)); return true;
+ case "password":
+ case "Password": target.setPassword(property(camelContext, java.lang.String.class, value)); return true;
+ case "portname":
+ case "PortName": target.setPortName(property(camelContext, java.lang.String.class, value)); return true;
+ case "portprotocol":
+ case "PortProtocol": target.setPortProtocol(property(camelContext, java.lang.String.class, value)); return true;
+ case "trustcerts":
+ case "TrustCerts": target.setTrustCerts(property(camelContext, java.lang.Boolean.class, value)); return true;
+ case "username":
+ case "Username": target.setUsername(property(camelContext, java.lang.String.class, value)); return true;
+ default: return false;
+ }
+ }
+
+ @Override
+ public Class<?> getOptionType(String name, boolean ignoreCase) {
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "apiversion":
+ case "ApiVersion": return java.lang.String.class;
+ case "cacertdata":
+ case "CaCertData": return java.lang.String.class;
+ case "cacertfile":
+ case "CaCertFile": return java.lang.String.class;
+ case "clientcertdata":
+ case "ClientCertData": return java.lang.String.class;
+ case "clientcertfile":
+ case "ClientCertFile": return java.lang.String.class;
+ case "clientkeyalgo":
+ case "ClientKeyAlgo": return java.lang.String.class;
+ case "clientkeydata":
+ case "ClientKeyData": return java.lang.String.class;
+ case "clientkeyfile":
+ case "ClientKeyFile": return java.lang.String.class;
+ case "clientkeypassphrase":
+ case "ClientKeyPassphrase": return java.lang.String.class;
+ case "dnsdomain":
+ case "DnsDomain": return java.lang.String.class;
+ case "lookup":
+ case "Lookup": return java.lang.String.class;
+ case "masterurl":
+ case "MasterUrl": return java.lang.String.class;
+ case "namespace":
+ case "Namespace": return java.lang.String.class;
+ case "oauthtoken":
+ case "OauthToken": return java.lang.String.class;
+ case "password":
+ case "Password": return java.lang.String.class;
+ case "portname":
+ case "PortName": return java.lang.String.class;
+ case "portprotocol":
+ case "PortProtocol": return java.lang.String.class;
+ case "trustcerts":
+ case "TrustCerts": return java.lang.Boolean.class;
+ case "username":
+ case "Username": return java.lang.String.class;
+ default: return null;
+ }
+ }
+
+ @Override
+ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+ org.apache.camel.component.kubernetes.cloud.KubernetesServiceDiscoveryFactory target = (org.apache.camel.component.kubernetes.cloud.KubernetesServiceDiscoveryFactory) obj;
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "apiversion":
+ case "ApiVersion": return target.getApiVersion();
+ case "cacertdata":
+ case "CaCertData": return target.getCaCertData();
+ case "cacertfile":
+ case "CaCertFile": return target.getCaCertFile();
+ case "clientcertdata":
+ case "ClientCertData": return target.getClientCertData();
+ case "clientcertfile":
+ case "ClientCertFile": return target.getClientCertFile();
+ case "clientkeyalgo":
+ case "ClientKeyAlgo": return target.getClientKeyAlgo();
+ case "clientkeydata":
+ case "ClientKeyData": return target.getClientKeyData();
+ case "clientkeyfile":
+ case "ClientKeyFile": return target.getClientKeyFile();
+ case "clientkeypassphrase":
+ case "ClientKeyPassphrase": return target.getClientKeyPassphrase();
+ case "dnsdomain":
+ case "DnsDomain": return target.getDnsDomain();
+ case "lookup":
+ case "Lookup": return target.getLookup();
+ case "masterurl":
+ case "MasterUrl": return target.getMasterUrl();
+ case "namespace":
+ case "Namespace": return target.getNamespace();
+ case "oauthtoken":
+ case "OauthToken": return target.getOauthToken();
+ case "password":
+ case "Password": return target.getPassword();
+ case "portname":
+ case "PortName": return target.getPortName();
+ case "portprotocol":
+ case "PortProtocol": return target.getPortProtocol();
+ case "trustcerts":
+ case "TrustCerts": return target.getTrustCerts();
+ case "username":
+ case "Username": return target.getUsername();
+ default: return null;
+ }
+ }
+}
+
diff --git a/components/camel-kubernetes/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.kubernetes.cloud.KubernetesServiceDiscoveryFactory b/components/camel-kubernetes/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.kubernetes.cloud.KubernetesServiceDiscoveryFactory
new file mode 100644
index 0000000..4bcf129
--- /dev/null
+++ b/components/camel-kubernetes/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.kubernetes.cloud.KubernetesServiceDiscoveryFactory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.kubernetes.cloud.KubernetesServiceDiscoveryFactoryConfigurer
diff --git a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cloud/KubernetesServiceDiscoveryFactory.java b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cloud/KubernetesServiceDiscoveryFactory.java
index b1d6798..b3b5cc7 100644
--- a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cloud/KubernetesServiceDiscoveryFactory.java
+++ b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cloud/KubernetesServiceDiscoveryFactory.java
@@ -20,10 +20,12 @@ import org.apache.camel.CamelContext;
import org.apache.camel.cloud.ServiceDiscovery;
import org.apache.camel.cloud.ServiceDiscoveryFactory;
import org.apache.camel.component.kubernetes.KubernetesConfiguration;
+import org.apache.camel.spi.Configurer;
import org.apache.camel.spi.annotations.CloudServiceFactory;
import org.apache.camel.util.ObjectHelper;
@CloudServiceFactory("kubernetes-service-discovery")
+@Configurer
public class KubernetesServiceDiscoveryFactory implements ServiceDiscoveryFactory {
private final KubernetesConfiguration configuration;
private String lookup;
diff --git a/components/camel-ribbon/pom.xml b/components/camel-ribbon/pom.xml
index c8d661f..ebef261 100644
--- a/components/camel-ribbon/pom.xml
+++ b/components/camel-ribbon/pom.xml
@@ -109,4 +109,29 @@
<scope>test</scope>
</dependency>
</dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-package-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-configurer</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>generate-configurer</goal>
+ </goals>
+ <configuration>
+ <discoverClasses>false</discoverClasses>
+ <classes>
+ <class>org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancerFactory</class>
+ </classes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
</project>
diff --git a/components/camel-ribbon/src/generated/java/org/apache/camel/component/ribbon/cloud/RibbonServiceLoadBalancerFactoryConfigurer.java b/components/camel-ribbon/src/generated/java/org/apache/camel/component/ribbon/cloud/RibbonServiceLoadBalancerFactoryConfigurer.java
new file mode 100644
index 0000000..16a62d0
--- /dev/null
+++ b/components/camel-ribbon/src/generated/java/org/apache/camel/component/ribbon/cloud/RibbonServiceLoadBalancerFactoryConfigurer.java
@@ -0,0 +1,82 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.ribbon.cloud;
+
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.spi.ConfigurerStrategy;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancerFactory;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class RibbonServiceLoadBalancerFactoryConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+ @Override
+ public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
+ org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancerFactory target = (org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancerFactory) obj;
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "clientname":
+ case "ClientName": target.setClientName(property(camelContext, java.lang.String.class, value)); return true;
+ case "namespace":
+ case "Namespace": target.setNamespace(property(camelContext, java.lang.String.class, value)); return true;
+ case "password":
+ case "Password": target.setPassword(property(camelContext, java.lang.String.class, value)); return true;
+ case "properties":
+ case "Properties": target.setProperties(property(camelContext, java.util.Map.class, value)); return true;
+ case "username":
+ case "Username": target.setUsername(property(camelContext, java.lang.String.class, value)); return true;
+ default: return false;
+ }
+ }
+
+ @Override
+ public Class<?> getOptionType(String name, boolean ignoreCase) {
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "clientname":
+ case "ClientName": return java.lang.String.class;
+ case "namespace":
+ case "Namespace": return java.lang.String.class;
+ case "password":
+ case "Password": return java.lang.String.class;
+ case "properties":
+ case "Properties": return java.util.Map.class;
+ case "username":
+ case "Username": return java.lang.String.class;
+ default: return null;
+ }
+ }
+
+ @Override
+ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+ org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancerFactory target = (org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancerFactory) obj;
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "clientname":
+ case "ClientName": return target.getClientName();
+ case "namespace":
+ case "Namespace": return target.getNamespace();
+ case "password":
+ case "Password": return target.getPassword();
+ case "properties":
+ case "Properties": return target.getProperties();
+ case "username":
+ case "Username": return target.getUsername();
+ default: return null;
+ }
+ }
+
+ @Override
+ public Object getCollectionValueType(Object target, String name, boolean ignoreCase) {
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "properties":
+ case "Properties": return java.lang.String.class;
+ default: return null;
+ }
+ }
+}
+
diff --git a/components/camel-ribbon/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancerFactory b/components/camel-ribbon/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancerFactory
new file mode 100644
index 0000000..6e8b2d7
--- /dev/null
+++ b/components/camel-ribbon/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancerFactory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.ribbon.cloud.RibbonServiceLoadBalancerFactoryConfigurer
diff --git a/components/camel-ribbon/src/main/java/org/apache/camel/component/ribbon/cloud/RibbonServiceLoadBalancerFactory.java b/components/camel-ribbon/src/main/java/org/apache/camel/component/ribbon/cloud/RibbonServiceLoadBalancerFactory.java
index f81924c..e791754 100644
--- a/components/camel-ribbon/src/main/java/org/apache/camel/component/ribbon/cloud/RibbonServiceLoadBalancerFactory.java
+++ b/components/camel-ribbon/src/main/java/org/apache/camel/component/ribbon/cloud/RibbonServiceLoadBalancerFactory.java
@@ -22,9 +22,11 @@ import org.apache.camel.CamelContext;
import org.apache.camel.cloud.ServiceLoadBalancer;
import org.apache.camel.cloud.ServiceLoadBalancerFactory;
import org.apache.camel.component.ribbon.RibbonConfiguration;
+import org.apache.camel.spi.Configurer;
import org.apache.camel.spi.annotations.CloudServiceFactory;
@CloudServiceFactory("ribbon-service-load-balancer")
+@Configurer
public class RibbonServiceLoadBalancerFactory implements ServiceLoadBalancerFactory {
private final RibbonConfiguration configuration;
diff --git a/components/camel-zookeeper/pom.xml b/components/camel-zookeeper/pom.xml
index 8c157d8..d76be5a 100644
--- a/components/camel-zookeeper/pom.xml
+++ b/components/camel-zookeeper/pom.xml
@@ -201,6 +201,25 @@
<build>
<plugins>
<plugin>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-package-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>generate-configurer</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>generate-configurer</goal>
+ </goals>
+ <configuration>
+ <discoverClasses>false</discoverClasses>
+ <classes>
+ <class>org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscoveryFactory</class>
+ </classes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>${skipTests}</skipTests>
diff --git a/components/camel-zookeeper/src/generated/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscoveryFactoryConfigurer.java b/components/camel-zookeeper/src/generated/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscoveryFactoryConfigurer.java
new file mode 100644
index 0000000..6202e1d
--- /dev/null
+++ b/components/camel-zookeeper/src/generated/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscoveryFactoryConfigurer.java
@@ -0,0 +1,162 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.zookeeper.cloud;
+
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
+import org.apache.camel.spi.PropertyConfigurerGetter;
+import org.apache.camel.spi.ConfigurerStrategy;
+import org.apache.camel.spi.GeneratedPropertyConfigurer;
+import org.apache.camel.util.CaseInsensitiveMap;
+import org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscoveryFactory;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class ZooKeeperServiceDiscoveryFactoryConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+ @Override
+ public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
+ org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscoveryFactory target = (org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscoveryFactory) obj;
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "authinfolist":
+ case "AuthInfoList": target.setAuthInfoList(property(camelContext, java.util.List.class, value)); return true;
+ case "basepath":
+ case "BasePath": target.setBasePath(property(camelContext, java.lang.String.class, value)); return true;
+ case "configuration":
+ case "Configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.zookeeper.ZooKeeperCuratorConfiguration.class, value)); return true;
+ case "connectiontimeout":
+ case "ConnectionTimeout": target.setConnectionTimeout(property(camelContext, long.class, value)); return true;
+ case "connectiontimeoutunit":
+ case "ConnectionTimeoutUnit": target.setConnectionTimeoutUnit(property(camelContext, java.util.concurrent.TimeUnit.class, value)); return true;
+ case "curatorframework":
+ case "CuratorFramework": target.setCuratorFramework(property(camelContext, org.apache.curator.framework.CuratorFramework.class, value)); return true;
+ case "maxclosewait":
+ case "MaxCloseWait": target.setMaxCloseWait(property(camelContext, long.class, value)); return true;
+ case "maxclosewaitunit":
+ case "MaxCloseWaitUnit": target.setMaxCloseWaitUnit(property(camelContext, java.util.concurrent.TimeUnit.class, value)); return true;
+ case "namespace":
+ case "Namespace": target.setNamespace(property(camelContext, java.lang.String.class, value)); return true;
+ case "nodes":
+ case "Nodes": target.setNodes(property(camelContext, java.util.List.class, value)); return true;
+ case "reconnectbasesleeptime":
+ case "ReconnectBaseSleepTime": target.setReconnectBaseSleepTime(property(camelContext, long.class, value)); return true;
+ case "reconnectbasesleeptimeunit":
+ case "ReconnectBaseSleepTimeUnit": target.setReconnectBaseSleepTimeUnit(property(camelContext, java.util.concurrent.TimeUnit.class, value)); return true;
+ case "reconnectmaxretries":
+ case "ReconnectMaxRetries": target.setReconnectMaxRetries(property(camelContext, int.class, value)); return true;
+ case "reconnectmaxsleeptime":
+ case "ReconnectMaxSleepTime": target.setReconnectMaxSleepTime(property(camelContext, long.class, value)); return true;
+ case "reconnectmaxsleeptimeunit":
+ case "ReconnectMaxSleepTimeUnit": target.setReconnectMaxSleepTimeUnit(property(camelContext, java.util.concurrent.TimeUnit.class, value)); return true;
+ case "retrypolicy":
+ case "RetryPolicy": target.setRetryPolicy(property(camelContext, org.apache.curator.RetryPolicy.class, value)); return true;
+ case "sessiontimeout":
+ case "SessionTimeout": target.setSessionTimeout(property(camelContext, long.class, value)); return true;
+ case "sessiontimeoutunit":
+ case "SessionTimeoutUnit": target.setSessionTimeoutUnit(property(camelContext, java.util.concurrent.TimeUnit.class, value)); return true;
+ default: return false;
+ }
+ }
+
+ @Override
+ public Class<?> getOptionType(String name, boolean ignoreCase) {
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "authinfolist":
+ case "AuthInfoList": return java.util.List.class;
+ case "basepath":
+ case "BasePath": return java.lang.String.class;
+ case "configuration":
+ case "Configuration": return org.apache.camel.component.zookeeper.ZooKeeperCuratorConfiguration.class;
+ case "connectiontimeout":
+ case "ConnectionTimeout": return long.class;
+ case "connectiontimeoutunit":
+ case "ConnectionTimeoutUnit": return java.util.concurrent.TimeUnit.class;
+ case "curatorframework":
+ case "CuratorFramework": return org.apache.curator.framework.CuratorFramework.class;
+ case "maxclosewait":
+ case "MaxCloseWait": return long.class;
+ case "maxclosewaitunit":
+ case "MaxCloseWaitUnit": return java.util.concurrent.TimeUnit.class;
+ case "namespace":
+ case "Namespace": return java.lang.String.class;
+ case "nodes":
+ case "Nodes": return java.util.List.class;
+ case "reconnectbasesleeptime":
+ case "ReconnectBaseSleepTime": return long.class;
+ case "reconnectbasesleeptimeunit":
+ case "ReconnectBaseSleepTimeUnit": return java.util.concurrent.TimeUnit.class;
+ case "reconnectmaxretries":
+ case "ReconnectMaxRetries": return int.class;
+ case "reconnectmaxsleeptime":
+ case "ReconnectMaxSleepTime": return long.class;
+ case "reconnectmaxsleeptimeunit":
+ case "ReconnectMaxSleepTimeUnit": return java.util.concurrent.TimeUnit.class;
+ case "retrypolicy":
+ case "RetryPolicy": return org.apache.curator.RetryPolicy.class;
+ case "sessiontimeout":
+ case "SessionTimeout": return long.class;
+ case "sessiontimeoutunit":
+ case "SessionTimeoutUnit": return java.util.concurrent.TimeUnit.class;
+ default: return null;
+ }
+ }
+
+ @Override
+ public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+ org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscoveryFactory target = (org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscoveryFactory) obj;
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "authinfolist":
+ case "AuthInfoList": return target.getAuthInfoList();
+ case "basepath":
+ case "BasePath": return target.getBasePath();
+ case "configuration":
+ case "Configuration": return target.getConfiguration();
+ case "connectiontimeout":
+ case "ConnectionTimeout": return target.getConnectionTimeout();
+ case "connectiontimeoutunit":
+ case "ConnectionTimeoutUnit": return target.getConnectionTimeoutUnit();
+ case "curatorframework":
+ case "CuratorFramework": return target.getCuratorFramework();
+ case "maxclosewait":
+ case "MaxCloseWait": return target.getMaxCloseWait();
+ case "maxclosewaitunit":
+ case "MaxCloseWaitUnit": return target.getMaxCloseWaitUnit();
+ case "namespace":
+ case "Namespace": return target.getNamespace();
+ case "nodes":
+ case "Nodes": return target.getNodes();
+ case "reconnectbasesleeptime":
+ case "ReconnectBaseSleepTime": return target.getReconnectBaseSleepTime();
+ case "reconnectbasesleeptimeunit":
+ case "ReconnectBaseSleepTimeUnit": return target.getReconnectBaseSleepTimeUnit();
+ case "reconnectmaxretries":
+ case "ReconnectMaxRetries": return target.getReconnectMaxRetries();
+ case "reconnectmaxsleeptime":
+ case "ReconnectMaxSleepTime": return target.getReconnectMaxSleepTime();
+ case "reconnectmaxsleeptimeunit":
+ case "ReconnectMaxSleepTimeUnit": return target.getReconnectMaxSleepTimeUnit();
+ case "retrypolicy":
+ case "RetryPolicy": return target.getRetryPolicy();
+ case "sessiontimeout":
+ case "SessionTimeout": return target.getSessionTimeout();
+ case "sessiontimeoutunit":
+ case "SessionTimeoutUnit": return target.getSessionTimeoutUnit();
+ default: return null;
+ }
+ }
+
+ @Override
+ public Object getCollectionValueType(Object target, String name, boolean ignoreCase) {
+ switch (ignoreCase ? name.toLowerCase() : name) {
+ case "authinfolist":
+ case "AuthInfoList": return org.apache.curator.framework.AuthInfo.class;
+ case "nodes":
+ case "Nodes": return java.lang.String.class;
+ default: return null;
+ }
+ }
+}
+
diff --git a/components/camel-zookeeper/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscoveryFactory b/components/camel-zookeeper/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscoveryFactory
new file mode 100644
index 0000000..e1c234b
--- /dev/null
+++ b/components/camel-zookeeper/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscoveryFactory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.zookeeper.cloud.ZooKeeperServiceDiscoveryFactoryConfigurer
diff --git a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscoveryFactory.java b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscoveryFactory.java
index 7891279..7060b52 100644
--- a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscoveryFactory.java
+++ b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/cloud/ZooKeeperServiceDiscoveryFactory.java
@@ -23,12 +23,14 @@ import org.apache.camel.CamelContext;
import org.apache.camel.cloud.ServiceDiscovery;
import org.apache.camel.cloud.ServiceDiscoveryFactory;
import org.apache.camel.component.zookeeper.ZooKeeperCuratorConfiguration;
+import org.apache.camel.spi.Configurer;
import org.apache.camel.spi.annotations.CloudServiceFactory;
import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.AuthInfo;
import org.apache.curator.framework.CuratorFramework;
@CloudServiceFactory("zookeeper-service-discovery")
+@Configurer
public class ZooKeeperServiceDiscoveryFactory implements ServiceDiscoveryFactory {
private ZooKeeperCuratorConfiguration configuration;