This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git
commit 05f7bafd441876d2c6b182a35ed16855376f82c8 Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Tue Mar 3 10:18:47 2020 +0100 Restore compatibility --- .../org/apache/camel/reifier/RouteReifier.java | 24 ++++++++++++++-------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RouteReifier.java b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RouteReifier.java index 9223e51..7f3b270 100644 --- a/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RouteReifier.java +++ b/core/camel-core-engine/src/main/java/org/apache/camel/reifier/RouteReifier.java @@ -87,7 +87,7 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> { * @throws Exception can be thrown from the route builder * @see AdviceWithRouteBuilder */ - public static RouteDefinition adviceWith(RouteDefinition definition, CamelContext camelContext, AdviceWithRouteBuilder builder) throws Exception { + public static RouteDefinition adviceWith(RouteDefinition definition, CamelContext camelContext, RouteBuilder builder) throws Exception { ObjectHelper.notNull(definition, "RouteDefinition"); ObjectHelper.notNull(camelContext, "CamelContext"); ObjectHelper.notNull(builder, "RouteBuilder"); @@ -156,17 +156,21 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> { * @see AdviceWithRouteBuilder */ @SuppressWarnings("deprecation") - public RouteDefinition adviceWith(AdviceWithRouteBuilder builder) throws Exception { + public RouteDefinition adviceWith(RouteBuilder builder) throws Exception { ObjectHelper.notNull(builder, "RouteBuilder"); - Model model = camelContext.getExtension(Model.class); - ExtendedCamelContext ecc = camelContext.adapt(ExtendedCamelContext.class); log.debug("AdviceWith route before: {}", this); + ExtendedCamelContext ecc = camelContext.adapt(ExtendedCamelContext.class); + Model model = camelContext.getExtension(Model.class); // inject this route into the advice route builder so it can access this route // and offer features to manipulate the route directly - boolean logRoutesAsXml = builder.isLogRouteAsXml(); - builder.setOriginalRoute(definition); + boolean logRoutesAsXml = true; + if (builder instanceof AdviceWithRouteBuilder) { + AdviceWithRouteBuilder arb = (AdviceWithRouteBuilder)builder; + arb.setOriginalRoute(definition); + logRoutesAsXml = arb.isLogRouteAsXml(); + } // configure and prepare the routes from the builder RoutesDefinition routes = builder.configureRoutes(camelContext); @@ -201,9 +205,11 @@ public class RouteReifier extends ProcessorReifier<RouteDefinition> { model.removeRouteDefinition(definition); // any advice with tasks we should execute first? - List<AdviceWithTask> tasks = builder.getAdviceWithTasks(); - for (AdviceWithTask task : tasks) { - task.task(); + if (builder instanceof AdviceWithRouteBuilder) { + List<AdviceWithTask> tasks = ((AdviceWithRouteBuilder) builder).getAdviceWithTasks(); + for (AdviceWithTask task : tasks) { + task.task(); + } } // now merge which also ensures that interceptors and the likes get