Author: davsclaus
Date: Sat Aug 20 10:51:13 2011
New Revision: 1159870

URL: http://svn.apache.org/viewvc?rev=1159870&view=rev
Log:
Merged revisions 1159867 via svnmerge from 
https://svn.apache.org/repos/asf/camel/trunk


Added:
    
camel/branches/camel-2.8.x/components/camel-jaxb/src/test/java/org/apache/camel/example/JaxbErrorLogTest.java
      - copied unchanged from r1159867, 
camel/trunk/components/camel-jaxb/src/test/java/org/apache/camel/example/JaxbErrorLogTest.java
Modified:
    camel/branches/camel-2.8.x/   (props changed)
    
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java
    
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java

Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Aug 20 10:51:13 2011
@@ -1 +1 @@
-/camel/trunk:1155230,1156108,1156260,1156524,1157348,1157798,1157831,1157878,1158153,1159171,1159174,1159457,1159460,1159606
+/camel/trunk:1155230,1156108,1156260,1156524,1157348,1157798,1157831,1157878,1158153,1159171,1159174,1159457,1159460,1159606,1159867

Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: 
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java?rev=1159870&r1=1159869&r2=1159870&view=diff
==============================================================================
--- 
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java
 (original)
+++ 
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/impl/LoggingExceptionHandler.java
 Sat Aug 20 10:51:13 2011
@@ -52,12 +52,16 @@ public class LoggingExceptionHandler imp
     }
 
     public void handleException(String message, Exchange exchange, Throwable 
exception) {
-        String msg = ExchangeHelper.createExceptionMessage(message, exchange, 
exception);
-        if (isCausedByRollbackExchangeException(exception)) {
-            // do not log stacktrace for intended rollbacks
-            logger.log(msg);
-        } else {
-            logger.log(msg, exception);
+        try {
+            String msg = ExchangeHelper.createExceptionMessage(message, 
exchange, exception);
+            if (isCausedByRollbackExchangeException(exception)) {
+                // do not log stacktrace for intended rollbacks
+                logger.log(msg);
+            } else {
+                logger.log(msg, exception);
+            }
+        } catch (Throwable e) {
+            // the logging exception handler must not cause new exceptions to 
occur
         }
     }
 

Modified: 
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java?rev=1159870&r1=1159869&r2=1159870&view=diff
==============================================================================
--- 
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
 (original)
+++ 
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/util/MessageHelper.java
 Sat Aug 20 10:51:13 2011
@@ -217,10 +217,15 @@ public final class MessageHelper {
         }
 
         // grab the message body as a string
-        String body;
+        String body = null;
         if (message.getExchange() != null) {
-            body = 
message.getExchange().getContext().getTypeConverter().convertTo(String.class, 
obj);
-        } else {
+            try {
+                body = 
message.getExchange().getContext().getTypeConverter().convertTo(String.class, 
obj);
+            } catch (Exception e) {
+                // ignore as the body is for logging purpose
+            }
+        }
+        if (body == null) {
             body = obj.toString();
         }
 
@@ -267,15 +272,14 @@ public final class MessageHelper {
 
                 // dump header value as XML, use Camel type converter to 
convert to String
                 if (value != null) {
-                    String xml = 
message.getExchange().getContext().getTypeConverter().convertTo(String.class, 
value);
-                    if (xml != null) {
-                        // is the header value already XML
-                        if (xml.startsWith("<") && xml.endsWith(">")) {
-                            sb.append(xml);
-                        } else {
-                            // no its not xml so xml encode it
+                    try {
+                        String xml = 
message.getExchange().getContext().getTypeConverter().convertTo(String.class, 
value);
+                        if (xml != null) {
+                            // must always xml encode
                             sb.append(StringHelper.xmlEncode(xml));
                         }
+                    } catch (Exception e) {
+                        // ignore as the body is for logging purpose
                     }
                 }
 
@@ -292,15 +296,13 @@ public final class MessageHelper {
         sb.append(">");
 
         // dump body value as XML, use Camel type converter to convert to 
String
-        String xml = message.getBody(String.class);
-        if (xml != null) {
-            // is the body already XML
-            if (xml.startsWith("<") && xml.endsWith(">")) {
-                sb.append(xml);
-            } else {
-                // no its not xml so xml encode it
+        try {
+            String xml = message.getBody(String.class);
+            if (xml != null) {
                 sb.append(StringHelper.xmlEncode(xml));
             }
+        } catch (Exception e) {
+            // ignore as the body is for logging purpose
         }
 
         sb.append("</body>\n");


Reply via email to