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 2023/02/03 15:09:39 UTC

[camel] branch main updated: CAMEL-19006: parse templatedRoutes without XML namespace (#9296)

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


The following commit(s) were added to refs/heads/main by this push:
     new f607c209e5a CAMEL-19006: parse templatedRoutes without XML namespace (#9296)
f607c209e5a is described below

commit f607c209e5a77ee5bfb4a1bd59d323b7c6db4c83
Author: Tomáš Turek <tt...@redhat.com>
AuthorDate: Fri Feb 3 16:09:31 2023 +0100

    CAMEL-19006: parse templatedRoutes without XML namespace (#9296)
    
    Signed-off-by: Tomas Turek <tt...@redhat.com>
---
 .../camel/dsl/xml/io/XmlRoutesBuilderLoader.java       |  3 +++
 .../camel/dsl/xml/io/XmlRoutesBuilderLoaderTest.java   | 18 ++++++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
index 6c95443e2ee..397844b78e3 100644
--- a/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
+++ b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
@@ -61,6 +61,9 @@ public class XmlRoutesBuilderLoader extends RouteBuilderLoaderSupport {
                 new ModelParser(resource)
                         .parseRouteTemplatesDefinition()
                         .ifPresent(this::setRouteTemplateCollection);
+                new ModelParser(resource)
+                        .parseTemplatedRoutesDefinition()
+                        .ifPresent(this::setTemplatedRouteCollection);
                 new ModelParser(resource)
                         .parseRestsDefinition()
                         .ifPresent(this::setRestCollection);
diff --git a/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoaderTest.java b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoaderTest.java
index a0e6d565631..50e4d509283 100644
--- a/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoaderTest.java
+++ b/dsl/camel-xml-io-dsl/src/test/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoaderTest.java
@@ -88,6 +88,24 @@ public class XmlRoutesBuilderLoaderTest {
         assertFalse(builder.getRouteTemplateCollection().getRouteTemplates().isEmpty());
     }
 
+    @Test
+    public void canLoadTemplatedRoutes() throws Exception {
+        String content = ""
+                         + "<templatedRoutes>"
+                         + "    <templatedRoute routeTemplateRef=\"myTemplate\" routeId=\"my-route\">"
+                         + "        <parameter name=\"foo\" value=\"fooVal\"/>"
+                         + "        <parameter name=\"bar\" value=\"barVal\"/>"
+                         + "    </templatedRoute>"
+                         + "</templatedRoutes>";
+
+        Resource resource = ResourceHelper.fromString("in-memory.xml", content);
+        RouteBuilder builder = (RouteBuilder) new XmlRoutesBuilderLoader().loadRoutesBuilder(resource);
+        builder.setCamelContext(new DefaultCamelContext());
+        builder.configure();
+
+        assertFalse(builder.getTemplatedRouteCollection().getTemplatedRoutes().isEmpty());
+    }
+
     @Test
     public void canLoadRouteConfigurations() throws Exception {
         String content = ""