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