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/03/29 13:28:55 UTC
[camel] 01/02: CAMEL-18923: camel-xml-io-dsl - Fix bug with updating route configuration. Thanks to Raymond for reporting and test case.
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 15a2ef2948c6bcb38c7310083a565db351c481d1
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Mar 29 15:26:44 2023 +0200
CAMEL-18923: camel-xml-io-dsl - Fix bug with updating route configuration. Thanks to Raymond for reporting and test case.
---
.../org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java | 10 ++++++----
.../apache/camel/dsl/xml/io/XmlRoutesBuilderLoaderTest.java | 6 ++++--
2 files changed, 10 insertions(+), 6 deletions(-)
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 88da0fdd20f..01068b81bee 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
@@ -23,7 +23,6 @@ import org.apache.camel.api.management.ManagedResource;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.builder.RouteConfigurationBuilder;
import org.apache.camel.dsl.support.RouteBuilderLoaderSupport;
-import org.apache.camel.model.ModelCamelContext;
import org.apache.camel.model.RouteConfigurationDefinition;
import org.apache.camel.model.RouteConfigurationsDefinition;
import org.apache.camel.model.RouteDefinition;
@@ -78,7 +77,7 @@ public class XmlRoutesBuilderLoader extends RouteBuilderLoaderSupport {
}
private void addRoutes(RoutesDefinition routes) {
- CamelContextAware.trySetCamelContext(getRouteCollection(), getCamelContext());
+ CamelContextAware.trySetCamelContext(routes, getCamelContext());
// xml routes must be prepared in the same way java-dsl (via RoutesDefinition)
// so create a copy and use the fluent builder to add the route
@@ -88,9 +87,12 @@ public class XmlRoutesBuilderLoader extends RouteBuilderLoaderSupport {
}
private void addConfigurations(RouteConfigurationsDefinition configurations) {
- CamelContextAware.trySetCamelContext(getRouteCollection(), getCamelContext());
+ CamelContextAware.trySetCamelContext(configurations, getCamelContext());
+
+ // xml routes must be prepared in the same way java-dsl (via RouteConfigurationDefinition)
+ // so create a copy and use the fluent builder to add the route
for (RouteConfigurationDefinition config : configurations.getRouteConfigurations()) {
- ((ModelCamelContext) getCamelContext()).addRouteConfiguration(config);
+ getRouteConfigurationCollection().routeConfiguration(config);
}
}
};
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 50e4d509283..a61d3d43716 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
@@ -17,6 +17,7 @@
package org.apache.camel.dsl.xml.io;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.builder.RouteConfigurationBuilder;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.spi.Resource;
import org.apache.camel.support.ResourceHelper;
@@ -119,11 +120,12 @@ public class XmlRoutesBuilderLoaderTest {
+ " </routeConfiguration>"
+ "</routeConfigurations>";
Resource resource = ResourceHelper.fromString("in-memory.xml", content);
- RouteBuilder builder = (RouteBuilder) new XmlRoutesBuilderLoader().loadRoutesBuilder(resource);
+ RouteConfigurationBuilder builder
+ = (RouteConfigurationBuilder) new XmlRoutesBuilderLoader().loadRoutesBuilder(resource);
DefaultCamelContext camelContext = new DefaultCamelContext();
builder.setCamelContext(camelContext);
builder.configuration();
- assertFalse(camelContext.getRouteConfigurationDefinitions().isEmpty());
+ assertFalse(builder.getRouteConfigurationCollection().getRouteConfigurations().isEmpty());
}
}