From ad33ee1f151ef3e7c6fce90834aecd807a80c81e Mon Sep 17 00:00:00 2001 From: ribeaudc <ribeaudc> Date: Wed, 5 Dec 2007 08:16:31 +0000 Subject: [PATCH] fix: - '(Object[]) null' does not mean '(Object) null'. SVN: 2936 --- .../java/ch/systemsx/cisd/common/utilities/ClassUtils.java | 3 ++- .../ch/systemsx/cisd/common/utilities/ClassUtilsTest.java | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/ClassUtils.java b/common/source/java/ch/systemsx/cisd/common/utilities/ClassUtils.java index a366c22fc74..f539f121acf 100644 --- a/common/source/java/ch/systemsx/cisd/common/utilities/ClassUtils.java +++ b/common/source/java/ch/systemsx/cisd/common/utilities/ClassUtils.java @@ -165,7 +165,8 @@ public final class ClassUtils + "' can not be instanciated as it is an interface."; assert superClazz.isAssignableFrom(clazz) : "Class '" + clazz.getName() + "' does not implements/extends '" + superClazz.getName() + "'."; - if (initargs == null) + // (Object[]) null ||Ê(Object) null + if (initargs == null || (initargs.length == 1 && initargs[0] == null)) { return createInstance(clazz); } diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/utilities/ClassUtilsTest.java b/common/sourceTest/java/ch/systemsx/cisd/common/utilities/ClassUtilsTest.java index 751600c1d4e..9fc609a1e25 100644 --- a/common/sourceTest/java/ch/systemsx/cisd/common/utilities/ClassUtilsTest.java +++ b/common/sourceTest/java/ch/systemsx/cisd/common/utilities/ClassUtilsTest.java @@ -82,7 +82,7 @@ public final class ClassUtilsTest @Test public void testCreateWithDefaultConstructor() { - CharSequence cs = ClassUtils.create(CharSequence.class, StringBuffer.class.getName(), (Object) null); + CharSequence cs = ClassUtils.create(CharSequence.class, StringBuffer.class.getName(), (Object[]) null); assertTrue(cs instanceof StringBuffer); assertEquals(0, cs.length()); } @@ -132,7 +132,7 @@ public final class ClassUtilsTest { try { - ClassUtils.create(Float.class, Integer.class.getName(), (Object) null); + ClassUtils.create(Float.class, Integer.class.getName(), (Object[]) null); fail("AssertionError expected."); } catch (AssertionError e) { @@ -145,7 +145,7 @@ public final class ClassUtilsTest { try { - ClassUtils.create(Float.class, CharSequence.class.getName(), (Object) null); + ClassUtils.create(Float.class, CharSequence.class.getName(), (Object[]) null); fail("AssertionError expected."); } catch (AssertionError e) { -- GitLab