This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-4.4.x in repository https://gitbox.apache.org/repos/asf/camel.git
commit 4b512cad7e40c124609f4ec65930385d0ee3d7d0 Author: Claus Ibsen <[email protected]> AuthorDate: Thu May 9 10:15:59 2024 +0200 CAMEL-20750: camel-yaml-dsl - Rest DSL with enableCORS does not work --- .../dsl/yaml/deserializers/ModelDeserializers.java | 18 +++++------ .../dsl/yaml/GenerateYamlDeserializersMojo.java | 7 ++++- .../org/apache/camel/dsl/yaml/RestTest.groovy | 35 ++++++++++++++++++++++ 3 files changed, 50 insertions(+), 10 deletions(-) diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java index 1b1bea8114e..54d30cc63d4 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/generated/java/org/apache/camel/dsl/yaml/deserializers/ModelDeserializers.java @@ -4789,7 +4789,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -6211,7 +6211,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -6672,7 +6672,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -11107,7 +11107,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -11589,7 +11589,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -12119,7 +12119,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -13723,7 +13723,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setConsumes(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -13897,7 +13897,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDataFormatProperties(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -14092,7 +14092,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java index 0208509293f..0d0759d91c9 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-maven-plugin/src/main/java/org/apache/camel/maven/dsl/yaml/GenerateYamlDeserializersMojo.java @@ -930,7 +930,12 @@ public class GenerateYamlDeserializersMojo extends GenerateYamlSupportMojo { // // Others // - cb.beginControlFlow("case $S:", fieldName); + if ("enableCORS".equals(fieldName)) { + // special hack for this name + cb.beginControlFlow("case $S:", "enableCors"); + } else { + cb.beginControlFlow("case $S:", fieldName); + } ClassInfo c = view.getClassByName(field.type().name()); if (hasAnnotation(field, XML_JAVA_TYPE_ADAPTER_CLASS)) { diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RestTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RestTest.groovy index 73b0f3316c5..70944c4b55f 100644 --- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RestTest.groovy +++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RestTest.groovy @@ -272,4 +272,39 @@ class RestTest extends YamlTestSupport { Assertions.assertTrue(e.message.contains("additional properties"), e.getMessage()) } } + + def "load rest enableCORS"() { + when: + loadRoutes """ + - rest: + get: + - path: "/foo" + type: ${MyFooBar.name} + outType: ${MyBean.name} + enableCORS: true + to: "direct:bar" + - from: + uri: 'direct:bar' + steps: + - to: 'mock:bar' + """ + then: + context.restDefinitions.size() == 1 + + with(context.restDefinitions[0], RestDefinition) { + verbs.size() == 1 + + with(verbs[0], VerbDefinition) { + path == '/foo' + type == MyFooBar.name + outType == MyBean.name + enableCORS == "true" + + with(to, ToDefinition) { + endpointUri == 'direct:bar' + } + } + } + } + }
