User: juhalindfors
  Date: 02/01/12 12:10:53

  Modified:    src/main/org/jboss/mx/server MBeanInvoker.java
                        MBeanServerImpl.java StandardMBeanInvoker.java
  Log:
  
  
  Revision  Changes    Path
  1.3       +7 -3      jmx/src/main/org/jboss/mx/server/MBeanInvoker.java
  
  Index: MBeanInvoker.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/org/jboss/mx/server/MBeanInvoker.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- MBeanInvoker.java 2001/12/15 01:12:38     1.2
  +++ MBeanInvoker.java 2002/01/12 20:10:53     1.3
  @@ -42,18 +42,22 @@
    *
    *
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Juha Lindfors</a>.
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.3 $
    *   
    */
   public abstract class MBeanInvoker
      implements DynamicMBean
   {
  -
      // Attributes ----------------------------------------------------
      protected Interceptor stack = null;
  +   protected Object resource = null;
      
      // Public --------------------------------------------------------   
  -
  +   public Object getResource() 
  +   {
  +      return resource;
  +   }
  +   
      // DynamicMBean implementation -----------------------------------
      public Object invoke(String operationName, Object[] args, String[] signature) 
throws MBeanException, ReflectionException
      {
  
  
  
  1.7       +37 -28    jmx/src/main/org/jboss/mx/server/MBeanServerImpl.java
  
  Index: MBeanServerImpl.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/org/jboss/mx/server/MBeanServerImpl.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- MBeanServerImpl.java      2002/01/03 04:00:53     1.6
  +++ MBeanServerImpl.java      2002/01/12 20:10:53     1.7
  @@ -1,7 +1,9 @@
   /*
  - * LGPL
  + * JBoss, the OpenSource J2EE webOS
  + *
  + * Distributable under LGPL license.
  + * See terms of license at gnu.org.
    */
  -
   package org.jboss.mx.server;
   
   import javax.management.InstanceNotFoundException;
  @@ -47,6 +49,14 @@
   import org.jboss.mx.server.registry.MBeanRegistry;
   import org.jboss.mx.server.registry.MBeanEntry;
   
  +
  +/**
  + *
  + * @see javax.management.MBeanServer
  + *
  + * @author  <a href="mailto:[EMAIL PROTECTED]";>Juha Lindfors</a>.
  + * @version $Revision: 1.7 $  
  + */
   public class MBeanServerImpl implements MBeanServer
   {
      public final static String MBEAN_SERVER_DELEGATE = 
"JMImplementation:type=MBeanServerDelegate";
  @@ -114,7 +124,7 @@
      {
         try
         {
  -         ClassLoader loader = (ClassLoader)registry.get(loaderName).getInstance();
  +         ClassLoader loader = 
(ClassLoader)registry.get(loaderName).getResourceInstance();
   
            if (loader == null)
               loader = this.getClass().getClassLoader();
  @@ -195,7 +205,7 @@
      {
         try
         {
  -         ClassLoader cl = (ClassLoader)registry.get(loaderName).getInstance();
  +         ClassLoader cl = 
(ClassLoader)registry.get(loaderName).getResourceInstance();
   
            if (cl == null)
               cl = this.getClass().getClassLoader();
  @@ -280,10 +290,6 @@
      public ObjectInstance registerMBean(Object object, ObjectName name)
      throws InstanceAlreadyExistsException, MBeanRegistrationException, 
NotCompliantMBeanException
      {
  -
  -      if (isRegistered(name))
  -         throw new InstanceAlreadyExistsException("MBean " + name + " already 
registered.");
  -
         MBeanRegistration registrationInterface = null;
         MBeanEntry entry = null;
         boolean registrationDone = true;
  @@ -297,10 +303,10 @@
   
         if (object instanceof MBeanRegistration)
         {
  -         MBeanRegistration reg = (MBeanRegistration)object;
  +         registrationInterface = (MBeanRegistration)object;
            try
            {
  -            ObjectName mbeanName = reg.preRegister(this, name);
  +            ObjectName mbeanName = registrationInterface.preRegister(this, name);
               if (name == null)
                  name = mbeanName;
            }
  @@ -310,11 +316,14 @@
            }
         }
   
  -      if (name == null)
  -         throw new RuntimeOperationsException(new NullPointerException("null object 
name"));
  -
         if (registrationDone)
         {
  +         if (isRegistered(name))
  +         {
  +            registrationInterface.postRegister(new Boolean(false));
  +            throw new InstanceAlreadyExistsException("MBean " + name + " already 
registered.");
  +         }
  +
            if (getMBeanType(object) == STANDARD_MBEAN)
            {
               try
  @@ -326,8 +335,9 @@
                  throw new MBeanRegistrationException(e.getTargetException(), 
"Registration of MBean '" + name + "' failed: " + e.getTargetException().toString());
               }
            }
  +
            else if (object instanceof DynamicMBean)
  -            entry = new MBeanEntry(name, object);
  +            entry = new MBeanEntry(name, (DynamicMBean)object);
            else
               throw new NotCompliantMBeanException(object + " is not compliant MBean 
(does not implement Standard or Dynamic MBean interface).");
   
  @@ -348,17 +358,18 @@
            registrationInterface.postRegister(new Boolean(registrationDone));
   
   
  -      return (registrationDone) ? new ObjectInstance(name, entry.getClassName())
  +      return (registrationDone)
  +             ? new ObjectInstance(name, entry.getResourceClassName())
                : null;
      }
   
      public void unregisterMBean(ObjectName name) throws InstanceNotFoundException, 
MBeanRegistrationException
      {
  -      Object mbean = registry.get(name).getInstance();
  +      // FIXME: security for unregister (mbean delegate)
  +      Object mbean = registry.get(name).getResourceInstance();
         MBeanRegistration registrationInterface = null;
         boolean unregisterSuccessful = true;
   
  -      // FIXME: need to fix this for standard mbean
         if (mbean instanceof MBeanRegistration)
         {
            registrationInterface = (MBeanRegistration)mbean;
  @@ -394,8 +405,7 @@
         if (!isRegistered(name))
            throw new InstanceNotFoundException(name + " not registered.");
   
  -      // FIXME: check for std
  -      return new ObjectInstance(name, registry.get(name).getClassName());
  +      return new ObjectInstance(name, registry.get(name).getResourceClassName());
      }
   
      public java.util.Set queryMBeans(ObjectName name, QueryExp query)
  @@ -463,10 +473,9 @@
      {
   
         // FIXME: need to set source on outgoing notifications
  -      // FIXME: standard's instance
         try
         {
  -         NotificationBroadcaster broadcaster = 
(NotificationBroadcaster)registry.get(name).getInstance();
  +         NotificationBroadcaster broadcaster = 
(NotificationBroadcaster)registry.get(name).getResourceInstance();
            broadcaster.addNotificationListener(listener, filter, handback);
         }
         catch (ClassCastException e)
  @@ -480,8 +489,8 @@
      {
         try
         {
  -         NotificationBroadcaster broadcaster = 
(NotificationBroadcaster)registry.get(name).getInstance();
  -         
broadcaster.addNotificationListener((NotificationListener)registry.get(listener).getInstance(),
 filter, handback);
  +         NotificationBroadcaster broadcaster = 
(NotificationBroadcaster)registry.get(name).getResourceInstance();
  +         
broadcaster.addNotificationListener((NotificationListener)registry.get(listener).getResourceInstance(),
 filter, handback);
         }
         catch (ClassCastException e)
         {
  @@ -494,7 +503,7 @@
      {
         try
         {
  -         NotificationBroadcaster broadcaster = 
(NotificationBroadcaster)registry.get(name).getInstance();
  +         NotificationBroadcaster broadcaster = 
(NotificationBroadcaster)registry.get(name).getResourceInstance();
            broadcaster.removeNotificationListener(listener);
         }
         catch (ClassCastException e)
  @@ -508,8 +517,8 @@
      {
         try
         {
  -         NotificationBroadcaster broadcaster = 
(NotificationBroadcaster)registry.get(name).getInstance();
  -         
broadcaster.removeNotificationListener((NotificationListener)registry.get(listener).getInstance());
  +         NotificationBroadcaster broadcaster = 
(NotificationBroadcaster)registry.get(name).getResourceInstance();
  +         
broadcaster.removeNotificationListener((NotificationListener)registry.get(listener).getResourceInstance());
         }
         catch (ClassCastException e)
         {
  @@ -531,7 +540,7 @@
      {
         try
         {
  -         ClassLoader cl = 
registry.get(name).getInstance().getClass().getClassLoader();
  +         ClassLoader cl = 
registry.get(name).getResourceInstance().getClass().getClassLoader();
            return new ObjectInputStreamWithClassLoader(new 
ByteArrayInputStream(data), cl);
         }
         catch (IOException e)
  @@ -563,7 +572,7 @@
      {
         try
         {
  -         ClassLoader cl = (ClassLoader)registry.get(loaderName).getInstance();
  +         ClassLoader cl = 
(ClassLoader)registry.get(loaderName).getResourceInstance();
            return new ObjectInputStreamWithClassLoader(new 
ByteArrayInputStream(data), cl);
         }
         catch (IOException e)
  
  
  
  1.2       +2 -3      jmx/src/main/org/jboss/mx/server/StandardMBeanInvoker.java
  
  Index: StandardMBeanInvoker.java
  ===================================================================
  RCS file: /cvsroot/jboss/jmx/src/main/org/jboss/mx/server/StandardMBeanInvoker.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StandardMBeanInvoker.java 2001/12/12 23:53:23     1.1
  +++ StandardMBeanInvoker.java 2002/01/12 20:10:53     1.2
  @@ -43,7 +43,7 @@
    * @see org.jboss.mx.interceptor.StandardMBeanInterceptor
    *
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Juha Lindfors</a>.
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.2 $
    *   
    */
   public class StandardMBeanInvoker
  @@ -52,12 +52,11 @@
   
      // Attributes ----------------------------------------------------
      private MBeanInfo info  = null;
  -   private Object resource = null;
   
      // Constructors --------------------------------------------------
      public StandardMBeanInvoker(Object resource) throws NotCompliantMBeanException, 
ReflectionException
      {
  -      this.resource = resource;
  +      super.resource = resource;
         this.info = new StandardMetaData(resource).build();
   
         Interceptor security = new SecurityInterceptor();
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to