This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 28900f2 CAMEL-15236: camel-package-maven-plugin - Regen may gen type
as String instead of Long etc
28900f2 is described below
commit 28900f2a9b30bfe60ba1ca6c0ececf8c2949a46c
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Jun 24 14:03:53 2020 +0200
CAMEL-15236: camel-package-maven-plugin - Regen may gen type as String
instead of Long etc
---
...ionsManagerEndpointConfigurationConfigurer.java | 4 ++--
...entsManagerEndpointConfigurationConfigurer.java | 4 ++--
...LogsManagerEndpointConfigurationConfigurer.java | 4 ++--
...entsManagerEndpointConfigurationConfigurer.java | 4 ++--
...ilesManagerEndpointConfigurationConfigurer.java | 4 ++--
...dersManagerEndpointConfigurationConfigurer.java | 4 ++--
...oupsManagerEndpointConfigurationConfigurer.java | 4 ++--
...archManagerEndpointConfigurationConfigurer.java | 4 ++--
...asksManagerEndpointConfigurationConfigurer.java | 4 ++--
...sersManagerEndpointConfigurationConfigurer.java | 4 ++--
.../camel/tooling/util/ReflectionHelper.java | 24 ++++++++++++++++++++++
.../maven/packaging/GenerateConfigurerMojo.java | 17 +++++++--------
12 files changed, 51 insertions(+), 30 deletions(-)
diff --git
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCollaborationsManagerEndpointConfigurationConfigurer.java
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCollaborationsManagerEndpointConfigurationConfigurer.java
index ab2a030..9369e00 100644
---
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCollaborationsManagerEndpointConfigurationConfigurer.java
+++
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCollaborationsManagerEndpointConfigurationConfigurer.java
@@ -46,7 +46,7 @@ public class
BoxCollaborationsManagerEndpointConfigurationConfigurer extends org
case "info":
case "Info": target.setInfo(property(camelContext,
com.box.sdk.BoxCollaboration.Info.class, value)); return true;
case "maxcacheentries":
- case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, java.lang.String.class,
value)); return true;
+ case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, int.class, value)); return
true;
case "methodname":
case "MethodName": target.setMethodName(property(camelContext,
java.lang.String.class, value)); return true;
case "privatekeyfile":
@@ -85,7 +85,7 @@ public class
BoxCollaborationsManagerEndpointConfigurationConfigurer extends org
answer.put("FolderId", java.lang.String.class);
answer.put("HttpParams", java.util.Map.class);
answer.put("Info", com.box.sdk.BoxCollaboration.Info.class);
- answer.put("MaxCacheEntries", java.lang.String.class);
+ answer.put("MaxCacheEntries", int.class);
answer.put("MethodName", java.lang.String.class);
answer.put("PrivateKeyFile", java.lang.String.class);
answer.put("PrivateKeyPassword", java.lang.String.class);
diff --git
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCommentsManagerEndpointConfigurationConfigurer.java
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCommentsManagerEndpointConfigurationConfigurer.java
index 09671dd..d593098 100644
---
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCommentsManagerEndpointConfigurationConfigurer.java
+++
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxCommentsManagerEndpointConfigurationConfigurer.java
@@ -40,7 +40,7 @@ public class
BoxCommentsManagerEndpointConfigurationConfigurer extends org.apach
case "httpparams":
case "HttpParams": target.setHttpParams(property(camelContext,
java.util.Map.class, value)); return true;
case "maxcacheentries":
- case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, java.lang.String.class,
value)); return true;
+ case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, int.class, value)); return
true;
case "message":
case "Message": target.setMessage(property(camelContext,
java.lang.String.class, value)); return true;
case "methodname":
@@ -76,7 +76,7 @@ public class
BoxCommentsManagerEndpointConfigurationConfigurer extends org.apach
answer.put("EnterpriseId", java.lang.String.class);
answer.put("FileId", java.lang.String.class);
answer.put("HttpParams", java.util.Map.class);
- answer.put("MaxCacheEntries", java.lang.String.class);
+ answer.put("MaxCacheEntries", int.class);
answer.put("Message", java.lang.String.class);
answer.put("MethodName", java.lang.String.class);
answer.put("PrivateKeyFile", java.lang.String.class);
diff --git
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfigurationConfigurer.java
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfigurationConfigurer.java
index fc22864..eb224a6 100644
---
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfigurationConfigurer.java
+++
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventLogsManagerEndpointConfigurationConfigurer.java
@@ -40,7 +40,7 @@ public class
BoxEventLogsManagerEndpointConfigurationConfigurer extends org.apac
case "httpparams":
case "HttpParams": target.setHttpParams(property(camelContext,
java.util.Map.class, value)); return true;
case "maxcacheentries":
- case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, java.lang.String.class,
value)); return true;
+ case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, int.class, value)); return
true;
case "methodname":
case "MethodName": target.setMethodName(property(camelContext,
java.lang.String.class, value)); return true;
case "position":
@@ -78,7 +78,7 @@ public class
BoxEventLogsManagerEndpointConfigurationConfigurer extends org.apac
answer.put("EncryptionAlgorithm",
com.box.sdk.EncryptionAlgorithm.class);
answer.put("EnterpriseId", java.lang.String.class);
answer.put("HttpParams", java.util.Map.class);
- answer.put("MaxCacheEntries", java.lang.String.class);
+ answer.put("MaxCacheEntries", int.class);
answer.put("MethodName", java.lang.String.class);
answer.put("Position", java.lang.String.class);
answer.put("PrivateKeyFile", java.lang.String.class);
diff --git
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventsManagerEndpointConfigurationConfigurer.java
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventsManagerEndpointConfigurationConfigurer.java
index b0d4057..e5550b8 100644
---
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventsManagerEndpointConfigurationConfigurer.java
+++
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxEventsManagerEndpointConfigurationConfigurer.java
@@ -36,7 +36,7 @@ public class BoxEventsManagerEndpointConfigurationConfigurer
extends org.apache.
case "httpparams":
case "HttpParams": target.setHttpParams(property(camelContext,
java.util.Map.class, value)); return true;
case "maxcacheentries":
- case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, java.lang.String.class,
value)); return true;
+ case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, int.class, value)); return
true;
case "methodname":
case "MethodName": target.setMethodName(property(camelContext,
java.lang.String.class, value)); return true;
case "privatekeyfile":
@@ -70,7 +70,7 @@ public class BoxEventsManagerEndpointConfigurationConfigurer
extends org.apache.
answer.put("EncryptionAlgorithm",
com.box.sdk.EncryptionAlgorithm.class);
answer.put("EnterpriseId", java.lang.String.class);
answer.put("HttpParams", java.util.Map.class);
- answer.put("MaxCacheEntries", java.lang.String.class);
+ answer.put("MaxCacheEntries", int.class);
answer.put("MethodName", java.lang.String.class);
answer.put("PrivateKeyFile", java.lang.String.class);
answer.put("PrivateKeyPassword", java.lang.String.class);
diff --git
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfigurationConfigurer.java
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfigurationConfigurer.java
index 298d81b..e7ea403 100644
---
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfigurationConfigurer.java
+++
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFilesManagerEndpointConfigurationConfigurer.java
@@ -62,7 +62,7 @@ public class BoxFilesManagerEndpointConfigurationConfigurer
extends org.apache.c
case "listener":
case "Listener": target.setListener(property(camelContext,
com.box.sdk.ProgressListener.class, value)); return true;
case "maxcacheentries":
- case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, java.lang.String.class,
value)); return true;
+ case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, int.class, value)); return
true;
case "maxheight":
case "MaxHeight": target.setMaxHeight(property(camelContext,
java.lang.Integer.class, value)); return true;
case "maxwidth":
@@ -141,7 +141,7 @@ public class BoxFilesManagerEndpointConfigurationConfigurer
extends org.apache.c
answer.put("HttpParams", java.util.Map.class);
answer.put("Info", com.box.sdk.BoxFile.Info.class);
answer.put("Listener", com.box.sdk.ProgressListener.class);
- answer.put("MaxCacheEntries", java.lang.String.class);
+ answer.put("MaxCacheEntries", int.class);
answer.put("MaxHeight", java.lang.Integer.class);
answer.put("MaxWidth", java.lang.Integer.class);
answer.put("Metadata", com.box.sdk.Metadata.class);
diff --git
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFoldersManagerEndpointConfigurationConfigurer.java
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFoldersManagerEndpointConfigurationConfigurer.java
index 01b095e..cc0d939 100644
---
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFoldersManagerEndpointConfigurationConfigurer.java
+++
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxFoldersManagerEndpointConfigurationConfigurer.java
@@ -50,7 +50,7 @@ public class BoxFoldersManagerEndpointConfigurationConfigurer
extends org.apache
case "limit":
case "Limit": target.setLimit(property(camelContext,
java.lang.Long.class, value)); return true;
case "maxcacheentries":
- case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, java.lang.String.class,
value)); return true;
+ case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, int.class, value)); return
true;
case "methodname":
case "MethodName": target.setMethodName(property(camelContext,
java.lang.String.class, value)); return true;
case "newfoldername":
@@ -103,7 +103,7 @@ public class
BoxFoldersManagerEndpointConfigurationConfigurer extends org.apache
answer.put("HttpParams", java.util.Map.class);
answer.put("Info", com.box.sdk.BoxFolder.Info.class);
answer.put("Limit", java.lang.Long.class);
- answer.put("MaxCacheEntries", java.lang.String.class);
+ answer.put("MaxCacheEntries", int.class);
answer.put("MethodName", java.lang.String.class);
answer.put("NewFolderName", java.lang.String.class);
answer.put("NewName", java.lang.String.class);
diff --git
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfigurationConfigurer.java
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfigurationConfigurer.java
index aed8a43..62aa318 100644
---
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfigurationConfigurer.java
+++
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxGroupsManagerEndpointConfigurationConfigurer.java
@@ -50,7 +50,7 @@ public class BoxGroupsManagerEndpointConfigurationConfigurer
extends org.apache.
case "invitabilitylevel":
case "InvitabilityLevel":
target.setInvitabilityLevel(property(camelContext, java.lang.String.class,
value)); return true;
case "maxcacheentries":
- case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, java.lang.String.class,
value)); return true;
+ case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, int.class, value)); return
true;
case "memberviewabilitylevel":
case "MemberViewabilityLevel":
target.setMemberViewabilityLevel(property(camelContext, java.lang.String.class,
value)); return true;
case "methodname":
@@ -97,7 +97,7 @@ public class BoxGroupsManagerEndpointConfigurationConfigurer
extends org.apache.
answer.put("HttpParams", java.util.Map.class);
answer.put("Info", com.box.sdk.BoxGroupMembership.Info.class);
answer.put("InvitabilityLevel", java.lang.String.class);
- answer.put("MaxCacheEntries", java.lang.String.class);
+ answer.put("MaxCacheEntries", int.class);
answer.put("MemberViewabilityLevel", java.lang.String.class);
answer.put("MethodName", java.lang.String.class);
answer.put("Name", java.lang.String.class);
diff --git
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxSearchManagerEndpointConfigurationConfigurer.java
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxSearchManagerEndpointConfigurationConfigurer.java
index 06cf9ebf..fcc0868 100644
---
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxSearchManagerEndpointConfigurationConfigurer.java
+++
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxSearchManagerEndpointConfigurationConfigurer.java
@@ -38,7 +38,7 @@ public class BoxSearchManagerEndpointConfigurationConfigurer
extends org.apache.
case "httpparams":
case "HttpParams": target.setHttpParams(property(camelContext,
java.util.Map.class, value)); return true;
case "maxcacheentries":
- case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, java.lang.String.class,
value)); return true;
+ case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, int.class, value)); return
true;
case "methodname":
case "MethodName": target.setMethodName(property(camelContext,
java.lang.String.class, value)); return true;
case "privatekeyfile":
@@ -73,7 +73,7 @@ public class BoxSearchManagerEndpointConfigurationConfigurer
extends org.apache.
answer.put("EnterpriseId", java.lang.String.class);
answer.put("FolderId", java.lang.String.class);
answer.put("HttpParams", java.util.Map.class);
- answer.put("MaxCacheEntries", java.lang.String.class);
+ answer.put("MaxCacheEntries", int.class);
answer.put("MethodName", java.lang.String.class);
answer.put("PrivateKeyFile", java.lang.String.class);
answer.put("PrivateKeyPassword", java.lang.String.class);
diff --git
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxTasksManagerEndpointConfigurationConfigurer.java
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxTasksManagerEndpointConfigurationConfigurer.java
index c876e9c..a278909 100644
---
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxTasksManagerEndpointConfigurationConfigurer.java
+++
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxTasksManagerEndpointConfigurationConfigurer.java
@@ -46,7 +46,7 @@ public class BoxTasksManagerEndpointConfigurationConfigurer
extends org.apache.c
case "info":
case "Info": target.setInfo(property(camelContext,
com.box.sdk.BoxTask.Info.class, value)); return true;
case "maxcacheentries":
- case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, java.lang.String.class,
value)); return true;
+ case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, int.class, value)); return
true;
case "message":
case "Message": target.setMessage(property(camelContext,
java.lang.String.class, value)); return true;
case "methodname":
@@ -89,7 +89,7 @@ public class BoxTasksManagerEndpointConfigurationConfigurer
extends org.apache.c
answer.put("FileId", java.lang.String.class);
answer.put("HttpParams", java.util.Map.class);
answer.put("Info", com.box.sdk.BoxTask.Info.class);
- answer.put("MaxCacheEntries", java.lang.String.class);
+ answer.put("MaxCacheEntries", int.class);
answer.put("Message", java.lang.String.class);
answer.put("MethodName", java.lang.String.class);
answer.put("PrivateKeyFile", java.lang.String.class);
diff --git
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxUsersManagerEndpointConfigurationConfigurer.java
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxUsersManagerEndpointConfigurationConfigurer.java
index 8888424..60390ae 100644
---
a/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxUsersManagerEndpointConfigurationConfigurer.java
+++
b/components/camel-box/camel-box-component/src/generated/java/org/apache/camel/component/box/BoxUsersManagerEndpointConfigurationConfigurer.java
@@ -50,7 +50,7 @@ public class BoxUsersManagerEndpointConfigurationConfigurer
extends org.apache.c
case "login":
case "Login": target.setLogin(property(camelContext,
java.lang.String.class, value)); return true;
case "maxcacheentries":
- case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, java.lang.String.class,
value)); return true;
+ case "MaxCacheEntries":
target.setMaxCacheEntries(property(camelContext, int.class, value)); return
true;
case "methodname":
case "MethodName": target.setMethodName(property(camelContext,
java.lang.String.class, value)); return true;
case "name":
@@ -97,7 +97,7 @@ public class BoxUsersManagerEndpointConfigurationConfigurer
extends org.apache.c
answer.put("HttpParams", java.util.Map.class);
answer.put("Info", com.box.sdk.BoxUser.Info.class);
answer.put("Login", java.lang.String.class);
- answer.put("MaxCacheEntries", java.lang.String.class);
+ answer.put("MaxCacheEntries", int.class);
answer.put("MethodName", java.lang.String.class);
answer.put("Name", java.lang.String.class);
answer.put("NotifyUser", java.lang.Boolean.class);
diff --git
a/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
b/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
index af0178f..2f22e68 100644
---
a/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
+++
b/tooling/camel-tooling-util/src/main/java/org/apache/camel/tooling/util/ReflectionHelper.java
@@ -178,6 +178,30 @@ public final class ReflectionHelper {
return null;
}
+ /**
+ * Attempt to find a {@link Field} on the supplied class with the supplied
name.
+ * Searches all superclasses up to {@code Object}.
+ * <p>Returns {@code null} if no {@link Method} can be found.
+ * @param clazz the class to introspect
+ * @param name the name of the field
+ * @return the field object, or {@code null} if none found
+ */
+ public static Field findField(Class<?> clazz, String name) {
+ Objects.requireNonNull(clazz, "Class must not be null");
+ Objects.requireNonNull(name, "Field name must not be null");
+ Class<?> searchType = clazz;
+ while (searchType != null) {
+ Field[] fields = searchType.getDeclaredFields();
+ for (Field field : fields) {
+ if (name.equals(field.getName())) {
+ return field;
+ }
+ }
+ searchType = searchType.getSuperclass();
+ }
+ return null;
+ }
+
public static void setField(Field f, Object instance, Object value) {
try {
boolean oldAccessible = f.isAccessible();
diff --git
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateConfigurerMojo.java
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateConfigurerMojo.java
index d7fcb42..1abb926 100644
---
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateConfigurerMojo.java
+++
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateConfigurerMojo.java
@@ -38,6 +38,7 @@ import java.util.List;
import java.util.Set;
import org.apache.camel.tooling.model.BaseOptionModel;
+import org.apache.camel.tooling.util.ReflectionHelper;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
@@ -300,6 +301,7 @@ public class GenerateConfigurerMojo extends
AbstractGeneratorMojo {
private List<Option> processClass(String fqn) throws
ClassNotFoundException {
List<Option> answer = new ArrayList<>();
+ // filter out duplicates by using a names set that has already added
Set<String> names = new HashSet<>();
Class clazz = projectClassLoader.loadClass(fqn);
@@ -322,19 +324,14 @@ public class GenerateConfigurerMojo extends
AbstractGeneratorMojo {
}
String t = Character.toUpperCase(m.getName().charAt(3)) +
m.getName().substring(3 + 1);
if (names.add(t)) {
- // filter out duplicates by using a names set that has
already added
answer.add(new Option(t, type, getter));
} else {
boolean replace = false;
- try {
- // try to find out what the real type is of the
correspondent field so we chose among the clash
- Field field =
clazz.getDeclaredField(Character.toLowerCase(t.charAt(0)) + t.substring(1));
- if (field.getType() == type) {
- // this is the correct type for the new option
- replace = true;
- }
- } catch (NoSuchFieldException e) {
- // ignore
+ // try to find out what the real type is of the
correspondent field so we chose among the clash
+ Field field = ReflectionHelper.findField(clazz,
Character.toLowerCase(t.charAt(0)) + t.substring(1));
+ if (field != null && field.getType().equals(type)) {
+ // this is the correct type for the new option
+ replace = true;
}
if (replace) {
answer.removeIf(o -> o.getName().equals(t));