Author: davsclaus
Date: Tue Jan 17 15:10:33 2012
New Revision: 1232435

URL: http://svn.apache.org/viewvc?rev=1232435&view=rev
Log:
CAMEL-4872: Fixed NPE in Camel Karaf command for route info. Thanks to Scott 
England-Sullivan for the patch.

Modified:
    camel/branches/camel-2.9.x/   (props changed)
    
camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Jan 17 15:10:33 2012
@@ -1 +1 @@
-/camel/trunk:1227209,1227212,1227540,1228015,1228027,1228223,1228879,1229565,1231135,1231704,1232309,1232312
+/camel/trunk:1227209,1227212,1227540,1228015,1228027,1228223,1228879,1229565,1231135,1231704,1232309,1232312,1232429

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Jan 17 15:10:33 2012
@@ -1 +1 @@
-/camel/trunk:1-1227196,1227209,1227212,1227540,1228015,1228027,1228223,1228879,1229565,1231135,1231704,1232309,1232312
+/camel/trunk:1-1227196,1227209,1227212,1227540,1228015,1228027,1228223,1228879,1229565,1231135,1231704,1232309,1232312,1232429

Modified: 
camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java?rev=1232435&r1=1232434&r2=1232435&view=diff
==============================================================================
--- 
camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java
 (original)
+++ 
camel/branches/camel-2.9.x/platforms/karaf/commands/src/main/java/org/apache/camel/karaf/commands/RouteInfo.java
 Tue Jan 17 15:10:33 2012
@@ -92,11 +92,27 @@ public class RouteInfo extends OsgiComma
                 System.out.println(StringEscapeUtils.unescapeJava("\tTotal 
Processing Time: " + totalProcessingTime + "ms"));
                 Long lastProcessingTime = (Long) 
mBeanServer.getAttribute(routeMBean, "LastProcessingTime");
                 System.out.println(StringEscapeUtils.unescapeJava("\tLast 
Processing Time: " + lastProcessingTime + "ms"));
-                Date firstExchangeTimestamp = (Date) 
mBeanServer.getAttribute(routeMBean, "FirstExchangeCompletedTimestamp");
+
+                // Test for null to see if a any exchanges have been processed 
first to avoid NPE
+                Object firstExchangeTimestampObj = 
mBeanServer.getAttribute(routeMBean, "FirstExchangeCompletedTimestamp");
                 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd 
HH:mm:ss");
-                System.out.println(StringEscapeUtils.unescapeJava("\tFirst 
Exchange Date: " + format.format(firstExchangeTimestamp)));
-                Date lastExchangeCompletedTimestamp = (Date) 
mBeanServer.getAttribute(routeMBean, "LastExchangeCompletedTimestamp");
-                System.out.println(StringEscapeUtils.unescapeJava("\tLast 
Exchange Completed Date: " + format.format(lastExchangeCompletedTimestamp)));
+                if (firstExchangeTimestampObj == null) {
+                    // Print an empty value for scripting
+                    System.out.println(StringEscapeUtils.unescapeJava("\tFirst 
Exchange Date:"));
+                } else {
+                    Date firstExchangeTimestamp = (Date) 
firstExchangeTimestampObj;
+                    System.out.println(StringEscapeUtils.unescapeJava("\tFirst 
Exchange Date: " + format.format(firstExchangeTimestamp)));
+                }
+
+                // Again, check for null to avoid NPE
+                Object lastExchangeCompletedTimestampObj = 
mBeanServer.getAttribute(routeMBean, "LastExchangeCompletedTimestamp");
+                if (lastExchangeCompletedTimestampObj == null) {
+                    // Print an empty value for scripting
+                    System.out.println(StringEscapeUtils.unescapeJava("\tLast 
Exchange Completed Date:"));
+                } else {
+                    Date lastExchangeCompletedTimestamp = (Date) 
lastExchangeCompletedTimestampObj;
+                    System.out.println(StringEscapeUtils.unescapeJava("\tLast 
Exchange Completed Date: " + format.format(lastExchangeCompletedTimestamp)));
+                }
             }
         }
         System.out.println("");


Reply via email to