harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ivanov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-1435) [classlib][beans] no IntrospectionException for PropertyDescriptor("a", Class.class)
Date Fri, 15 Sep 2006 08:21:23 GMT
    [ http://issues.apache.org/jira/browse/HARMONY-1435?page=comments#action_12434909 ] 
            
Vladimir Ivanov commented on HARMONY-1435:
------------------------------------------

============ test.java ====================
import java.beans.*; 

public class test { 
    public static void main(String[] args) throws Exception { 
	PropertyDescriptor[] pds = Introspector.getBeanInfo(Example.class).getPropertyDescriptors();
        System.out.println("pds.length = " + pds.length); 
        for (int i = 0; i < pds.length; i++) {
            System.out.println("[" + i + "]: getter = " + pds[i].getReadMethod() + ", setter
= " + pds[i].getWriteMethod()); 
        }
    } 
} 

class Example {
	public void setI(int i) {}
	public int getI() {return 0;}
	public void setVal(float f) {}
	public int getInt() {return 1;}
}
=======================================

Output (before patch):

C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -showversion test
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized
over throughput (initial strategy singleparpar))

pds.length = 4
[0]: getter = public final java.lang.Class java.lang.Object.getClass(), setter = null
[1]: getter = public int Example.getI(), setter = public void Example.setI(int)
[2]: getter = public int Example.getInt(), setter = null
[3]: getter = null, setter = public void Example.setVal(float)

C:\tmp\tmp17>C:\harmony\classlib1.5\deploy\jdk\jre\bin\java.exe -cp . test
pds.length = 1
[0]: getter = public int Example.getI(), setter = public void Example.setI(int)

==========================

Output (after patch):
C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -showversion test
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized
over throughput (initial strategy singleparpar))

pds.length = 4
[0]: getter = public final java.lang.Class java.lang.Object.getClass(), setter = null
[1]: getter = public int Example.getI(), setter = public void Example.setI(int)
[2]: getter = public int Example.getInt(), setter = null
[3]: getter = null, setter = public void Example.setVal(float)

C:\tmp\tmp17>C:\harmony\classlib1.5\deploy\jdk\jre\bin\java.exe -cp . test
pds.length = 4
[0]: getter = public final native java.lang.Class java.lang.Object.getClass(), setter = null
[1]: getter = public int Example.getI(), setter = public void Example.setI(int)
[2]: getter = public int Example.getInt(), setter = null
[3]: getter = null, setter = public void Example.setVal(float)


> [classlib][beans] no IntrospectionException for PropertyDescriptor("a", Class.class)
> ------------------------------------------------------------------------------------
>
>                 Key: HARMONY-1435
>                 URL: http://issues.apache.org/jira/browse/HARMONY-1435
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>            Reporter: Vladimir Ivanov
>         Assigned To: Stepan Mishura
>         Attachments: PropertyDescriptor.patch
>
>
> The spec says for java.beans.PropertyDescriptor(String propertyName, Class<?> beanClass):
"Constructs a PropertyDescriptor for a property that follows the standard Java convention
by having getFoo and setFoo accessor methods". The RI checks convention while Harmony not.
> ====================== test.java ====================
> import java.beans.PropertyDescriptor;
> public class test {
>     public static void main(String[] args) throws Exception {
>         System.out.println("res = " + new PropertyDescriptor("a", Class.class));
>     }
> }
> =================================================
> Output:
> C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -showversion test
> java version "1.5.0"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
> BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System
optimized over throughput (initial strategy singleparpar))
> java.beans.IntrospectionException: Method not found: isA
>         at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:89)
>         at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:53)
>         at test.main(test.java:5)
> C:\tmp\tmp17>C:\harmony\classlib1.5\deploy\jdk\jre\bin\java.exe -cp . test
> res = java.beans.PropertyDescriptor@56a656a6
> C:\tmp\tmp17>C:\harmony\drlvm1.5\build\win_ia32_msvc_debug\deploy\jre\bin\java -Dvm.assert_dialog=false
-cp . -showversion test
> Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundation or
its licensors, as applicable.
> java version "1.5.0"
> pre-alpha : not complete or compatible
> svn = r442078, (Sep 11 2006), Windows/ia32/msvc 1310, debug build
> http://incubator.apache.org/harmony
> res = java.beans.PropertyDescriptor@6c

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message