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}}"