[exo-jcr-commits] exo-jcr SVN: r5998 - in kernel/trunk/exo.kernel.commons/src: test/java/org/exoplatform/commons/utils and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Mar 30 09:10:45 EDT 2012


Author: andrew.plotnikov
Date: 2012-03-30 09:10:43 -0400 (Fri, 30 Mar 2012)
New Revision: 5998

Modified:
   kernel/trunk/exo.kernel.commons/src/main/java/org/exoplatform/services/log/impl/LogMessageFormatter.java
   kernel/trunk/exo.kernel.commons/src/test/java/org/exoplatform/commons/utils/TestLogMessageFormatter.java
Log:
EXOJCR-1815: Fixed LogMessageFormatter.getMessage throws NPE if object is null

Modified: kernel/trunk/exo.kernel.commons/src/main/java/org/exoplatform/services/log/impl/LogMessageFormatter.java
===================================================================
--- kernel/trunk/exo.kernel.commons/src/main/java/org/exoplatform/services/log/impl/LogMessageFormatter.java	2012-03-30 12:08:29 UTC (rev 5997)
+++ kernel/trunk/exo.kernel.commons/src/main/java/org/exoplatform/services/log/impl/LogMessageFormatter.java	2012-03-30 13:10:43 UTC (rev 5998)
@@ -34,14 +34,14 @@
 
    public static String getMessage(String str, Object... argsArray)
    {
-
       if (argsArray != null && argsArray.length > 0)
       {
          for (int i = 0; i < argsArray.length; i++)
          {
             if (i != argsArray.length - 1 || !(argsArray[i] instanceof Throwable))
             {
-               str = REPLACE_PATTERN.matcher(str).replaceFirst(String.valueOf(argsArray[i].toString()));
+               String message = String.valueOf(argsArray[i]);
+               str = REPLACE_PATTERN.matcher(str).replaceFirst(message != null ? message : "null");
             }
          }
       }

Modified: kernel/trunk/exo.kernel.commons/src/test/java/org/exoplatform/commons/utils/TestLogMessageFormatter.java
===================================================================
--- kernel/trunk/exo.kernel.commons/src/test/java/org/exoplatform/commons/utils/TestLogMessageFormatter.java	2012-03-30 12:08:29 UTC (rev 5997)
+++ kernel/trunk/exo.kernel.commons/src/test/java/org/exoplatform/commons/utils/TestLogMessageFormatter.java	2012-03-30 13:10:43 UTC (rev 5998)
@@ -58,9 +58,12 @@
       assertEquals(t, LogMessageFormatter.getThrowable("Just testing{}", new Object(), t));
    }
 
-   public void testMessageIsNull() throws Exception
+   public void testGetMessage() throws Exception
    {
+      //if object.toString return null
       LogMessageFormatter.getMessage("Hello, World {} ", new A());
+      //if object is null
+      LogMessageFormatter.getMessage("Hello, World {} {}", new Object(), null);
    }
 
    class A



More information about the exo-jcr-commits mailing list