diff options
author | gary <gary@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-15 14:42:23 +0000 |
---|---|---|
committer | gary <gary@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-15 14:42:23 +0000 |
commit | 26302631c5a3085ae1afd3591fae527c0a02829f (patch) | |
tree | 1dc69dc91ab2e6bc77def8d3e640ba6689bde95c /libjava/classpath/gnu | |
parent | 46d44af37405293cb59ab5e7903fe4907380d3db (diff) | |
download | ppe42-gcc-26302631c5a3085ae1afd3591fae527c0a02829f.tar.gz ppe42-gcc-26302631c5a3085ae1afd3591fae527c0a02829f.zip |
2007-02-15 Gary Benson <gbenson@redhat.com>
* gnu/javax/management/Server.java
(registerMBean): Always register objects that implement the
MBeanRegistration interface, and check the name returned by
preRegister before using it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121995 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/gnu')
-rw-r--r-- | libjava/classpath/gnu/javax/management/Server.java | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/libjava/classpath/gnu/javax/management/Server.java b/libjava/classpath/gnu/javax/management/Server.java index 5501b4af7c0..aa39c75ad46 100644 --- a/libjava/classpath/gnu/javax/management/Server.java +++ b/libjava/classpath/gnu/javax/management/Server.java @@ -1657,19 +1657,27 @@ public class Server MBeanRegistration register = null; if (obj instanceof MBeanRegistration) register = (MBeanRegistration) obj; - if (name == null) + if (name == null && register == null) + { + RuntimeException e = + new IllegalArgumentException("The name was null and " + + "the bean does not implement " + + "MBeanRegistration."); + throw new RuntimeOperationsException(e); + } + if (register != null) { - if (register == null) - { - RuntimeException e = - new IllegalArgumentException("The name was null and " + - "the bean does not implement " + - "MBeanRegistration."); - throw new RuntimeOperationsException(e); - } try { - name = register.preRegister(this, null); + name = register.preRegister(this, name); + if (name == null) + { + RuntimeException e = + new NullPointerException("The name returned by " + + "MBeanRegistration.preRegister() " + + "was null"); + throw e; + } if (sm != null) sm.checkPermission(new MBeanPermission(className, null, name, "registerMBean")); |