[09/15] camel git commit: CAMEL-11229 Infinite recursion if exception hap...

2017-05-11 Thread davsclaus
CAMEL-11229 Infinite recursion if exception hap...

...pens inside exception handler

A bit simpler unit test and reformatted source code.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/02f41cdb
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/02f41cdb
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/02f41cdb

Branch: refs/heads/camel-2.18.x
Commit: 02f41cdbc9db51171e45f582fb733f6dba18fa18
Parents: 5491f48
Author: Zoran Regvart 
Authored: Mon May 8 11:54:59 2017 +0200
Committer: Claus Ibsen 
Committed: Thu May 11 18:41:43 2017 +0200

--
 .../camel/processor/RedeliveryErrorHandler.java | 75 +++-
 .../onexception/OnExceptionRecursionTest.java   | 48 ++---
 2 files changed, 47 insertions(+), 76 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/02f41cdb/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
--
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
 
b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
index 32a1bbe..7e978de 100644
--- 
a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
+++ 
b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
@@ -854,50 +854,55 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport impleme
 
 Throwable origExceptionCaught = 
exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Throwable.class);
 if (origExceptionCaught != null) {
-log.error("Second Exception occured inside exception handler. 
Failing exchange", e);
+log.error("Second Exception occurred inside exception handler. 
Failing exchange", e);
 exchange.setProperty(Exchange.UNIT_OF_WORK_EXHAUSTED, true);
 } else {
 
 // store the original caused exception in a property, so we can 
restore it later
 exchange.setProperty(Exchange.EXCEPTION_CAUGHT, e);
 
-// find the error handler to use (if any)
-OnExceptionDefinition exceptionPolicy = getExceptionPolicy(exchange, 
e);
-if (exceptionPolicy != null) {
-data.currentRedeliveryPolicy = 
exceptionPolicy.createRedeliveryPolicy(exchange.getContext(), 
data.currentRedeliveryPolicy);
-data.handledPredicate = exceptionPolicy.getHandledPolicy();
-data.continuedPredicate = exceptionPolicy.getContinuedPolicy();
-data.retryWhilePredicate = exceptionPolicy.getRetryWhilePolicy();
-data.useOriginalInMessage = 
exceptionPolicy.getUseOriginalMessagePolicy() != null && 
exceptionPolicy.getUseOriginalMessagePolicy();
-
-// route specific failure handler?
-Processor processor = null;
-UnitOfWork uow = exchange.getUnitOfWork();
-if (uow != null && uow.getRouteContext() != null) {
-String routeId = uow.getRouteContext().getRoute().getId();
-processor = exceptionPolicy.getErrorHandler(routeId);
-} else if (!exceptionPolicy.getErrorHandlers().isEmpty()) {
-// note this should really not happen, but we have this code 
as a fail safe
-// to be backwards compatible with the old behavior
-log.warn("Cannot determine current route from Exchange with 
id: {}, will fallback and use first error handler.", exchange.getExchangeId());
-processor = 
exceptionPolicy.getErrorHandlers().iterator().next();
-}
-if (processor != null) {
-data.failureProcessor = processor;
-}
+// find the error handler to use (if any)
+OnExceptionDefinition exceptionPolicy = 
getExceptionPolicy(exchange, e);
+if (exceptionPolicy != null) {
+data.currentRedeliveryPolicy = 
exceptionPolicy.createRedeliveryPolicy(exchange.getContext(),
+data.currentRedeliveryPolicy);
+data.handledPredicate = exceptionPolicy.getHandledPolicy();
+data.continuedPredicate = exceptionPolicy.getContinuedPolicy();
+data.retryWhilePredicate = 
exceptionPolicy.getRetryWhilePolicy();
+data.useOriginalInMessage = 
exceptionPolicy.getUseOriginalMessagePolicy() != null
+&& exceptionPolicy.getUseOriginalMessagePolicy();
+
+// route specific failure handler?
+Processor processor = null;
+UnitOfWork uow = exchange.getUnitOfWork();
+if (uow != null && uow.getRouteContext() != null) {
+String routeId = 

[02/15] camel git commit: CAMEL-11229 Infinite recursion if exception hap...

2017-05-11 Thread davsclaus
CAMEL-11229 Infinite recursion if exception hap...

...pens inside exception handler

A bit simpler unit test and reformatted source code.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/9d656020
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9d656020
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9d656020

Branch: refs/heads/camel-2.19.x
Commit: 9d65602039ca597e77dbe88a6069a14ab43c6046
Parents: f070c4f
Author: Zoran Regvart 
Authored: Mon May 8 11:54:59 2017 +0200
Committer: Claus Ibsen 
Committed: Thu May 11 18:39:01 2017 +0200

--
 .../camel/processor/RedeliveryErrorHandler.java | 75 +++-
 .../onexception/OnExceptionRecursionTest.java   | 48 ++---
 2 files changed, 47 insertions(+), 76 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/9d656020/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
--
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
 
b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
index bc05bbc..eb29e6c 100644
--- 
a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
+++ 
b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
@@ -853,50 +853,55 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport impleme
 
 Throwable origExceptionCaught = 
exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Throwable.class);
 if (origExceptionCaught != null) {
-log.error("Second Exception occured inside exception handler. 
Failing exchange", e);
+log.error("Second Exception occurred inside exception handler. 
Failing exchange", e);
 exchange.setProperty(Exchange.UNIT_OF_WORK_EXHAUSTED, true);
 } else {
 
 // store the original caused exception in a property, so we can 
restore it later
 exchange.setProperty(Exchange.EXCEPTION_CAUGHT, e);
 
-// find the error handler to use (if any)
-OnExceptionDefinition exceptionPolicy = getExceptionPolicy(exchange, 
e);
-if (exceptionPolicy != null) {
-data.currentRedeliveryPolicy = 
exceptionPolicy.createRedeliveryPolicy(exchange.getContext(), 
data.currentRedeliveryPolicy);
-data.handledPredicate = exceptionPolicy.getHandledPolicy();
-data.continuedPredicate = exceptionPolicy.getContinuedPolicy();
-data.retryWhilePredicate = exceptionPolicy.getRetryWhilePolicy();
-data.useOriginalInMessage = 
exceptionPolicy.getUseOriginalMessagePolicy() != null && 
exceptionPolicy.getUseOriginalMessagePolicy();
-
-// route specific failure handler?
-Processor processor = null;
-UnitOfWork uow = exchange.getUnitOfWork();
-if (uow != null && uow.getRouteContext() != null) {
-String routeId = uow.getRouteContext().getRoute().getId();
-processor = exceptionPolicy.getErrorHandler(routeId);
-} else if (!exceptionPolicy.getErrorHandlers().isEmpty()) {
-// note this should really not happen, but we have this code 
as a fail safe
-// to be backwards compatible with the old behavior
-log.warn("Cannot determine current route from Exchange with 
id: {}, will fallback and use first error handler.", exchange.getExchangeId());
-processor = 
exceptionPolicy.getErrorHandlers().iterator().next();
-}
-if (processor != null) {
-data.failureProcessor = processor;
-}
+// find the error handler to use (if any)
+OnExceptionDefinition exceptionPolicy = 
getExceptionPolicy(exchange, e);
+if (exceptionPolicy != null) {
+data.currentRedeliveryPolicy = 
exceptionPolicy.createRedeliveryPolicy(exchange.getContext(),
+data.currentRedeliveryPolicy);
+data.handledPredicate = exceptionPolicy.getHandledPolicy();
+data.continuedPredicate = exceptionPolicy.getContinuedPolicy();
+data.retryWhilePredicate = 
exceptionPolicy.getRetryWhilePolicy();
+data.useOriginalInMessage = 
exceptionPolicy.getUseOriginalMessagePolicy() != null
+&& exceptionPolicy.getUseOriginalMessagePolicy();
+
+// route specific failure handler?
+Processor processor = null;
+UnitOfWork uow = exchange.getUnitOfWork();
+if (uow != null && uow.getRouteContext() != null) {
+String routeId = 

[3/7] camel git commit: CAMEL-11229 Infinite recursion if exception hap...

2017-05-11 Thread davsclaus
CAMEL-11229 Infinite recursion if exception hap...

...pens inside exception handler

A bit simpler unit test and reformatted source code.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3f4805d0
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3f4805d0
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3f4805d0

Branch: refs/heads/master
Commit: 3f4805d0b2c45cf268b5a2c04f7a21d81890c5fd
Parents: ff4fc73
Author: Zoran Regvart 
Authored: Mon May 8 11:54:59 2017 +0200
Committer: Claus Ibsen 
Committed: Thu May 11 18:21:07 2017 +0200

--
 .../camel/processor/RedeliveryErrorHandler.java | 75 +++-
 .../onexception/OnExceptionRecursionTest.java   | 48 ++---
 2 files changed, 47 insertions(+), 76 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/3f4805d0/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
--
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
 
b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
index bc05bbc..eb29e6c 100644
--- 
a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
+++ 
b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
@@ -853,50 +853,55 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport impleme
 
 Throwable origExceptionCaught = 
exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Throwable.class);
 if (origExceptionCaught != null) {
-log.error("Second Exception occured inside exception handler. 
Failing exchange", e);
+log.error("Second Exception occurred inside exception handler. 
Failing exchange", e);
 exchange.setProperty(Exchange.UNIT_OF_WORK_EXHAUSTED, true);
 } else {
 
 // store the original caused exception in a property, so we can 
restore it later
 exchange.setProperty(Exchange.EXCEPTION_CAUGHT, e);
 
-// find the error handler to use (if any)
-OnExceptionDefinition exceptionPolicy = getExceptionPolicy(exchange, 
e);
-if (exceptionPolicy != null) {
-data.currentRedeliveryPolicy = 
exceptionPolicy.createRedeliveryPolicy(exchange.getContext(), 
data.currentRedeliveryPolicy);
-data.handledPredicate = exceptionPolicy.getHandledPolicy();
-data.continuedPredicate = exceptionPolicy.getContinuedPolicy();
-data.retryWhilePredicate = exceptionPolicy.getRetryWhilePolicy();
-data.useOriginalInMessage = 
exceptionPolicy.getUseOriginalMessagePolicy() != null && 
exceptionPolicy.getUseOriginalMessagePolicy();
-
-// route specific failure handler?
-Processor processor = null;
-UnitOfWork uow = exchange.getUnitOfWork();
-if (uow != null && uow.getRouteContext() != null) {
-String routeId = uow.getRouteContext().getRoute().getId();
-processor = exceptionPolicy.getErrorHandler(routeId);
-} else if (!exceptionPolicy.getErrorHandlers().isEmpty()) {
-// note this should really not happen, but we have this code 
as a fail safe
-// to be backwards compatible with the old behavior
-log.warn("Cannot determine current route from Exchange with 
id: {}, will fallback and use first error handler.", exchange.getExchangeId());
-processor = 
exceptionPolicy.getErrorHandlers().iterator().next();
-}
-if (processor != null) {
-data.failureProcessor = processor;
-}
+// find the error handler to use (if any)
+OnExceptionDefinition exceptionPolicy = 
getExceptionPolicy(exchange, e);
+if (exceptionPolicy != null) {
+data.currentRedeliveryPolicy = 
exceptionPolicy.createRedeliveryPolicy(exchange.getContext(),
+data.currentRedeliveryPolicy);
+data.handledPredicate = exceptionPolicy.getHandledPolicy();
+data.continuedPredicate = exceptionPolicy.getContinuedPolicy();
+data.retryWhilePredicate = 
exceptionPolicy.getRetryWhilePolicy();
+data.useOriginalInMessage = 
exceptionPolicy.getUseOriginalMessagePolicy() != null
+&& exceptionPolicy.getUseOriginalMessagePolicy();
+
+// route specific failure handler?
+Processor processor = null;
+UnitOfWork uow = exchange.getUnitOfWork();
+if (uow != null && uow.getRouteContext() != null) {
+String routeId = 

camel git commit: CAMEL-11229 Infinite recursion if exception hap...

2017-05-08 Thread cschneider
Repository: camel
Updated Branches:
  refs/heads/CAMEL-11229 175c379d4 -> d76f75ea4


CAMEL-11229 Infinite recursion if exception hap...

...pens inside exception handler

A bit simpler unit test and reformatted source code.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d76f75ea
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d76f75ea
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d76f75ea

Branch: refs/heads/CAMEL-11229
Commit: d76f75ea46b55b16af9e0ae05bfbb3df271545bd
Parents: 175c379
Author: Zoran Regvart 
Authored: Mon May 8 11:54:59 2017 +0200
Committer: Zoran Regvart 
Committed: Mon May 8 11:54:59 2017 +0200

--
 .../camel/processor/RedeliveryErrorHandler.java | 75 +++-
 .../onexception/OnExceptionRecursionTest.java   | 48 ++---
 2 files changed, 47 insertions(+), 76 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/camel/blob/d76f75ea/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
--
diff --git 
a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
 
b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
index bc05bbc..eb29e6c 100644
--- 
a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
+++ 
b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
@@ -853,50 +853,55 @@ public abstract class RedeliveryErrorHandler extends 
ErrorHandlerSupport impleme
 
 Throwable origExceptionCaught = 
exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Throwable.class);
 if (origExceptionCaught != null) {
-log.error("Second Exception occured inside exception handler. 
Failing exchange", e);
+log.error("Second Exception occurred inside exception handler. 
Failing exchange", e);
 exchange.setProperty(Exchange.UNIT_OF_WORK_EXHAUSTED, true);
 } else {
 
 // store the original caused exception in a property, so we can 
restore it later
 exchange.setProperty(Exchange.EXCEPTION_CAUGHT, e);
 
-// find the error handler to use (if any)
-OnExceptionDefinition exceptionPolicy = getExceptionPolicy(exchange, 
e);
-if (exceptionPolicy != null) {
-data.currentRedeliveryPolicy = 
exceptionPolicy.createRedeliveryPolicy(exchange.getContext(), 
data.currentRedeliveryPolicy);
-data.handledPredicate = exceptionPolicy.getHandledPolicy();
-data.continuedPredicate = exceptionPolicy.getContinuedPolicy();
-data.retryWhilePredicate = exceptionPolicy.getRetryWhilePolicy();
-data.useOriginalInMessage = 
exceptionPolicy.getUseOriginalMessagePolicy() != null && 
exceptionPolicy.getUseOriginalMessagePolicy();
-
-// route specific failure handler?
-Processor processor = null;
-UnitOfWork uow = exchange.getUnitOfWork();
-if (uow != null && uow.getRouteContext() != null) {
-String routeId = uow.getRouteContext().getRoute().getId();
-processor = exceptionPolicy.getErrorHandler(routeId);
-} else if (!exceptionPolicy.getErrorHandlers().isEmpty()) {
-// note this should really not happen, but we have this code 
as a fail safe
-// to be backwards compatible with the old behavior
-log.warn("Cannot determine current route from Exchange with 
id: {}, will fallback and use first error handler.", exchange.getExchangeId());
-processor = 
exceptionPolicy.getErrorHandlers().iterator().next();
-}
-if (processor != null) {
-data.failureProcessor = processor;
-}
+// find the error handler to use (if any)
+OnExceptionDefinition exceptionPolicy = 
getExceptionPolicy(exchange, e);
+if (exceptionPolicy != null) {
+data.currentRedeliveryPolicy = 
exceptionPolicy.createRedeliveryPolicy(exchange.getContext(),
+data.currentRedeliveryPolicy);
+data.handledPredicate = exceptionPolicy.getHandledPolicy();
+data.continuedPredicate = exceptionPolicy.getContinuedPolicy();
+data.retryWhilePredicate = 
exceptionPolicy.getRetryWhilePolicy();
+data.useOriginalInMessage = 
exceptionPolicy.getUseOriginalMessagePolicy() != null
+&& exceptionPolicy.getUseOriginalMessagePolicy();
+
+// route specific failure handler?
+Processor processor = null;
+UnitOfWork uow = exchange.getUnitOfWork();
+if (uow !=