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 2023/10/25 07:20:24 UTC
[camel] branch camel-4.0.x updated: CAMEL-20022: camel-yaml-dsl: Add WARN log if kebab-case is detected (#11825)
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.0.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.0.x by this push:
new 5441baad4d5 CAMEL-20022: camel-yaml-dsl: Add WARN log if kebab-case is detected (#11825)
5441baad4d5 is described below
commit 5441baad4d52264bf0c381665e39acbac922460f
Author: Tomohisa Igarashi <tm...@gmail.com>
AuthorDate: Wed Oct 25 03:20:17 2023 -0400
CAMEL-20022: camel-yaml-dsl: Add WARN log if kebab-case is detected (#11825)
---
.../dsl/yaml/deserializers/CustomResolver.java | 11 ++++++++++
.../apache/camel/dsl/yaml/SetPropertyTest.groovy | 25 ++++++++++++++++++++++
2 files changed, 36 insertions(+)
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/CustomResolver.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/CustomResolver.java
index 6c4855aa07f..a78cb4fff41 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/CustomResolver.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/CustomResolver.java
@@ -17,9 +17,14 @@
package org.apache.camel.dsl.yaml.deserializers;
import org.apache.camel.dsl.yaml.common.YamlDeserializerResolver;
+import org.apache.camel.util.StringHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.snakeyaml.engine.v2.api.ConstructNode;
public class CustomResolver implements YamlDeserializerResolver {
+ public static final Logger LOG = LoggerFactory.getLogger(CustomResolver.class);
+
@Override
public int getOrder() {
return YamlDeserializerResolver.ORDER_DEFAULT;
@@ -27,6 +32,12 @@ public class CustomResolver implements YamlDeserializerResolver {
@Override
public ConstructNode resolve(String id) {
+ if (id != null && id.contains("-")) {
+ LOG.warn(
+ "The kebab-case '{}' is deprecated and it will be removed in the next version. Use the camelCase '{}' instead.",
+ id, StringHelper.dashToCamelCase(id));
+ }
+
switch (id) {
//
// Route
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/SetPropertyTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/SetPropertyTest.groovy
index 2827dd37a17..971477f4f26 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/SetPropertyTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/SetPropertyTest.groovy
@@ -59,4 +59,29 @@ class SetPropertyTest extends YamlTestSupport {
''')
]
}
+
+ def "kebab-case: set-property no validation"() {
+ when:
+ var route = '''
+ - from:
+ uri: "direct:start"
+ steps:
+ - set-property:
+ name: test
+ expression:
+ simple: "${body}"
+ - to: "mock:result"
+ '''
+ loadRoutesNoValidate(route)
+
+ then:
+ with(context.routeDefinitions[0].outputs[0], SetPropertyDefinition) {
+ name == 'test'
+
+ with(expression, ExpressionDefinition) {
+ language == 'simple'
+ expression == '${body}'
+ }
+ }
+ }
}