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'
+                }
+            }
+        }
+    }
+
 }

Reply via email to