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

[camel] 02/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 5003dbb1180f0545f79ea0b93d6605d5ee334f51
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Jul 29 17:21:36 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-http/pom.xml                      | 25 ++++++++++++++++
 .../HttpServiceExpressionFactoryConfigurer.java    | 35 ++++++++++++++++++++++
 ...mponent.http.cloud.HttpServiceExpressionFactory |  2 ++
 .../http/cloud/HttpServiceExpressionFactory.java   |  2 ++
 components/camel-netty-http/pom.xml                |  1 +
 ...ettyHttpServiceExpressionFactoryConfigurer.java | 35 ++++++++++++++++++++++
 ...ty.http.cloud.NettyHttpServiceExpressionFactory |  2 ++
 .../cloud/NettyHttpServiceExpressionFactory.java   |  2 ++
 components/camel-undertow/pom.xml                  | 25 ++++++++++++++++
 ...UndertowServiceExpressionFactoryConfigurer.java | 35 ++++++++++++++++++++++
 ...undertow.cloud.UndertowServiceExpressionFactory |  2 ++
 .../cloud/UndertowServiceExpressionFactory.java    |  2 ++
 12 files changed, 168 insertions(+)

diff --git a/components/camel-http/pom.xml b/components/camel-http/pom.xml
index 396944c..b616401 100644
--- a/components/camel-http/pom.xml
+++ b/components/camel-http/pom.xml
@@ -114,4 +114,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.http.cloud.HttpServiceExpressionFactory</class>
+                            </classes>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>
diff --git a/components/camel-http/src/generated/java/org/apache/camel/component/http/cloud/HttpServiceExpressionFactoryConfigurer.java b/components/camel-http/src/generated/java/org/apache/camel/component/http/cloud/HttpServiceExpressionFactoryConfigurer.java
new file mode 100644
index 0000000..b346902
--- /dev/null
+++ b/components/camel-http/src/generated/java/org/apache/camel/component/http/cloud/HttpServiceExpressionFactoryConfigurer.java
@@ -0,0 +1,35 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.http.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.http.cloud.HttpServiceExpressionFactory;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class HttpServiceExpressionFactoryConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+    @Override
+    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
+        return false;
+    }
+
+    @Override
+    public Class<?> getOptionType(String name, boolean ignoreCase) {
+        return null;
+    }
+
+    @Override
+    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+        return null;
+    }
+}
+
diff --git a/components/camel-http/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.http.cloud.HttpServiceExpressionFactory b/components/camel-http/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.http.cloud.HttpServiceExpressionFactory
new file mode 100644
index 0000000..97fb9e4
--- /dev/null
+++ b/components/camel-http/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.http.cloud.HttpServiceExpressionFactory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.http.cloud.HttpServiceExpressionFactoryConfigurer
diff --git a/components/camel-http/src/main/java/org/apache/camel/component/http/cloud/HttpServiceExpressionFactory.java b/components/camel-http/src/main/java/org/apache/camel/component/http/cloud/HttpServiceExpressionFactory.java
index adfadea..25f21d2 100644
--- a/components/camel-http/src/main/java/org/apache/camel/component/http/cloud/HttpServiceExpressionFactory.java
+++ b/components/camel-http/src/main/java/org/apache/camel/component/http/cloud/HttpServiceExpressionFactory.java
@@ -19,9 +19,11 @@ package org.apache.camel.component.http.cloud;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Expression;
 import org.apache.camel.cloud.ServiceExpressionFactory;
+import org.apache.camel.spi.Configurer;
 import org.apache.camel.spi.annotations.CloudServiceFactory;
 
 @CloudServiceFactory("http-service-expression,https-service-expression")
