aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/javax
diff options
context:
space:
mode:
authorEdwin Steiner <edwin.steiner@gmx.net>2007-02-16 19:19:11 +0000
committerTom Tromey <tromey@gcc.gnu.org>2007-02-16 19:19:11 +0000
commitd16c4b1a166ea5413487d3935c385ee82f560e81 (patch)
treee7ef2ef7632f57e6591696d549ab149a2dd28339 /libjava/classpath/javax
parentfa681e3960f7fc93b48e06bfb4131371a9e9b3ad (diff)
downloadgcc-d16c4b1a166ea5413487d3935c385ee82f560e81.zip
gcc-d16c4b1a166ea5413487d3935c385ee82f560e81.tar.gz
gcc-d16c4b1a166ea5413487d3935c385ee82f560e81.tar.bz2
re PR classpath/28652 (JBoss fails to start due class cast exception in the management classes)
2006-10-14 Edwin Steiner <edwin.steiner@gmx.net> PR classpath/28652: * javax/management/MBeanInfo.java (MBeanInfo): Use clone to duplicate the arrays in order to preserve the array type. From-SVN: r122050
Diffstat (limited to 'libjava/classpath/javax')
-rw-r--r--libjava/classpath/javax/management/MBeanInfo.java24
1 files changed, 8 insertions, 16 deletions
diff --git a/libjava/classpath/javax/management/MBeanInfo.java b/libjava/classpath/javax/management/MBeanInfo.java
index d30de04..64e627f 100644
--- a/libjava/classpath/javax/management/MBeanInfo.java
+++ b/libjava/classpath/javax/management/MBeanInfo.java
@@ -160,34 +160,26 @@ public class MBeanInfo
{
className = name;
description = desc;
+
if (attribs == null)
attributes = new MBeanAttributeInfo[0];
else
- {
- attributes = new MBeanAttributeInfo[attribs.length];
- System.arraycopy(attribs, 0, attributes, 0, attribs.length);
- }
+ attributes = (MBeanAttributeInfo[]) attribs.clone();
+
if (cons == null)
constructors = new MBeanConstructorInfo[0];
else
- {
- constructors = new MBeanConstructorInfo[cons.length];
- System.arraycopy(cons, 0, constructors, 0, cons.length);
- }
+ constructors = (MBeanConstructorInfo[]) cons.clone();
+
if (ops == null)
operations = new MBeanOperationInfo[0];
else
- {
- operations = new MBeanOperationInfo[ops.length];
- System.arraycopy(ops, 0, operations, 0, ops.length);
- }
+ operations = (MBeanOperationInfo[]) ops.clone();
+
if (notifs == null)
notifications = new MBeanNotificationInfo[0];
else
- {
- notifications = new MBeanNotificationInfo[notifs.length];
- System.arraycopy(notifs, 0, notifications, 0, notifs.length);
- }
+ notifications = (MBeanNotificationInfo[]) notifs.clone();
}
/**