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