+@Configurer
 public class HttpServiceExpressionFactory implements ServiceExpressionFactory {
     @Override
     public Expression newInstance(CamelContext camelContext) throws Exception {
diff --git a/components/camel-netty-http/pom.xml b/components/camel-netty-http/pom.xml
index 371fa23..1d70c0f 100644
--- a/components/camel-netty-http/pom.xml
+++ b/components/camel-netty-http/pom.xml
@@ -181,6 +181,7 @@
                         <configuration>
                             <discoverClasses>true</discoverClasses>
                             <classes>org.apache.camel.component.netty.http.NettyHttpConfiguration</classes>
+                            <classes>org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpressionFactory</classes>
                         </configuration>
                     </execution>
                 </executions>
diff --git a/components/camel-netty-http/src/generated/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpressionFactoryConfigurer.java b/components/camel-netty-http/src/generated/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpressionFactoryConfigurer.java
new file mode 100644
index 0000000..75b21b2
--- /dev/null
+++ b/components/camel-netty-http/src/generated/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpressionFactoryConfigurer.java
@@ -0,0 +1,35 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.netty.http.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.netty.http.cloud.NettyHttpServiceExpressionFactory;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class NettyHttpServiceExpressionFactoryConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+    @Override
+    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
+        return false;
+    }
+
+    @Override
+    public Class<?> getOptionType(String name, boolean ignoreCase) {
+        return null;
+    }
+
+    @Override
+    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+        return null;
+    }
+}
+
diff --git a/components/camel-netty-http/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpressionFactory b/components/camel-netty-http/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpressionFactory
new file mode 100644
index 0000000..8750407
--- /dev/null
+++ b/components/camel-netty-http/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpressionFactory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.netty.http.cloud.NettyHttpServiceExpressionFactoryConfigurer
diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpressionFactory.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpressionFactory.java
index d3fe377..b0a1082 100644
--- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpressionFactory.java
+++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/cloud/NettyHttpServiceExpressionFactory.java
@@ -19,9 +19,11 @@ package org.apache.camel.component.netty.http.cloud;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Expression;
 import org.apache.camel.cloud.ServiceExpressionFactory;
+import org.apache.camel.spi.Configurer;
 import org.apache.camel.spi.annotations.CloudServiceFactory;
 
 @CloudServiceFactory("netty-http-service-expression")
+@Configurer
 public class NettyHttpServiceExpressionFactory implements ServiceExpressionFactory {
     @Override
     public Expression newInstance(CamelContext camelContext) throws Exception {
diff --git a/components/camel-undertow/pom.xml b/components/camel-undertow/pom.xml
index f7b1050..60a285f 100644
--- a/components/camel-undertow/pom.xml
+++ b/components/camel-undertow/pom.xml
@@ -166,4 +166,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.undertow.cloud.UndertowServiceExpressionFactory</class>
+                            </classes>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>
diff --git a/components/camel-undertow/src/generated/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpressionFactoryConfigurer.java b/components/camel-undertow/src/generated/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpressionFactoryConfigurer.java
new file mode 100644
index 0000000..ecc8543
--- /dev/null
+++ b/components/camel-undertow/src/generated/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpressionFactoryConfigurer.java
@@ -0,0 +1,35 @@
+/* Generated by camel build tools - do NOT edit this file! */
+package org.apache.camel.component.undertow.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.undertow.cloud.UndertowServiceExpressionFactory;
+
+/**
+ * Generated by camel build tools - do NOT edit this file!
+ */
+@SuppressWarnings("unchecked")
+public class UndertowServiceExpressionFactoryConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
+
+    @Override
+    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
+        return false;
+    }
+
+    @Override
+    public Class<?> getOptionType(String name, boolean ignoreCase) {
+        return null;
+    }
+
+    @Override
+    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
+        return null;
+    }
+}
+
diff --git a/components/camel-undertow/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.undertow.cloud.UndertowServiceExpressionFactory b/components/camel-undertow/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.undertow.cloud.UndertowServiceExpressionFactory
new file mode 100644
index 0000000..a2ca5f0
--- /dev/null
+++ b/components/camel-undertow/src/generated/resources/META-INF/services/org/apache/camel/configurer/org.apache.camel.component.undertow.cloud.UndertowServiceExpressionFactory
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.component.undertow.cloud.UndertowServiceExpressionFactoryConfigurer
diff --git a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpressionFactory.java b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpressionFactory.java
index 1c03e83..013cb91 100644
--- a/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpressionFactory.java
+++ b/components/camel-undertow/src/main/java/org/apache/camel/component/undertow/cloud/UndertowServiceExpressionFactory.java
@@ -19,9 +19,11 @@ package org.apache.camel.component.undertow.cloud;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Expression;
 import org.apache.camel.cloud.ServiceExpressionFactory;
+import org.apache.camel.spi.Configurer;
 import org.apache.camel.spi.annotations.CloudServiceFactory;
 
 @CloudServiceFactory("undertow-service-expression")
+@Configurer
 public class UndertowServiceExpressionFactory implements ServiceExpressionFactory {
     @Override
     public Expression newInstance(CamelContext camelContext) throws Exception {