You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by cs...@apache.org on 2011/08/25 10:55:46 UTC
svn commit: r1161449 - in
/camel/trunk/camel-core/src/main/java/org/apache/camel:
CamelExchangeException.java impl/LoggingExceptionHandler.java
Author: cschneider
Date: Thu Aug 25 08:55:46 2011
New Revision: 1161449
URL: http://svn.apache.org/viewvc?rev=1161449&view=rev
Log:
move createExceptionMessage from EchangeHelper to CamelExchangeException to avoid dependency from api to util
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/CamelExchangeException.java
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/CamelExchangeException.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/CamelExchangeException.java?rev=1161449&r1=1161448&r2=1161449&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/CamelExchangeException.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/CamelExchangeException.java Thu Aug 25 08:55:46 2011
@@ -16,7 +16,6 @@
*/
package org.apache.camel;
-import org.apache.camel.util.ExchangeHelper;
/**
* An exception caused by a specific message {@link Exchange}
@@ -29,12 +28,12 @@ public class CamelExchangeException exte
private final transient Exchange exchange;
public CamelExchangeException(String message, Exchange exchange) {
- super(ExchangeHelper.createExceptionMessage(message, exchange, null));
+ super(CamelExchangeException.createExceptionMessage(message, exchange, null));
this.exchange = exchange;
}
public CamelExchangeException(String message, Exchange exchange, Throwable cause) {
- super(ExchangeHelper.createExceptionMessage(message, exchange, cause), cause);
+ super(CamelExchangeException.createExceptionMessage(message, exchange, cause), cause);
this.exchange = exchange;
}
@@ -45,4 +44,34 @@ public class CamelExchangeException exte
return exchange;
}
+ /**
+ * Creates an exception message with the provided details.
+ * <p/>
+ * All fields is optional so you can pass in only an exception, or just a message etc. or any combination.
+ *
+ * @param message the message
+ * @param exchange the exchange
+ * @param cause the caused exception
+ * @return an error message (without stacktrace from exception)
+ */
+ public static String createExceptionMessage(String message, Exchange exchange, Throwable cause) {
+ StringBuilder sb = new StringBuilder();
+ if (message != null) {
+ sb.append(message);
+ }
+ if (exchange != null) {
+ if (sb.length() > 0) {
+ sb.append(". ");
+ }
+ sb.append(exchange);
+ }
+ if (cause != null) {
+ if (sb.length() > 0) {
+ sb.append(". ");
+ }
+ sb.append("Caused by: [" + cause.getClass().getName() + " - " + cause.getMessage() + "]");
+ }
+ return sb.toString().trim();
+ }
+
}
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java?rev=1161449&r1=1161448&r2=1161449&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java Thu Aug 25 08:55:46 2011
@@ -16,12 +16,12 @@
*/
package org.apache.camel.impl;
+import org.apache.camel.CamelExchangeException;
import org.apache.camel.Exchange;
import org.apache.camel.LoggingLevel;
import org.apache.camel.RollbackExchangeException;
import org.apache.camel.processor.CamelLogger;
import org.apache.camel.spi.ExceptionHandler;
-import org.apache.camel.util.ExchangeHelper;
import org.slf4j.LoggerFactory;
/**
@@ -53,7 +53,7 @@ public class LoggingExceptionHandler imp
public void handleException(String message, Exchange exchange, Throwable exception) {
try {
- String msg = ExchangeHelper.createExceptionMessage(message, exchange, exception);
+ String msg = CamelExchangeException.createExceptionMessage(message, exchange, exception);
if (isCausedByRollbackExchangeException(exception)) {
// do not log stacktrace for intended rollbacks
logger.log(msg);