You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ml...@apache.org on 2006/04/25 13:02:40 UTC

svn commit: r396838 - in /incubator/harmony/enhanced/classlib/trunk/modules/beans/src: main/java/java/beans/Beans.java test/java/org/apache/harmony/tests/java/beans/BeansTest.java

Author: mloenko
Date: Tue Apr 25 04:02:36 2006
New Revision: 396838

URL: http://svn.apache.org/viewcvs?rev=396838&view=rev
Log:
fixes for HARMONY-402:
java.beans.Beans.InstanceOf(Object bean,Class targetType) method works incorrectly

Modified:
    incubator/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/Beans.java
    incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/tests/java/beans/BeansTest.java

Modified: incubator/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/Beans.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/Beans.java?rev=396838&r1=396837&r2=396838&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/Beans.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/beans/src/main/java/java/beans/Beans.java Tue Apr 25 04:02:36 2006
@@ -144,7 +144,11 @@
 	 * @com.intel.drl.spec_ref
 	 */
     public static boolean isInstanceOf(Object bean, Class targetType) {
-        return bean.getClass().isAssignableFrom(targetType);            
+        if (targetType == null) {
+            return false;
+        } else {
+            return targetType.isInstance(bean);
+        }
     }
 
     /**

Modified: incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/tests/java/beans/BeansTest.java
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/tests/java/beans/BeansTest.java?rev=396838&r1=396837&r2=396838&view=diff
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/tests/java/beans/BeansTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/tests/java/beans/BeansTest.java Tue Apr 25 04:02:36 2006
@@ -22,7 +22,10 @@
 
 import org.apache.harmony.tests.java.beans.auxiliary.SampleBean;
 import java.beans.Beans;
+import java.io.Externalizable;
 import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
 
 import junit.framework.Test;
 import junit.framework.TestCase;
@@ -105,6 +108,18 @@
         }
         assertNotNull(Beans.instantiate(null, this.getClass().getName()));
     } 
+
+    //regression test for HARMONY-402
+    public void test_isInstanceOf_Object_Class() {
+        ObjectBean bean = new ObjectBean();
+        // correct non-null targetType
+        Class targetType = Externalizable.class;
+        assertTrue(Beans.isInstanceOf(bean, targetType));
+
+        // null targetType
+        targetType = null;
+        assertFalse(Beans.isInstanceOf(bean, targetType));
+    } 
     
     /**
      * 
@@ -132,4 +147,9 @@
     private void checkValues(SampleBean sampleBean) {
         assertEquals(null, sampleBean.getText());
     }
+
+    private class ObjectBean implements Externalizable { 
+        public void writeExternal(ObjectOutput out) {}; 
+        public void readExternal(ObjectInput in){}; 
+    } 
 }