You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by sc...@apache.org on 2009/11/17 10:30:42 UTC

svn commit: r881209 - in /commons/proper/lang/trunk/src: java/org/apache/commons/lang/ObjectUtils.java test/org/apache/commons/lang/ObjectUtilsTest.java

Author: scolebourne
Date: Tue Nov 17 09:30:41 2009
New Revision: 881209

URL: http://svn.apache.org/viewvc?rev=881209&view=rev
Log:
Fix to handle null input array, and remove check for NULL

Modified:
    commons/proper/lang/trunk/src/java/org/apache/commons/lang/ObjectUtils.java
    commons/proper/lang/trunk/src/test/org/apache/commons/lang/ObjectUtilsTest.java

Modified: commons/proper/lang/trunk/src/java/org/apache/commons/lang/ObjectUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/java/org/apache/commons/lang/ObjectUtils.java?rev=881209&r1=881208&r2=881209&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/java/org/apache/commons/lang/ObjectUtils.java (original)
+++ commons/proper/lang/trunk/src/java/org/apache/commons/lang/ObjectUtils.java Tue Nov 17 09:30:41 2009
@@ -111,9 +111,11 @@
      *  or <code>null</code> if there are no non-null values
      */
     public static <T> T firstNonNull(T... values) {
-        for (T val : values) {
-            if (val != null && val != ObjectUtils.NULL) {
-                return val;
+        if (values != null) {
+            for (T val : values) {
+                if (val != null) {
+                    return val;
+                }
             }
         }
         return null;

Modified: commons/proper/lang/trunk/src/test/org/apache/commons/lang/ObjectUtilsTest.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/org/apache/commons/lang/ObjectUtilsTest.java?rev=881209&r1=881208&r2=881209&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/test/org/apache/commons/lang/ObjectUtilsTest.java (original)
+++ commons/proper/lang/trunk/src/test/org/apache/commons/lang/ObjectUtilsTest.java Tue Nov 17 09:30:41 2009
@@ -72,7 +72,7 @@
         assertEquals(true, Modifier.isPublic(ObjectUtils.class.getModifiers()));
         assertEquals(false, Modifier.isFinal(ObjectUtils.class.getModifiers()));
     }
-    
+
     //-----------------------------------------------------------------------
     public void testIsNull() {
         Object o = FOO;
@@ -81,6 +81,24 @@
         assertSame("dflt was returned when o was not null", o, ObjectUtils.defaultIfNull(o, dflt));
     }
 
+    public void testFirstNonNull() {
+        assertEquals(null, ObjectUtils.firstNonNull(null, null));
+        assertEquals("", ObjectUtils.firstNonNull(null, ""));
+        String firstNonNullGenerics = ObjectUtils.firstNonNull(null, null, "123", "456");
+        assertEquals("123", firstNonNullGenerics);
+        assertEquals("123", ObjectUtils.firstNonNull("123", null, "456", null));
+        assertEquals(null, ObjectUtils.firstNonNull());
+        assertSame(Boolean.TRUE, ObjectUtils.firstNonNull(Boolean.TRUE));
+        assertNull(ObjectUtils.firstNonNull());
+        assertNull(ObjectUtils.firstNonNull(null, null));
+//        assertSame("123", ObjectUtils.firstNonNull(null, ObjectUtils.NULL, "123", "456"));
+//        assertSame("456", ObjectUtils.firstNonNull(ObjectUtils.NULL, "456", "123", null));
+//        assertNull(ObjectUtils.firstNonNull(null, null, ObjectUtils.NULL));
+        assertNull(ObjectUtils.firstNonNull((Object) null));
+        assertNull(ObjectUtils.firstNonNull((Object[]) null));
+    }
+
+    //-----------------------------------------------------------------------
     public void testEquals() {
         assertTrue("ObjectUtils.equals(null, null) returned false", ObjectUtils.equals(null, null));
         assertTrue("ObjectUtils.equals(\"foo\", null) returned true", !ObjectUtils.equals(FOO, null));
@@ -217,18 +235,4 @@
         assertNull( ObjectUtils.min((String)null, (String)null) );
     }
 
-    public void testFirstNonNull() {
-      assertEquals(null, ObjectUtils.firstNonNull(null, null));
-      assertEquals("", ObjectUtils.firstNonNull(null, ""));
-      assertEquals("123", ObjectUtils.firstNonNull(null, null, "123", "456"));
-      assertEquals("123", ObjectUtils.firstNonNull("123", null, "456", null));
-      assertEquals(null, ObjectUtils.firstNonNull());
-      assertSame(Boolean.TRUE, ObjectUtils.firstNonNull(Boolean.TRUE));
-      assertNull(ObjectUtils.firstNonNull());
-      assertNull(ObjectUtils.firstNonNull(null, null));
-      assertSame("123", ObjectUtils.firstNonNull(null, ObjectUtils.NULL, "123", "456"));
-      assertSame("456", ObjectUtils.firstNonNull(ObjectUtils.NULL, "456", "123", null));
-      assertNull(ObjectUtils.firstNonNull(null, null, ObjectUtils.NULL));
-    }
-
 }