[jboss-svn-commits] JBoss Common SVN: r3080 - in jboss-logmanager/trunk/src: test/java/org/jboss/logmanager and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 12 23:43:17 EDT 2009


Author: david.lloyd at jboss.com
Date: 2009-03-12 23:43:17 -0400 (Thu, 12 Mar 2009)
New Revision: 3080

Modified:
   jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/Logger.java
   jboss-logmanager/trunk/src/test/java/org/jboss/logmanager/LoggerTests.java
Log:
Simplify more, fix a NPE when removing a handler when there are no handlers

Modified: jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/Logger.java
===================================================================
--- jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/Logger.java	2009-03-13 03:29:48 UTC (rev 3079)
+++ jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/Logger.java	2009-03-13 03:43:17 UTC (rev 3080)
@@ -229,16 +229,10 @@
         do {
             final Handler[] oldHandlers = handlers;
             final Handler[] newHandlers;
-            final int len = oldHandlers.length;
-            if (len == 0) {
+            if (oldHandlers == null) {
                 return;
-            } else if (len == 1) {
-                if (oldHandlers[0] == handler) {
-                    newHandlers = null;
-                } else {
-                    return;
-                }
             } else {
+                final int len = oldHandlers.length;
                 final int pos = Arrays.binarySearch(oldHandlers, handler, IHC_COMPARATOR);
                 if (pos < 0) {
                     return;

Modified: jboss-logmanager/trunk/src/test/java/org/jboss/logmanager/LoggerTests.java
===================================================================
--- jboss-logmanager/trunk/src/test/java/org/jboss/logmanager/LoggerTests.java	2009-03-13 03:29:48 UTC (rev 3079)
+++ jboss-logmanager/trunk/src/test/java/org/jboss/logmanager/LoggerTests.java	2009-03-13 03:43:17 UTC (rev 3080)
@@ -81,6 +81,14 @@
         assertTrue("Handler 3 missing", f3);
     }
 
+    public void testHandlerRemove2() {
+        final NullHandler h1 = new NullHandler();
+        final Logger logger = Logger.getLogger("testHandlerRemove2");
+        logger.removeHandler(h1);
+        final Handler[] handlers = logger.getHandlers();
+        assertEquals(0, handlers.length);
+    }
+
     public void testHandlerClear() {
         final NullHandler h1 = new NullHandler();
         final NullHandler h2 = new NullHandler();




More information about the jboss-svn-commits mailing list