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);