You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by bh...@apache.org on 2007/04/23 15:13:36 UTC

svn commit: r531458 - /incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java

Author: bhupendrab
Date: Mon Apr 23 06:13:28 2007
New Revision: 531458

URL: http://svn.apache.org/viewvc?view=rev&rev=531458
Log:
QPID-445 : Fixed the ClassCastException

Modified:
    incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java

Modified: incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java?view=diff&rev=531458&r1=531457&r2=531458
==============================================================================
--- incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java (original)
+++ incubator/qpid/branches/M2/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java Mon Apr 23 06:13:28 2007
@@ -17,8 +17,7 @@
  */
 package org.apache.qpid.server.management;
 
-import org.apache.qpid.AMQException;
-import org.apache.qpid.server.security.access.AMQUserManagementMBean;
+import org.apache.qpid.server.security.access.UserManagement;
 import org.apache.log4j.Logger;
 
 import javax.management.remote.MBeanServerForwarder;
@@ -37,12 +36,6 @@
 import java.security.AccessControlContext;
 import java.util.Set;
 import java.util.Properties;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.ConcurrentHashMap;
-import java.io.File;
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.FileInputStream;
 
 /**
  * This class can be used by the JMXConnectorServer as an InvocationHandler for the mbean operations. This implements
@@ -110,6 +103,7 @@
         // Restrict access to "createMBean" and "unregisterMBean" to any user
         if (methodName.equals("createMBean") || methodName.equals("unregisterMBean"))
         {
+            _logger.debug("User trying to create or unregister an MBean");
             throw new SecurityException("Access denied");
         }
 
@@ -155,29 +149,12 @@
     {
         if (args[0] instanceof ObjectName)
         {
-            String mbeanMethod = (args.length > 1) ? (String) args[1] : null;
-            if (mbeanMethod == null)
+            if (args[0] instanceof ObjectName)
             {
-                if (args[0] instanceof ObjectName)
-                {
-                    ObjectName object = (ObjectName) args[0];
-                    return object.getCanonicalName().contains("UserManagement");
-                }
-                else
-                {
-                    return false;
-                }
+                ObjectName object = (ObjectName) args[0];
+                return UserManagement.TYPE.equals(object.getKeyProperty("type"));
             }
-
-            try
-            {
-                MBeanInfo mbeanInfo = mbs.getMBeanInfo((ObjectName) args[0]);
-                if (mbeanInfo != null)
-                {
-                    return mbeanInfo.getClassName().equals("org.apache.qpid.server.security.access.AMQUserManagementMBean");
-                }
-            }
-            catch (JMException ex)
+            else
             {
                 return false;
             }