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