Author: jstrachan
Date: Mon Jul 14 09:50:27 2008
New Revision: 676641

URL: http://svn.apache.org/viewvc?rev=676641&view=rev
Log:
avoid NullPointerException if no CamelContext set on an Exchange

Modified:
    
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java

Modified: 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java?rev=676641&r1=676640&r2=676641&view=diff
==============================================================================
--- 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
 (original)
+++ 
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/MessageSupport.java
 Mon Jul 14 09:50:27 2008
@@ -19,6 +19,7 @@
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.TypeConverter;
+import org.apache.camel.CamelContext;
 import org.apache.camel.util.UuidGenerator;
 
 /**
@@ -52,16 +53,19 @@
     protected <T> T getBody(Class<T> type, Object body) {
         Exchange e = getExchange();
         if (e != null) {
-            TypeConverter converter = e.getContext().getTypeConverter();
-            T answer = converter.convertTo(type, body);
-            if (answer == null) {
-                // lets first try converting the message itself first
-                // as for some types like InputStream v Reader its more 
efficient to do the transformation
-                // from the Message itself as its got efficient 
implementations of them, before trying the
-                // payload
-                answer = converter.convertTo(type, this);
+            CamelContext camelContext = e.getContext();
+            if (camelContext != null) {
+                TypeConverter converter = camelContext.getTypeConverter();
+                T answer = converter.convertTo(type, body);
+                if (answer == null) {
+                    // lets first try converting the message itself first
+                    // as for some types like InputStream v Reader its more 
efficient to do the transformation
+                    // from the Message itself as its got efficient 
implementations of them, before trying the
+                    // payload
+                    answer = converter.convertTo(type, this);
+                }
+                return answer;
             }
-            return answer;
         }
         return (T)getBody();
     }


Reply via email to