You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2020/03/04 08:57:54 UTC

[camel] 09/32: Restore compatibility

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 <gn...@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