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 2a12be6e29bf66f9a1b70e14c0da8688422bf262
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Apr 12 09:20:25 2022 +0200

    CAMEL-17943: camel-yaml-dsl - Method call expression should not be required
---
 .../dsl/yaml/deserializers/ModelDeserializers.java     | 18 ------------------
 .../maven/dsl/yaml/GenerateYamlDeserializersMojo.java  | 10 ++++++++--
 .../src/generated/resources/camel-yaml-dsl.json        | 17 +++--------------
 .../src/generated/resources/camelYamlDsl.json          | 17 +++--------------
 4 files changed, 14 insertions(+), 48 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 e3b451334cd..311c9bac119 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
@@ -8276,7 +8276,6 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
             order = 
org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
             properties = {
                     @YamlProperty(name = "bean-type", type = "string"),
-                    @YamlProperty(name = "expression", type = "string", 
required = true),
                     @YamlProperty(name = "id", type = "string"),
                     @YamlProperty(name = "method", type = "string"),
                     @YamlProperty(name = "ref", type = "string"),
@@ -8308,11 +8307,6 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     target.setBeanTypeName(val);
                     break;
                 }
-                case "expression": {
-                    String val = asText(node);
-                    target.setExpression(val);
-                    break;
-                }
                 case "id": {
                     String val = asText(node);
                     target.setId(val);
@@ -15683,7 +15677,6 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
             order = 
org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
             properties = {
                     @YamlProperty(name = "end-token", type = "string"),
-                    @YamlProperty(name = "expression", type = "string", 
required = true),
                     @YamlProperty(name = "group", type = "string"),
                     @YamlProperty(name = "group-delimiter", type = "string"),
                     @YamlProperty(name = "header-name", type = "string"),
@@ -15721,11 +15714,6 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
                     target.setEndToken(val);
                     break;
                 }
-                case "expression": {
-                    String val = asText(node);
-                    target.setExpression(val);
-                    break;
-                }
                 case "group": {
                     String val = asText(node);
                     target.setGroup(val);
@@ -17397,7 +17385,6 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
             types = 
org.apache.camel.model.language.XMLTokenizerExpression.class,
             order = 
org.apache.camel.dsl.yaml.common.YamlDeserializerResolver.ORDER_LOWEST - 1,
             properties = {
-                    @YamlProperty(name = "expression", type = "string", 
required = true),
                     @YamlProperty(name = "group", type = "number"),
                     @YamlProperty(name = "header-name", type = "string"),
                     @YamlProperty(name = "id", type = "string"),
@@ -17424,11 +17411,6 @@ public final class ModelDeserializers extends 
YamlDeserializerSupport {
         protected boolean setProperty(XMLTokenizerExpression target, String 
propertyKey,
                 String propertyName, Node node) {
             switch(propertyKey) {
-                case "expression": {
-                    String val = asText(node);
-                    target.setExpression(val);
-                    break;
-                }
                 case "group": {
                     String val = asText(node);
                     target.setGroup(val);
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 2a1e696f859..a9ab21ad219 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
@@ -463,7 +463,7 @@ public class GenerateYamlDeserializersMojo extends 
GenerateYamlSupportMojo {
         setProperty.beginControlFlow("switch(propertyKey)");
 
         for (FieldInfo field : fields(info)) {
-            if (generateSetValue(setProperty, field, properties)) {
+            if (generateSetValue(modelName.get(), setProperty, field, 
properties)) {
                 caseAdded = true;
             }
         }
@@ -606,7 +606,7 @@ public class GenerateYamlDeserializersMojo extends 
GenerateYamlSupportMojo {
     }
 
     @SuppressWarnings("MethodLength")
-    private boolean generateSetValue(CodeBlock.Builder cb, FieldInfo field, 
Collection<AnnotationSpec> annotations) {
+    private boolean generateSetValue(String modelName, CodeBlock.Builder cb, 
FieldInfo field, Collection<AnnotationSpec> annotations) {
         if (hasAnnotation(field, XML_TRANSIENT_CLASS) && !hasAnnotation(field, 
DSL_PROPERTY_ANNOTATION)) {
             return false;
         }
@@ -823,6 +823,12 @@ public class GenerateYamlDeserializersMojo extends 
GenerateYamlSupportMojo {
             }
         }
 
+        if ("expression".equals(fieldName) && !expressionRequired(modelName)) {
+            // special for some language models which does not have required 
expression
+            // which should be skipped
+            return true;
+        }
+
         //
         // Others
         //
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json
index c56679fae0d..817d2942861 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camel-yaml-dsl.json
@@ -6162,9 +6162,6 @@
             "bean-type" : {
               "type" : "string"
             },
-            "expression" : {
-              "type" : "string"
-            },
             "id" : {
               "type" : "string"
             },
@@ -6182,8 +6179,7 @@
               "type" : "boolean"
             }
           }
-        } ],
-        "required" : [ "expression" ]
+        } ]
       },
       "org.apache.camel.model.language.MvelExpression" : {
         "oneOf" : [ {
@@ -6292,9 +6288,6 @@
             "end-token" : {
               "type" : "string"
             },
-            "expression" : {
-              "type" : "string"
-            },
             "group" : {
               "type" : "string"
             },
@@ -6330,7 +6323,7 @@
             }
           }
         } ],
-        "required" : [ "expression", "token" ]
+        "required" : [ "token" ]
       },
       "org.apache.camel.model.language.XMLTokenizerExpression" : {
         "oneOf" : [ {
@@ -6338,9 +6331,6 @@
         }, {
           "type" : "object",
           "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
             "group" : {
               "type" : "number"
             },
@@ -6358,8 +6348,7 @@
               "type" : "boolean"
             }
           }
-        } ],
-        "required" : [ "expression" ]
+        } ]
       },
       "org.apache.camel.model.language.XPathExpression" : {
         "oneOf" : [ {
diff --git 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camelYamlDsl.json 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camelYamlDsl.json
index ea19a6619a7..f5c77af2d0e 100644
--- 
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camelYamlDsl.json
+++ 
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/camelYamlDsl.json
@@ -6063,9 +6063,6 @@
             "beanType" : {
               "type" : "string"
             },
-            "expression" : {
-              "type" : "string"
-            },
             "id" : {
               "type" : "string"
             },
@@ -6083,8 +6080,7 @@
               "type" : "boolean"
             }
           }
-        } ],
-        "required" : [ "expression" ]
+        } ]
       },
       "org.apache.camel.model.language.MvelExpression" : {
         "oneOf" : [ {
@@ -6193,9 +6189,6 @@
             "endToken" : {
               "type" : "string"
             },
-            "expression" : {
-              "type" : "string"
-            },
             "group" : {
               "type" : "string"
             },
@@ -6231,7 +6224,7 @@
             }
           }
         } ],
-        "required" : [ "expression", "token" ]
+        "required" : [ "token" ]
       },
       "org.apache.camel.model.language.XMLTokenizerExpression" : {
         "oneOf" : [ {
@@ -6239,9 +6232,6 @@
         }, {
           "type" : "object",
           "properties" : {
-            "expression" : {
-              "type" : "string"
-            },
             "group" : {
               "type" : "number"
             },
@@ -6259,8 +6249,7 @@
               "type" : "boolean"
             }
           }
-        } ],
-        "required" : [ "expression" ]
+        } ]
       },
       "org.apache.camel.model.language.XPathExpression" : {
         "oneOf" : [ {

Reply via email to