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/06/13 15:32:59 UTC

[camel] branch camel-3.x updated: CAMEL-19443: camel-kamelet - Route templates should use route configured error handler if explicit set

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-3.x by this push:
     new 8e40bfb945c CAMEL-19443: camel-kamelet - Route templates should use route configured error handler if explicit set
8e40bfb945c is described below

commit 8e40bfb945c4cc884ff98a9a7de37e2099675d85
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Jun 13 17:31:35 2023 +0200

    CAMEL-19443: camel-kamelet - Route templates should use route configured error handler if explicit set
---
 .../src/main/java/org/apache/camel/model/RouteDefinition.java      | 7 +++++++
 .../main/java/org/apache/camel/model/RouteTemplateDefinition.java  | 5 ++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
index c370f0ec611..32b364464d0 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
@@ -1120,6 +1120,13 @@ public class RouteDefinition extends OutputDefinition<RouteDefinition>
         return errorHandlerFactory;
     }
 
+    /**
+     * Is a custom error handler been set
+     */
+    boolean isErrorHandlerFactorySet() {
+        return errorHandlerFactory != null;
+    }
+
     /**
      * Sets the error handler to use with processors created by this builder
      */
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java
index d9fbfe9ee73..f9484b45d88 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteTemplateDefinition.java
@@ -389,7 +389,10 @@ public class RouteTemplateDefinition extends OptionalIdentifiedDefinition {
 
         // must set these first in this order
         copy.setErrorHandlerRef(route.getErrorHandlerRef());
-        copy.setErrorHandlerFactory(route.getErrorHandlerFactory());
+        if (route.isErrorHandlerFactorySet()) {
+            // only set factory if not already set
+            copy.setErrorHandlerFactory(route.getErrorHandlerFactory());
+        }
 
         // and then copy over the rest
         // (do not copy id as it is used for route template id)