JDK-4948761 : REGRESSION 1.5: Introspector.getBeanInfo throws NPE if a primitive type is pass
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.beans
  • Affected Version: 1.4.2_06,5.0
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS:
    linux,solaris_9,windows_2000,windows_xp linux,solaris_9,windows_2000,windows_xp
  • CPU: x86,sparc
  • Submitted: 2003-11-04
  • Updated: 2004-11-03
  • Resolved: 2003-11-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.4.2_06 06Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Description
###@###.### 2003-11-04

J2SE Version (please include all output from java -version flag):
  java version "1.5.0-beta"
  Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta-b26)
  Java HotSpot(TM) Client VM (build 1.5.0-beta-b26, mixed mode)

Does this problem occur on J2SE 1.4 or 1.4.1 or 1.4.2?  Yes / No (pick one)
 No, works fine with 1.4.2 and 1.5 build 14.

Operating System Configuration Information (be specific):
 Windows XP SP1

Hardware Configuration Information (be specific):
 512 Mb RAM, 1.3 Ghz processor

Bug Description:
  java.beans.Introspector.getBeanInfo(class) throws a NullPointerException if a    primitive type is passed in.

Steps to Reproduce (be specific):

import java.beans.*;

public class BeanIntroTest
{
        public static void main(String[] args) throws Exception
        {
                BeanInfo beanInfo = Introspector.getBeanInfo(short.class);      
                System.out.println("Found "+beanInfo.getPropertyDescriptors().length+" properties");
        }
}


The above will output "Found 0 properties" in 1.4.2, but will throw a NullPointerException in 1.5.
###@###.### 10/8/04 14:04 GMT

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: 1.4.2_06 tiger-beta FIXED IN: 1.4.2_06 tiger-beta INTEGRATED IN: 1.4.2_06 tiger-b30 tiger-beta
29-09-2004

EVALUATION Exception in thread "main" java.lang.NullPointerException at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:591) at java.beans.Introspector.getBeanInfo(Introspector.java:380) at java.beans.Introspector.getBeanInfo(Introspector.java:152) at PrimitiveTest.main(PrimitiveTest.java:10) In 1.4.2, the data structure which holds the properties was created when the Introspector instance was created. In 1.5.0, this structure is lazily created. Since primitive types does not have any properties, this data structure is never created but it is referenced in getTargetPropertyInfo(). Not a difficult fix. Commit to tiger ###@###.### 2003-11-11
11-11-2003

SUGGESTED FIX check properties == null in getTargetPropertyInfo before allocating property descriptors array. ###@###.### 2003-11-11
11-11-2003