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));

Reply via email to