User: schaefera
  Date: 01/11/27 22:33:38

  Modified:    src/main/org/jboss/management/j2ee EJB.java EjbModule.java
                        J2EEApplication.java J2EEResource.java
                        J2EEServer.java JNDI.java
  Added:       src/main/org/jboss/management/j2ee JNDIMBean.java
  Log:
  Added the first J2EE Resource (JNDI) to the JSR-77 implementation. Also
  the first component implementing the StateManageable interface (not
  100% implemented yet).
  
  Revision  Changes    Path
  1.4       +2 -4      jboss/src/main/org/jboss/management/j2ee/EJB.java
  
  Index: EJB.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/management/j2ee/EJB.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- EJB.java  2001/11/28 01:15:08     1.3
  +++ EJB.java  2001/11/28 06:33:37     1.4
  @@ -19,7 +19,7 @@
    * {@link javax.management.j2ee.EJB EJB}.
    *
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Andreas Schaefer</a>.
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
    *   
    * <p><b>Revisions:</b>
    *
  @@ -98,9 +98,7 @@
         super( pType, pName, pEJBModule );
      }
   
  -   // -------------------------------------------------------------------------
  -   // Properties (Getters/Setters)
  -   // -------------------------------------------------------------------------  
  +   // java.lang.Object overrides --------------------------------------
   
      public String toString() {
         return "EJB { " + super.toString() + " } []";
  
  
  
  1.7       +1 -7      jboss/src/main/org/jboss/management/j2ee/EjbModule.java
  
  Index: EjbModule.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/management/j2ee/EjbModule.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- EjbModule.java    2001/11/28 01:15:08     1.6
  +++ EjbModule.java    2001/11/28 06:33:37     1.7
  @@ -29,7 +29,7 @@
    * {@link javax.management.j2ee.EjbModule EjbModule}.
    *
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Andreas Schaefer</a>.
  - * @version $Revision: 1.6 $
  + * @version $Revision: 1.7 $
    *   
    * <p><b>Revisions:</b>
    *
  @@ -132,12 +132,6 @@
            InvalidParentException
      {
         super( "EJBModule", pName, pApplication, pDeploymentDescriptor );
  -/*
  -      if( pEJBs == null || pEJBs.length == 0 ) {
  -         throw new InvalidParameterException( "EJB list may not be null or empty" );
  -      }
  -      mEJBs = new ArrayList( Arrays.asList( pEJBs ) );
  -*/
      }
   
      // Public --------------------------------------------------------
  
  
  
  1.6       +1 -2      jboss/src/main/org/jboss/management/j2ee/J2EEApplication.java
  
  Index: J2EEApplication.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/management/j2ee/J2EEApplication.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- J2EEApplication.java      2001/11/28 01:15:08     1.5
  +++ J2EEApplication.java      2001/11/28 06:33:37     1.6
  @@ -24,7 +24,7 @@
    * {@link javax.management.j2ee.J2EEApplication J2EEApplication}.
    *
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Andreas Schaefer</a>.
  - * @version $Revision: 1.5 $
  + * @version $Revision: 1.6 $
    *   
    * <p><b>Revisions:</b>
    *
  @@ -38,7 +38,6 @@
      extends J2EEDeployedObject
      implements J2EEApplicationMBean
   {
  -
      // Constants -----------------------------------------------------
      
      // Attributes ----------------------------------------------------
  
  
  
  1.4       +19 -12    jboss/src/main/org/jboss/management/j2ee/J2EEResource.java
  
  Index: J2EEResource.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/management/j2ee/J2EEResource.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- J2EEResource.java 2001/11/27 06:15:26     1.3
  +++ J2EEResource.java 2001/11/28 06:33:37     1.4
  @@ -14,7 +14,7 @@
    * {@link javax.management.j2ee.J2EEResource J2EEResource}.
    *
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Andreas Schaefer</a>.
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
    *   
    * <p><b>Revisions:</b>
    *
  @@ -27,14 +27,14 @@
      extends J2EEManagedObject
      implements javax.management.j2ee.J2EEResource
   {
  -   // -------------------------------------------------------------------------
  -   // Members
  -   // -------------------------------------------------------------------------  
  -
  -   // -------------------------------------------------------------------------
  -   // Constructors
  -   // -------------------------------------------------------------------------
  -
  +   // Constants -----------------------------------------------------
  +   
  +   // Attributes ----------------------------------------------------
  +   
  +   // Static --------------------------------------------------------
  +   
  +   // Constructor ---------------------------------------------------
  +   
      /**
       * @param pName Name of the J2EEResource
       *
  @@ -47,9 +47,16 @@
      {
         super( pType, pName, pServer );
      }
  -
  -   // -------------------------------------------------------------------------
  -   // Properties (Getters/Setters)
  -   // -------------------------------------------------------------------------  
   
  +   // Z implementation ----------------------------------------------
  +   
  +   // Y overrides ---------------------------------------------------
  +   
  +   // Package protected ---------------------------------------------
  +   
  +   // Protected -----------------------------------------------------
  +   
  +   // Private -------------------------------------------------------
  +   
  +   // Inner classes -------------------------------------------------
   }
  
  
  
  1.5       +19 -3     jboss/src/main/org/jboss/management/j2ee/J2EEServer.java
  
  Index: J2EEServer.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/management/j2ee/J2EEServer.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- J2EEServer.java   2001/11/26 21:46:51     1.4
  +++ J2EEServer.java   2001/11/28 06:33:37     1.5
  @@ -19,7 +19,7 @@
    * J2EEServer}.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Andreas Schaefer</a>
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.5 $
    *   
    * <p><b>Revisions:</b>
    *
  @@ -118,7 +118,15 @@
            mNodes.add( pChild );
         } else if( "JVM".equals( lType ) ) {
            mJVMs.add( pChild );
  -      } else if( "Resource".equals( lType ) ) {
  +      } else
  +      if( "JNDI".equals( lType ) ||
  +         "JMS".equals( lType ) ||
  +         "URL".equals( lType ) ||
  +         "JTA".equals( lType ) ||
  +         "JavaMail".equals( lType ) ||
  +         "JDBC".equals( lType ) ||
  +         "RMI IIOP".equals( lType )
  +      ) {
            mResources.add( pChild );
         }
      }
  @@ -131,7 +139,15 @@
            mNodes.remove( pChild );
         } else if( "JVM".equals( lType ) ) {
            mJVMs.remove( pChild );
  -      } else if( "Resource".equals( lType ) ) {
  +      } else
  +      if( "JNDI".equals( lType ) ||
  +         "JMS".equals( lType ) ||
  +         "URL".equals( lType ) ||
  +         "JTA".equals( lType ) ||
  +         "JavaMail".equals( lType ) ||
  +         "JDBC".equals( lType ) ||
  +         "RMI IIOP".equals( lType )
  +      ) {
            mResources.remove( pChild );
         }
      }
  
  
  
  1.4       +118 -15   jboss/src/main/org/jboss/management/j2ee/JNDI.java
  
  Index: JNDI.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/management/j2ee/JNDI.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JNDI.java 2001/11/27 06:15:26     1.3
  +++ JNDI.java 2001/11/28 06:33:37     1.4
  @@ -7,14 +7,17 @@
   package org.jboss.management.j2ee;
   
   import javax.management.MalformedObjectNameException;
  +import javax.management.MBeanServer;
   import javax.management.ObjectName;
   
  +import org.jboss.logging.Logger;
  +
   /**
    * Root class of the JBoss JSR-77 implementation of
    * {@link javax.management.j2ee.JNDI JNDI}.
    *
    * @author  <a href="mailto:[EMAIL PROTECTED]";>Andreas Schaefer</a>.
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.4 $
    *   
    * <p><b>Revisions:</b>
    *
  @@ -25,16 +28,79 @@
    **/
   public class JNDI
      extends J2EEResource
  -   implements javax.management.j2ee.JNDI
  +   implements JNDIMBean
   {
  -   // -------------------------------------------------------------------------
  -   // Members
  -   // -------------------------------------------------------------------------  
  -
  -   // -------------------------------------------------------------------------
  -   // Constructors
  -   // -------------------------------------------------------------------------
  -
  +   // Constants -----------------------------------------------------
  +   
  +   // Attributes ----------------------------------------------------
  +   
  +   // Static --------------------------------------------------------
  +   
  +   private static final String[] sTypes = new String[] {
  +                                             "j2ee.object.created",
  +                                             "j2ee.object.deleted",
  +                                             "state.starting",
  +                                             "state.running",
  +                                             "state.stopping",
  +                                             "state.stopped",
  +                                             "state.failed"
  +                                          };
  +   
  +   public static ObjectName create( MBeanServer pServer, String pName ) {
  +      Logger lLog = Logger.getLogger( JNDI.class );
  +      ObjectName lServer = null;
  +      try {
  +         lServer = (ObjectName) pServer.queryNames(
  +             new ObjectName( J2EEManagedObject.getDomainName() + 
":type=J2EEServer,*" ),
  +             null
  +         ).iterator().next();
  +      }
  +      catch( Exception e ) {
  +         lLog.error( "Could not create JSR-77 JNDI: " + pName, e );
  +         return null;
  +      }
  +      try {
  +         // Now create the J2EEApplication
  +         return pServer.createMBean(
  +            "org.jboss.management.j2ee.JNDI",
  +            null,
  +            new Object[] {
  +               pName,
  +               lServer
  +            },
  +            new String[] {
  +               String.class.getName(),
  +               ObjectName.class.getName()
  +            }
  +         ).getObjectName();
  +      }
  +      catch( Exception e ) {
  +         lLog.error( "Could not create JSR-77 JNDI: " + pName, e );
  +         return null;
  +      }
  +   }
  +   
  +   public static void destroy( MBeanServer pServer, String pName ) {
  +      Logger lLog = Logger.getLogger( JNDI.class );
  +      try {
  +         // Find the Object to be destroyed
  +         ObjectName lSearch = new ObjectName(
  +            J2EEManagedObject.getDomainName() + ":type=JNDI,name=" + pName + ",*"
  +         );
  +         ObjectName lJNDI = (ObjectName) pServer.queryNames(
  +            lSearch,
  +            null
  +         ).iterator().next();
  +         // Now remove the J2EEApplication
  +         pServer.unregisterMBean( lJNDI );
  +      }
  +      catch( Exception e ) {
  +         lLog.error( "Could not destroy JSR-77 JNDI: " + pName, e );
  +      }
  +   }
  +   
  +   // Constructors --------------------------------------------------
  +   
      /**
       * @param pName Name of the JNDI
       *
  @@ -47,15 +113,52 @@
      {
         super( "JNDI", pName, pServer );
      }
  +   
  +   // javax.managment.j2ee.EventProvider implementation -------------
  +   
  +   public String[] getTypes() {
  +      return sTypes;
  +   }
  +   
  +   public String getType( int pIndex ) {
  +      if( pIndex >= 0 && pIndex < sTypes.length ) {
  +         return sTypes[ pIndex ];
  +      } else {
  +         return null;
  +      }
  +   }
  +   
  +   // javax.management.j2ee.StateManageable implementation ----------
  +   
  +   public long getStartTime() {
  +      return 0;
  +   }
  +   
  +   public int getState() {
  +      return 0;
  +   }
  +
  +   public void start() {
  +   }
   
  -   // -------------------------------------------------------------------------
  -   // Properties (Getters/Setters)
  -   // -------------------------------------------------------------------------  
  +   public void startRecursive() {
  +   }
   
  +   public void stop() {
  +   }
  +   
  +   // java.lang.Object overrides ------------------------------------
  +   
      public String toString() {
  -      return "JNDI [ " +
  -// AS Later on must be set on again
  -//         "name: " + getName() +
  +      return "JNDI { " + super.toString() + " } [ " +
            " ]";
      }
  +   
  +   // Package protected ---------------------------------------------
  +   
  +   // Protected -----------------------------------------------------
  +   
  +   // Private -------------------------------------------------------
  +   
  +   // Inner classes -------------------------------------------------
   }
  
  
  
  1.1                  jboss/src/main/org/jboss/management/j2ee/JNDIMBean.java
  
  Index: JNDIMBean.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  package org.jboss.management.j2ee;
  
  import javax.management.j2ee.JNDI;
  import javax.management.j2ee.StateManageable;
  
  /**
   * MBean Mangement Inteface for {@link org.jboss.management.j2ee.JNDI
   * JNDI}.
   *
   * @author  <a href="mailto:[EMAIL PROTECTED]";>Andreas Schaefer</a>.
   * @version $Revision: 1.1 $
   *   
   * <p><b>Revisions:</b>
   *
   * <p><b>20011126 Andreas Schaefer:</b>
   * <ul>
   * <li> Creation
   * </ul>
   **/
  public interface JNDIMBean
     extends JNDI, StateManageable
  {
  }
  
  
  

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

Reply via email to