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 2020/09/18 06:52:15 UTC

[camel] 04/06: CAMEL-15478: API components - fix validate in camel-catalog to handle enum naming styles

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

commit 4f2feea17f913a53cf9e6a2d4a7ad6a2355d1159
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Sep 17 23:23:06 2020 +0200

    CAMEL-15478: API components - fix validate in camel-catalog to handle enum naming styles
---
 .../src/test/java/org/apache/camel/catalog/CamelCatalogTest.java | 7 +++----
 .../java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java | 9 ++++++---
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java b/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
index a62e567..8029e6f 100644
--- a/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
+++ b/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
@@ -1194,16 +1194,15 @@ public class CamelCatalogTest {
         assertFalse(result.isSuccess());
         assertTrue(result.getUnknown().contains("unknown"));
 
-        // there is a type converter that converts from and to to phone number
-        uri = "zendesk:getTopicsByUser?userId=123";
+        uri = "zendesk:getTopicsByUser?user_id=123";
         result = catalog.validateEndpointProperties(uri);
         assertTrue(result.isSuccess());
 
-        uri = "zendesk:GET_TOPICS_BY_USER?userId=123";
+        uri = "zendesk:GET_TOPICS_BY_USER?user_id=123";
         result = catalog.validateEndpointProperties(uri);
         assertTrue(result.isSuccess());
 
-        uri = "zendesk:get-topics-by-user?userId=123&unknown=true";
+        uri = "zendesk:get-topics-by-user?user_id=123&unknown=true";
         result = catalog.validateEndpointProperties(uri);
         assertFalse(result.isSuccess());
         assertTrue(result.getUnknown().contains("unknown"));
diff --git a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
index 8c3cfb7..e56a531 100644
--- a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
+++ b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
@@ -274,8 +274,9 @@ public abstract class AbstractCamelCatalog {
                 if (!multiValue && !valuePlaceholder && !lookup && enums != null) {
                     boolean found = false;
                     for (String s : enums) {
+                        String dashEC = StringHelper.camelCaseToDash(value);
                         String valueEC = StringHelper.asEnumConstantValue(value);
-                        if (value.equalsIgnoreCase(s) || valueEC.equalsIgnoreCase(s)) {
+                        if (value.equalsIgnoreCase(s) || dashEC.equalsIgnoreCase(s) || valueEC.equalsIgnoreCase(s)) {
                             found = true;
                             break;
                         }
@@ -656,9 +657,10 @@ public abstract class AbstractCamelCatalog {
         if (key != null) {
             String matchKey = null;
             String dashKey = StringHelper.camelCaseToDash(key);
+            String ecKey = StringHelper.asEnumConstantValue(key);
             for (ApiModel am : model.getApiOptions()) {
                 String aKey = am.getName();
-                if (aKey.equals(key) || aKey.equals(dashKey) || "DEFAULT".equals(key)) {
+                if (aKey.equalsIgnoreCase("DEFAULT") || aKey.equalsIgnoreCase(key) || aKey.equalsIgnoreCase(ecKey) || aKey.equalsIgnoreCase(dashKey)) {
                     am.getMethods().forEach(m -> m.getOptions().forEach(o -> answer.put(o.getName(), o)));
                 }
             }
@@ -1093,10 +1095,11 @@ public abstract class AbstractCamelCatalog {
             List<String> enums = row.getEnums();
             if (!optionPlaceholder && !lookup && enums != null) {
                 boolean found = false;
+                String dashEC = StringHelper.camelCaseToDash(value);
                 String valueEC = StringHelper.asEnumConstantValue(value);
                 for (String s : enums) {
                     // equals as is or using the enum naming style
-                    if (value.equalsIgnoreCase(s) || valueEC.equalsIgnoreCase(s)) {
+                    if (value.equalsIgnoreCase(s) || dashEC.equalsIgnoreCase(s) || valueEC.equalsIgnoreCase(s)) {
                         found = true;
                         break;
                     }