Author: davsclaus
Date: Sun Oct 31 12:03:48 2010
New Revision: 1029319

URL: http://svn.apache.org/viewvc?rev=1029319&view=rev
Log:
Fixed potential NPE in tracer.

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java?rev=1029319&r1=1029318&r2=1029319&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/interceptor/TraceInterceptor.java
 Sun Oct 31 12:03:48 2010
@@ -201,7 +201,9 @@ public class TraceInterceptor extends De
     }
 
     private void traceOnException(TracedRouteNodes traced, Exchange exchange) 
throws Exception {
-        traced.addTraced(new 
DefaultRouteNode(traced.getLastNode().getProcessorDefinition(), 
traced.getLastNode().getProcessor()));
+        if (traced.getLastNode() != null) {
+            traced.addTraced(new 
DefaultRouteNode(traced.getLastNode().getProcessorDefinition(), 
traced.getLastNode().getProcessor()));
+        }
         traced.addTraced(new OnExceptionRouteNode());
         // log and trace so we have the from -> onException event as well
         logExchange(exchange);
@@ -210,7 +212,9 @@ public class TraceInterceptor extends De
     }
 
     private void traceDoCatch(TracedRouteNodes traced, Exchange exchange) 
throws Exception {
-        traced.addTraced(new 
DefaultRouteNode(traced.getLastNode().getProcessorDefinition(), 
traced.getLastNode().getProcessor()));
+        if (traced.getLastNode() != null) {
+            traced.addTraced(new 
DefaultRouteNode(traced.getLastNode().getProcessorDefinition(), 
traced.getLastNode().getProcessor()));
+        }
         traced.addTraced(new DoCatchRouteNode());
         // log and trace so we have the from -> doCatch event as well
         logExchange(exchange);
@@ -219,7 +223,9 @@ public class TraceInterceptor extends De
     }
 
     private void traceDoFinally(TracedRouteNodes traced, Exchange exchange) 
throws Exception {
-        traced.addTraced(new 
DefaultRouteNode(traced.getLastNode().getProcessorDefinition(), 
traced.getLastNode().getProcessor()));
+        if (traced.getLastNode() != null) {
+            traced.addTraced(new 
DefaultRouteNode(traced.getLastNode().getProcessorDefinition(), 
traced.getLastNode().getProcessor()));
+        }
         traced.addTraced(new DoFinallyRouteNode());
         // log and trace so we have the from -> doFinally event as well
         logExchange(exchange);


Reply via email to