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 2022/08/04 11:48:21 UTC

[camel] 01/03: CAMEL-18348: camel-yaml-dsl - Remove template as allowed name for route templates. The generated schema only had the correct names. The template is a custom legacy name used in the erlier phase of the new yaml-dsl.

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 549d04be76054f4b5a3784b29ad21fb1a18f2563
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Aug 4 13:43:05 2022 +0200

    CAMEL-18348: camel-yaml-dsl - Remove template as allowed name for route templates. The generated schema only had the correct names. The template is a custom legacy name used in the erlier phase of the new yaml-dsl.
---
 .../dsl/yaml/deserializers/CustomResolver.java     |  1 -
 .../org/apache/camel/dsl/yaml/KameletTest.groovy   | 10 ++--
 .../apache/camel/dsl/yaml/RouteTemplateTest.groovy | 22 ++++----
 .../camel/dsl/yaml/TemplatedRouteTest.groovy       | 60 +++++++++++++++++++++-
 4 files changed, 75 insertions(+), 18 deletions(-)

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 a812f6e6972..38245fa6391 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
@@ -42,7 +42,6 @@ public class CustomResolver implements YamlDeserializerResolver {
             case "routeConfiguration":
             case "org.apache.camel.model.RouteConfigurationDefinition":
                 return new RouteConfigurationDefinitionDeserializer();
-            case "template":
             case "route-template":
             case "routeTemplate":
             case "org.apache.camel.model.RouteTemplateDefinition":
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy
index 6219363e4db..15555d97aa8 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/KameletTest.groovy
@@ -250,7 +250,7 @@ class KameletTest extends YamlTestSupport {
     def "kamelet (definition with local bean)"() {
         setup:
             loadRoutes """
-                - template:
+                - routeTemplate:
                     id: "myTemplate"
                     beans:
                       - name: "myProcessor"
@@ -283,7 +283,7 @@ class KameletTest extends YamlTestSupport {
     def "kamelet (definition with local bean and properties)"() {
         setup:
             loadRoutes """
-                - template:
+                - routeTemplate:
                     id: "myTemplate"
                     beans:
                       - name: "myProcessor"
@@ -318,7 +318,7 @@ class KameletTest extends YamlTestSupport {
     def "kamelet (definition with local bean and property)"() {
         setup:
             loadRoutes """
-                - template:
+                - routeTemplate:
                     id: "myTemplate"
                     beans:
                       - name: "myProcessor"
@@ -354,7 +354,7 @@ class KameletTest extends YamlTestSupport {
     def "kamelet (definition with default parameters)"() {
         setup:
             loadRoutes """
-                - template:
+                - routeTemplate:
                     id: "myTemplate"  
                     parameters:
                       - name: "myParameter"
@@ -387,7 +387,7 @@ class KameletTest extends YamlTestSupport {
     def "kamelet (definition with parameters)"() {
         setup:
             loadRoutes """
-                - template:
+                - routeTemplate:
                     id: "myTemplate"  
                     parameters:
                       - name: "myParameter"
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RouteTemplateTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RouteTemplateTest.groovy
index 3e9061cc024..7fba412d4fa 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RouteTemplateTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/RouteTemplateTest.groovy
@@ -30,7 +30,7 @@ class RouteTemplateTest extends YamlTestSupport {
     def "create template"() {
         when:
         loadRoutes '''
-                - template:
+                - routeTemplate:
                     id: "myTemplate"
                     from:
                       uri: "direct:info"
@@ -77,7 +77,7 @@ class RouteTemplateTest extends YamlTestSupport {
         where:
         resource << [
                 asResource('beans', """
-                        - template:
+                        - routeTemplate:
                             id: "myTemplate"
                             beans:
                               - name: "myProcessor"
@@ -94,7 +94,7 @@ class RouteTemplateTest extends YamlTestSupport {
                               - to: "mock:result"
                     """),
                 asResource('script', """
-                        - template:
+                        - routeTemplate:
                             id: "myTemplate"
                             beans:
                               - name: "myProcessor"
@@ -112,7 +112,7 @@ class RouteTemplateTest extends YamlTestSupport {
                               - to: "mock:result"
                     """),
                 asResource('script-bean-type', """
-                        - template:
+                        - routeTemplate:
                             id: "myTemplate"
                             beans:
                               - name: "myProcessor"
@@ -131,7 +131,7 @@ class RouteTemplateTest extends YamlTestSupport {
                               - to: "mock:result"
                     """),
                 asResource('script-block', """
-                        - template:
+                        - routeTemplate:
                             id: "myTemplate"
                             beans:
                               - name: "myProcessor"
@@ -155,7 +155,7 @@ class RouteTemplateTest extends YamlTestSupport {
     def "create template with bean and properties"() {
         setup:
         loadRoutes """                
-                - template:
+                - routeTemplate:
                     id: "myTemplate"
                     beans:
                       - name: "myProcessor"
@@ -199,7 +199,7 @@ class RouteTemplateTest extends YamlTestSupport {
     def "create template with bean and property"() {
         setup:
         loadRoutes """                
-                - template:
+                - routeTemplate:
                     id: "myTemplate"
                     beans:
                       - name: "myProcessor"
@@ -244,7 +244,7 @@ class RouteTemplateTest extends YamlTestSupport {
     def "create template with properties"() {
         when:
         loadRoutes """
-                - template:
+                - routeTemplate:
                     id: "myTemplate"
                     parameters:
                       - name: "foo"
@@ -281,7 +281,7 @@ class RouteTemplateTest extends YamlTestSupport {
     def "create template with optional properties"() {
         when:
         loadRoutes """
-                - template:
+                - routeTemplate:
                     id: "myTemplate"
                     parameters:
                       - name: "foo"
@@ -333,7 +333,7 @@ class RouteTemplateTest extends YamlTestSupport {
     def "create template with joor"() {
         setup:
             loadRoutes """                
-                    - template:
+                    - routeTemplate:
                         id: "myTemplate"
                         beans:
                           - name: "myAgg"
@@ -378,7 +378,7 @@ class RouteTemplateTest extends YamlTestSupport {
     def "create template with groovy"() {
         setup:
             loadRoutes """                
-                    - template:
+                    - routeTemplate:
                         id: "myTemplate"
                         beans:
                           - name: "myAgg"
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/TemplatedRouteTest.groovy b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/TemplatedRouteTest.groovy
index 670db209fc9..42b499d9f40 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/TemplatedRouteTest.groovy
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/TemplatedRouteTest.groovy
@@ -22,10 +22,68 @@ import org.apache.camel.dsl.yaml.support.model.MyUppercaseProcessor
 import org.apache.camel.model.RouteDefinition
 
 class TemplatedRouteTest extends YamlTestSupport {
+
     def "create templated route"() {
         setup:
         loadRoutes """
-                - template:
+                - routeTemplate:
+                    id: "myTemplate"
+                    from:
+                      uri: "direct:{{directName}}"
+                      steps:
+                        - process:
+                            ref: "{{myProcessor}}"
+                        - to: "mock:result"
+                - templatedRoute:
+                    route-id: "myRoute"
+                    route-template-ref: "myTemplate"
+                    parameters:
+                      - name: "directName"
+                        value: "foo"
+                    beans:
+                      - name: "myProcessor"
+                        type: "groovy"
+                        script: |
+                            new ${MyUppercaseProcessor.class.name}()
+                - templatedRoute:
+                    route-id: "myRoute2"
+                    route-template-ref: "myTemplate"
+                    parameters:
+                      - name: "directName"
+                        value: "foo2"
+                    beans:
+                      - name: "myProcessor"
+                        type: "groovy"
+                        bean-type: "org.apache.camel.Processor"
+                        script: "new ${MyUppercaseProcessor.class.name}()"                 
+            """
+        withMock('mock:result') {
+            expectedMessageCount 2
+            expectedBodiesReceived 'HELLO', "WORLD"
+        }
+        when:
+        context.start()
+        withTemplate {
+            to('direct:foo').withBody('hello').send()
+            to('direct:foo2').withBody('world').send()
+        }
+        then:
+        context.routeTemplateDefinitions.size() == 1
+        context.routeDefinitions.size() == 2
+
+        with(context.routeDefinitions[0], RouteDefinition) {
+            routeId == 'myRoute'
+        }
+        with(context.routeDefinitions[1], RouteDefinition) {
+            routeId == 'myRoute2'
+        }
+        MockEndpoint.assertIsSatisfied(context)
+    }
+
+    def "create templated-route"() {
+        setup:
+        loadRoutes """
+                - route-template:
                     id: "myTemplate"
                     from:
                       uri: "direct:{{directName}}"