This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit f70abc5facdac1cfc52f55ea9b0904c7ec668fe3 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 8874732f696..8296d800a5b 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 @@ -4899,7 +4899,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -6327,7 +6327,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -6788,7 +6788,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -11301,7 +11301,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -11783,7 +11783,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -12313,7 +12313,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDisabled(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -13828,7 +13828,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setConsumes(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -14008,7 +14008,7 @@ public final class ModelDeserializers extends YamlDeserializerSupport { target.setDataFormatProperties(val); break; } - case "enableCORS": { + case "enableCors": { String val = asText(node); target.setEnableCORS(val); break; @@ -14204,7 +14204,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' + } + } + } + } + }
