6783290: MBeanInfo/MBeanFeatureInfo has inconsistent readObject/writeObject

Call readObject in all cases

Reviewed-by: emcmanus
This commit is contained in:
Jaroslav Bachorik 2012-12-20 16:02:42 +04:00 committed by Dmitry Samersoff
parent 059b2b67b3
commit 28979bd7a2
2 changed files with 8 additions and 12 deletions

View File

@ -239,12 +239,10 @@ public class MBeanFeatureInfo implements Serializable, DescriptorRead {
case 1: case 1:
final String[] names = (String[])in.readObject(); final String[] names = (String[])in.readObject();
if (names.length == 0) {
descriptor = ImmutableDescriptor.EMPTY_DESCRIPTOR;
} else {
final Object[] values = (Object[]) in.readObject(); final Object[] values = (Object[]) in.readObject();
descriptor = new ImmutableDescriptor(names, values); descriptor = (names.length == 0) ?
} ImmutableDescriptor.EMPTY_DESCRIPTOR :
new ImmutableDescriptor(names, values);
break; break;
case 0: case 0:

View File

@ -704,12 +704,10 @@ public class MBeanInfo implements Cloneable, Serializable, DescriptorRead {
case 1: case 1:
final String[] names = (String[])in.readObject(); final String[] names = (String[])in.readObject();
if (names.length == 0) {
descriptor = ImmutableDescriptor.EMPTY_DESCRIPTOR;
} else {
final Object[] values = (Object[]) in.readObject(); final Object[] values = (Object[]) in.readObject();
descriptor = new ImmutableDescriptor(names, values); descriptor = (names.length == 0) ?
} ImmutableDescriptor.EMPTY_DESCRIPTOR :
new ImmutableDescriptor(names, values);
break; break;
case 0: case 0: