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