RFR: 7148497: javax.management.MBeanAttributeInfo.hashCode throws NullPointerException

Frederic Parain frederic.parain at oracle.com
Tue Apr 10 06:50:14 PDT 2012


Greetings,

This is a request for review for CR
7148497: javax.management.MBeanAttributeInfo.hashCode throws 
NullPointerException
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7148497

Even if the initial CR only refers to MBeanAttributeInfo.hashCode(),
the problem is not limited to the MBeanAttributeInfo.hashCode(), but is 
common to all javax.management.MBean*Info classes: MBeanAttributeInfo, 
MBeanConstructorInfo, MBeanFeatureInfo, MBeanInfo, 
MBeanNotificationInfo, MBeanOperationInfo and MBeanParameterInfo.

The root cause of the problem is that these classes can be instantiated 
with some null fields (mainly, but not limited to, the name and type 
fields), and these fields are dereferenced unconditionally in some 
methods. Unconditional dereferencing is used in the hashCode method but 
also in the equals() method.

The proposed fix improves implementation of equals() and hashCode()
method to handle cases where some fields are null without throwing
a NPE.

Webrev:
http://cr.openjdk.java.net/~fparain/7148497/webrev.00/

Thanks,

Fred

-- 
Frederic Parain - Oracle
Grenoble Engineering Center - France
Phone: +33 4 76 18 81 17
Email: Frederic.Parain at oracle.com



More information about the serviceability-dev mailing list