mx4j/src/core/mx4j/server MX4JMBeanServer.java,1.27,1.28
Jeremy Boynes <[email protected]> Sun, 13 Feb 2005 19:54:25 +0000
| Newsgroups | gmane.comp.java.mx4j.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/mx4j/mx4j/src/core/mx4j/server
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23026/src/core/mx4j/server
Modified Files:
MX4JMBeanServer.java
Log Message:
Fix for [ 1121919 ] MBS.isInstanceOf needs to check assignability
Index: MX4JMBeanServer.java
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/core/mx4j/server/MX4JMBeanServer.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -d -r1.27 -r1.28
*** MX4JMBeanServer.java 13 Feb 2005 19:45:58 -0000 1.27
--- MX4JMBeanServer.java 13 Feb 2005 19:54:23 -0000 1.28
***************
*** 54,60 ****
import javax.management.QueryExp;
import javax.management.ReflectionException;
- import javax.management.RuntimeErrorException;
import javax.management.RuntimeOperationsException;
- import javax.management.StandardMBean;
import javax.management.loading.ClassLoaderRepository;
import javax.management.loading.PrivateClassLoader;
--- 54,58 ----
***************
*** 1149,1158 ****
MBeanMetaData metadata = findMBeanMetaData(objectName);
SecurityManager sm = System.getSecurityManager();
if (sm != null)
{
! sm.checkPermission(new MBeanPermission(metadata.getMBeanInfo().getClassName(), "-", objectName, "isInstanceOf"));
}
try
--- 1147,1158 ----
MBeanMetaData metadata = findMBeanMetaData(objectName);
+ String infoClassName = metadata.getMBeanInfo().getClassName();
SecurityManager sm = System.getSecurityManager();
if (sm != null)
{
! sm.checkPermission(new MBeanPermission(infoClassName, "-", objectName, "isInstanceOf"));
}
+ if (className.equals(infoClassName)) return true;
try
***************
*** 1161,1175 ****
if (loader == null) loader = Thread.currentThread().getContextClassLoader();
Class cls = loader.loadClass(className);
!
! Object mbean = metadata.getMBean();
! if (mbean instanceof StandardMBean)
! {
! Object impl = ((StandardMBean)mbean).getImplementation();
! return cls.isInstance(impl);
! }
! else
! {
! return cls.isInstance(mbean);
! }
}
catch (ClassNotFoundException x)
--- 1161,1166 ----
if (loader == null) loader = Thread.currentThread().getContextClassLoader();
Class cls = loader.loadClass(className);
! Class infoClass = loader.loadClass(infoClassName);
! return cls.isAssignableFrom(infoClass);
}
catch (ClassNotFoundException x)
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click