[jboss-dev] JSR(2)77 was Re: [jboss-cvs] JBossAS SVN: r79824 - in trunk: management/src/main/org/jboss/management/j2ee and 5 other directories.

Adrian Brock abrock at redhat.com
Tue Oct 21 07:40:44 EDT 2008


Why are these deployers called JSR277 (java module system)
instead of JSR77 (management for javaee)? :-)

On Tue, 2008-10-21 at 07:59 -0400, jboss-cvs-commits at lists.jboss.org
wrote:
> Author: alesj
> Date: 2008-10-21 07:59:06 -0400 (Tue, 21 Oct 2008)
> New Revision: 79824
> 
> Added:
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractVFSJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/EarModuleJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/EjbModuleJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/JCAResourceJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/JMSResourceJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomain.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomainMBean.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/RarModuleJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/ServiceModuleJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/WebModuleJSR277Deployer.java
>    trunk/server/src/etc/deployers/jsr77-deployers-jboss-beans.xml
> Removed:
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractVFSJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/EarModuleJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/EjbModuleJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/JCAResourceJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/JMSResourceJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomain.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomainMBean.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/RarModuleJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/ServiceModuleJSR277Deployer.java
>    trunk/management/src/main/org/jboss/management/j2ee/deployers/WebModuleJSR277Deployer.java
> Modified:
>    trunk/management/build.xml
>    trunk/management/pom.xml
>    trunk/management/src/main/org/jboss/management/j2ee/WebModule.java
>    trunk/management/src/main/org/jboss/management/j2ee/factory/FactoryUtils.java
>    trunk/server/src/etc/conf/default/jboss-service.xml
>    trunk/testsuite/src/main/org/jboss/test/management/test/DeploymentDescriptorUnitTestCase.java
>    trunk/testsuite/src/main/org/jboss/test/management/test/JSR77SpecUnitTestCase.java
> Log:
> [JBAS-5545]; jsr77 initial impl.
> Still TODOs for the actual mbeans.
> 
> Modified: trunk/management/build.xml
> ===================================================================
> --- trunk/management/build.xml	2008-10-21 11:58:27 UTC (rev 79823)
> +++ trunk/management/build.xml	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -94,6 +94,10 @@
>        <path refid="jboss.jboss.javaee.classpath"/>
>        <path refid="jboss.metadata.classpath"/>
>        <path refid="jboss.microcontainer.classpath"/>
> +      <path refid="jboss.jboss.deployers.classpath"/>
> +      <path refid="jboss.jboss.vfs.classpath"/>
> +      <path refid="jboss.jboss.man.classpath"/>
> +      <path refid="jboss.jbossxb.classpath"/>
>        <path refid="sun.jaxb.classpath"/>
>      </path>
>  
> 
> Modified: trunk/management/pom.xml
> ===================================================================
> --- trunk/management/pom.xml	2008-10-21 11:58:27 UTC (rev 79823)
> +++ trunk/management/pom.xml	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -41,6 +41,10 @@
>    <dependencies>
>      <!-- Compile (global dependencies) -->
>      <dependency>
> +      <groupId>org.jboss.deployers</groupId>
> +      <artifactId>jboss-deployers-vfs</artifactId>
> +    </dependency>
> +    <dependency>
>        <groupId>org.jboss.jbossas</groupId>
>        <artifactId>jboss-as-server</artifactId>
>      </dependency>
> 
> Modified: trunk/management/src/main/org/jboss/management/j2ee/WebModule.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/WebModule.java	2008-10-21 11:58:27 UTC (rev 79823)
> +++ trunk/management/src/main/org/jboss/management/j2ee/WebModule.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -21,11 +21,6 @@
>   */
>  package org.jboss.management.j2ee;
>  
> -import org.jboss.logging.Logger;
> -
> -import javax.management.MBeanServer;
> -import javax.management.MalformedObjectNameException;
> -import javax.management.ObjectName;
>  import java.net.URL;
>  import java.util.ArrayList;
>  import java.util.HashMap;
> @@ -33,7 +28,12 @@
>  import java.util.List;
>  import java.util.Map;
>  import java.util.Set;
> +import javax.management.MBeanServer;
> +import javax.management.MalformedObjectNameException;
> +import javax.management.ObjectName;
>  
> +import org.jboss.logging.Logger;
> +
>  /**
>   * The JBoss JSR-77.3.16 implementation of the WebModule model
>   *
> @@ -155,7 +155,7 @@
>        }
>        catch (Exception e)
>        {
> -         log.debug("Could not create JSR-77 WebModule: " + warName, e);
> +         log.error("Could not create JSR-77 WebModule: " + warName, e);
>           return null;
>        }
>        return jsr77Name;
> 
> Copied: trunk/management/src/main/org/jboss/management/j2ee/deployers (from rev 79636, trunk/management/src/main/org/jboss/management/j2ee/deployers)
> 
> Deleted: trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractJSR277Deployer.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractJSR277Deployer.java	2008-10-17 13:48:39 UTC (rev 79636)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -1,186 +0,0 @@
> -/*
> -* JBoss, Home of Professional Open Source
> -* Copyright 2006, JBoss Inc., and individual contributors as indicated
> -* by the @authors tag. See the copyright.txt in the distribution for a
> -* full listing of individual contributors.
> -*
> -* This is free software; you can redistribute it and/or modify it
> -* under the terms of the GNU Lesser General Public License as
> -* published by the Free Software Foundation; either version 2.1 of
> -* the License, or (at your option) any later version.
> -*
> -* This software is distributed in the hope that it will be useful,
> -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> -* Lesser General Public License for more details.
> -*
> -* You should have received a copy of the GNU Lesser General Public
> -* License along with this software; if not, write to the Free
> -* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> -* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> -*/
> -package org.jboss.management.j2ee.deployers;
> -
> -import java.util.Collections;
> -import javax.management.MBeanServer;
> -import javax.management.ObjectName;
> -
> -import org.jboss.beans.metadata.api.annotations.Inject;
> -import org.jboss.deployers.spi.DeploymentException;
> -import org.jboss.deployers.spi.deployer.helpers.AbstractOptionalRealDeployer;
> -import org.jboss.deployers.structure.spi.DeploymentUnit;
> -import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> -
> -/**
> - * Abstract jsr77 deployer.
> - *
> - * @param <T> exact input type
> - * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> - */
> -public abstract class AbstractJSR277Deployer<T> extends AbstractOptionalRealDeployer<T>
> -{
> -   private boolean requiresVFSDeployment;
> -
> -   private MBeanServer server;
> -
> -   protected AbstractJSR277Deployer(Class<T> input)
> -   {
> -      super(input);
> -      setOutput(ObjectName.class);
> -      setDisableOptional(true);
> -   }
> -
> -   /**
> -    * Inject the mbean server.
> -    *
> -    * @param server the mbean server
> -    */
> -   @Inject(bean = "JMXKernel", property = "mbeanServer")
> -   public void setServer(MBeanServer server)
> -   {
> -      this.server = server;
> -   }
> -
> -   /**
> -    * Set the requires vfs flag.
> -    *
> -    * @param requiresVFSDeployment the requires vfs flag
> -    */
> -   public void setRequiresVFSDeployment(boolean requiresVFSDeployment)
> -   {
> -      this.requiresVFSDeployment = requiresVFSDeployment;
> -   }
> -
> -   /**
> -    * Deploy jsr77 view.
> -    *
> -    * @param server the mbean server
> -    * @param unit the deployment unit
> -    * @param metaData the metadata
> -    * @throws Throwable for any error
> -    */
> -   protected abstract void deployJsr77(MBeanServer server, DeploymentUnit unit, T metaData) throws Throwable;
> -
> -   /**
> -    * Undeploy jsr77 view.
> -    *
> -    * @param server the mbean server
> -    * @param unit the deployment unit
> -    * @param metaData the metadata
> -    */
> -   protected abstract void undeployJsr77(MBeanServer server, DeploymentUnit unit, T metaData);
> -
> -   /**
> -    * Put top level object name.
> -    *
> -    * @param unit the deployment unit
> -    * @param attachmentName the attachment name
> -    * @param name the object name
> -    */
> -   protected static void putObjectName(DeploymentUnit unit, String attachmentName, ObjectName name)
> -   {
> -      unit.addAttachment(attachmentName + "." + ObjectName.class.getSimpleName(), name, ObjectName.class);
> -   }
> -
> -   /**
> -    * Get object name from attachment.
> -    *
> -    * @param unit the deployment unit
> -    * @param attachmentName the attachment name
> -    * @return object name from attachment
> -    */
> -   protected static ObjectName getObjectName(DeploymentUnit unit, String attachmentName)
> -   {
> -      return unit.getAttachment(attachmentName + "." + ObjectName.class.getSimpleName(), ObjectName.class);
> -   }
> -
> -   /**
> -    * Remove object name from attachment.
> -    *
> -    * @param unit the deployment unit
> -    * @param attachmentName the attachment name
> -    * @return object name from attachment
> -    */
> -   protected static ObjectName removeObjectName(DeploymentUnit unit, String attachmentName)
> -   {
> -      return unit.removeAttachment(attachmentName + "." + ObjectName.class.getSimpleName(), ObjectName.class);
> -   }
> -
> -   /**
> -    * Extract root object name from parameters.
> -    *
> -    * @param server the mbean server
> -    * @param unit the deployment unit
> -    * @param metaData the metadata
> -    * @return root's object name
> -    * @throws IllegalArgumentException for any error
> -    */
> -   protected ObjectName extractRootObjectName(MBeanServer server, DeploymentUnit unit, T metaData)
> -   {
> -      try
> -      {
> -         // TODO - fake object name, this method should be made abstract!
> -         return new ObjectName("jboss.service:type=" + metaData.getClass().getSimpleName() + ",unit=" + unit.getSimpleName());
> -      }
> -      catch (Throwable t)
> -      {
> -         throw new IllegalArgumentException("Cannot extract root ObjectName.", t);
> -      }
> -   }
> -
> -   /**
> -    * Extract object names for components from parameters.
> -    *
> -    * @param server the mbean server
> -    * @param unit the deployment unit
> -    * @param metaData the metadata
> -    * @return root's object name
> -    * @throws IllegalArgumentException for any error
> -    */
> -   protected Iterable<ObjectName> extractComponentObjectNames(MBeanServer server, DeploymentUnit unit, T metaData)
> -   {
> -      // TODO - empty object names, this method should be made abstract!
> -      return Collections.emptySet();
> -   }
> -
> -   public void deploy(DeploymentUnit unit, T metaData) throws DeploymentException
> -   {
> -      if (server != null && unit instanceof VFSDeploymentUnit == requiresVFSDeployment)
> -      {
> -         try
> -         {
> -            deployJsr77(server, unit, metaData);
> -         }
> -         catch (Throwable t)
> -         {
> -            throw DeploymentException.rethrowAsDeploymentException("Cannot deploy jsr77.", t);
> -         }
> -      }
> -   }
> -
> -   public void undeploy(DeploymentUnit unit, T metaData)
> -   {
> -      if (server != null && unit instanceof VFSDeploymentUnit == requiresVFSDeployment)
> -         undeployJsr77(server, unit, metaData);
> -   }
> -}
> 
> Copied: trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractJSR277Deployer.java (from rev 79636, trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractJSR277Deployer.java)
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractJSR277Deployer.java	                        (rev 0)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -0,0 +1,191 @@
> +/*
> +* JBoss, Home of Professional Open Source
> +* Copyright 2006, JBoss Inc., and individual contributors as indicated
> +* by the @authors tag. See the copyright.txt in the distribution for a
> +* full listing of individual contributors.
> +*
> +* This is free software; you can redistribute it and/or modify it
> +* under the terms of the GNU Lesser General Public License as
> +* published by the Free Software Foundation; either version 2.1 of
> +* the License, or (at your option) any later version.
> +*
> +* This software is distributed in the hope that it will be useful,
> +* but WITHOUT ANY WARRANTY; without even the implied warranty of
> +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +* Lesser General Public License for more details.
> +*
> +* You should have received a copy of the GNU Lesser General Public
> +* License along with this software; if not, write to the Free
> +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> +* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> +*/
> +package org.jboss.management.j2ee.deployers;
> +
> +import java.util.Collections;
> +import javax.management.MBeanServer;
> +import javax.management.ObjectName;
> +
> +import org.jboss.beans.metadata.api.annotations.Inject;
> +import org.jboss.deployers.spi.DeploymentException;
> +import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
> +import org.jboss.deployers.structure.spi.DeploymentUnit;
> +import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> +
> +/**
> + * Abstract jsr77 deployer.
> + *
> + * @param <T> exact input type
> + * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> + */
> +public abstract class AbstractJSR277Deployer<T> extends AbstractSimpleRealDeployer<T>
> +{
> +   private boolean requiresVFSDeployment;
> +
> +   private MBeanServer server;
> +
> +   protected AbstractJSR277Deployer(Class<T> input)
> +   {
> +      super(input);
> +      setOutput(ObjectName.class);
> +   }
> +
> +   /**
> +    * Inject the mbean server.
> +    *
> +    * @param server the mbean server
> +    */
> +   @Inject(bean = "JMXKernel", property = "mbeanServer")
> +   public void setServer(MBeanServer server)
> +   {
> +      this.server = server;
> +   }
> +
> +   /**
> +    * Set the requires vfs flag.
> +    *
> +    * @param requiresVFSDeployment the requires vfs flag
> +    */
> +   public void setRequiresVFSDeployment(boolean requiresVFSDeployment)
> +   {
> +      this.requiresVFSDeployment = requiresVFSDeployment;
> +   }
> +
> +   /**
> +    * Deploy jsr77 view.
> +    *
> +    * @param server the mbean server
> +    * @param unit the deployment unit
> +    * @param metaData the metadata
> +    * @throws Throwable for any error
> +    */
> +   protected abstract void deployJsr77(MBeanServer server, DeploymentUnit unit, T metaData) throws Throwable;
> +
> +   /**
> +    * Undeploy jsr77 view.
> +    *
> +    * @param server the mbean server
> +    * @param unit the deployment unit
> +    * @param metaData the metadata
> +    */
> +   protected abstract void undeployJsr77(MBeanServer server, DeploymentUnit unit, T metaData);
> +
> +   /**
> +    * Put top level object name.
> +    *
> +    * @param unit the deployment unit
> +    * @param attachmentName the attachment name
> +    * @param name the object name
> +    */
> +   protected static void putObjectName(DeploymentUnit unit, String attachmentName, ObjectName name)
> +   {
> +      unit.addAttachment(attachmentName + "." + ObjectName.class.getSimpleName(), name, ObjectName.class);
> +   }
> +
> +   /**
> +    * Get object name from attachment.
> +    *
> +    * @param unit the deployment unit
> +    * @param attachmentName the attachment name
> +    * @return object name from attachment
> +    */
> +   protected static ObjectName getObjectName(DeploymentUnit unit, String attachmentName)
> +   {
> +      return unit.getAttachment(attachmentName + "." + ObjectName.class.getSimpleName(), ObjectName.class);
> +   }
> +
> +   /**
> +    * Remove object name from attachment.
> +    *
> +    * @param unit the deployment unit
> +    * @param attachmentName the attachment name
> +    * @return object name from attachment
> +    */
> +   protected static ObjectName removeObjectName(DeploymentUnit unit, String attachmentName)
> +   {
> +      return unit.removeAttachment(attachmentName + "." + ObjectName.class.getSimpleName(), ObjectName.class);
> +   }
> +
> +   /**
> +    * Extract root object name from parameters.
> +    *
> +    * @param server the mbean server
> +    * @param unit the deployment unit
> +    * @param metaData the metadata
> +    * @return root's object name
> +    * @throws IllegalArgumentException for any error
> +    */
> +   protected ObjectName extractRootObjectName(MBeanServer server, DeploymentUnit unit, T metaData)
> +   {
> +      try
> +      {
> +         // TODO - fake object name, this method should be made abstract!
> +         return new ObjectName("jboss.service:type=" + metaData.getClass().getSimpleName() + ",unit=" + unit.getSimpleName());
> +      }
> +      catch (Throwable t)
> +      {
> +         throw new IllegalArgumentException("Cannot extract root ObjectName.", t);
> +      }
> +   }
> +
> +   /**
> +    * Extract object names for components from parameters.
> +    *
> +    * @param server the mbean server
> +    * @param unit the deployment unit
> +    * @param metaData the metadata
> +    * @return root's object name
> +    * @throws IllegalArgumentException for any error
> +    */
> +   protected Iterable<ObjectName> extractComponentObjectNames(MBeanServer server, DeploymentUnit unit, T metaData)
> +   {
> +      // TODO - empty object names, this method should be made abstract!
> +      return Collections.emptySet();
> +   }
> +
> +   public void deploy(DeploymentUnit unit, T metaData) throws DeploymentException
> +   {
> +      if (server != null && unit instanceof VFSDeploymentUnit == requiresVFSDeployment)
> +      {
> +         try
> +         {
> +            deployJsr77(server, unit, metaData);
> +         }
> +         catch (Throwable t)
> +         {
> +            throw DeploymentException.rethrowAsDeploymentException("Cannot deploy jsr77.", t);
> +         }
> +      }
> +      else if (log.isTraceEnabled())
> +      {
> +         log.trace("Missing mbean server or deployment unit type mismatch.");
> +      }
> +   }
> +
> +   public void undeploy(DeploymentUnit unit, T metaData)
> +   {
> +      if (server != null && unit instanceof VFSDeploymentUnit == requiresVFSDeployment)
> +         undeployJsr77(server, unit, metaData);
> +      else if (log.isTraceEnabled())
> +         log.trace("Missing mbean server or deployment unit type mismatch.");
> +   }
> +}
> 
> Deleted: trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractVFSJSR277Deployer.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractVFSJSR277Deployer.java	2008-10-17 13:48:39 UTC (rev 79636)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractVFSJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -1,73 +0,0 @@
> -/*
> -* JBoss, Home of Professional Open Source
> -* Copyright 2006, JBoss Inc., and individual contributors as indicated
> -* by the @authors tag. See the copyright.txt in the distribution for a
> -* full listing of individual contributors.
> -*
> -* This is free software; you can redistribute it and/or modify it
> -* under the terms of the GNU Lesser General Public License as
> -* published by the Free Software Foundation; either version 2.1 of
> -* the License, or (at your option) any later version.
> -*
> -* This software is distributed in the hope that it will be useful,
> -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> -* Lesser General Public License for more details.
> -*
> -* You should have received a copy of the GNU Lesser General Public
> -* License along with this software; if not, write to the Free
> -* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> -* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> -*/
> -package org.jboss.management.j2ee.deployers;
> -
> -import javax.management.MBeanServer;
> -
> -import org.jboss.deployers.structure.spi.DeploymentUnit;
> -import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> -
> -/**
> - * Abstract vfs jsr77 deployer.
> - *
> - * @param <T> exact input type
> - * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> - */
> -public abstract class AbstractVFSJSR277Deployer<T> extends AbstractJSR277Deployer<T>
> -{
> -   protected AbstractVFSJSR277Deployer(Class<T> input)
> -   {
> -      super(input);
> -      setRequiresVFSDeployment(true);
> -   }
> -
> -   protected void deployJsr77(MBeanServer server, DeploymentUnit unit, T metaData) throws Throwable
> -   {
> -      if (unit instanceof VFSDeploymentUnit)
> -         deployJsr77(server, (VFSDeploymentUnit)unit, metaData);
> -   }
> -
> -   /**
> -    * Deploy jsr77 view.
> -    *
> -    * @param server the mbean server
> -    * @param unit the deployment unit
> -    * @param metaData the metadata
> -    * @throws Throwable for any error
> -    */
> -   protected abstract void deployJsr77(MBeanServer server, VFSDeploymentUnit unit, T metaData) throws Throwable;
> -
> -   protected void undeployJsr77(MBeanServer server, DeploymentUnit unit, T metaData)
> -   {
> -      if (unit instanceof VFSDeploymentUnit)
> -         undeployJsr77(server, (VFSDeploymentUnit)unit, metaData);
> -   }
> -
> -   /**
> -    * Undeploy jsr77 view.
> -    *
> -    * @param server the mbean server
> -    * @param unit the deployment unit
> -    * @param metaData the metadata
> -    */
> -   protected abstract void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, T metaData);
> -}
> \ No newline at end of file
> 
> Copied: trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractVFSJSR277Deployer.java (from rev 79636, trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractVFSJSR277Deployer.java)
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractVFSJSR277Deployer.java	                        (rev 0)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/AbstractVFSJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -0,0 +1,73 @@
> +/*
> +* JBoss, Home of Professional Open Source
> +* Copyright 2006, JBoss Inc., and individual contributors as indicated
> +* by the @authors tag. See the copyright.txt in the distribution for a
> +* full listing of individual contributors.
> +*
> +* This is free software; you can redistribute it and/or modify it
> +* under the terms of the GNU Lesser General Public License as
> +* published by the Free Software Foundation; either version 2.1 of
> +* the License, or (at your option) any later version.
> +*
> +* This software is distributed in the hope that it will be useful,
> +* but WITHOUT ANY WARRANTY; without even the implied warranty of
> +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +* Lesser General Public License for more details.
> +*
> +* You should have received a copy of the GNU Lesser General Public
> +* License along with this software; if not, write to the Free
> +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> +* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> +*/
> +package org.jboss.management.j2ee.deployers;
> +
> +import javax.management.MBeanServer;
> +
> +import org.jboss.deployers.structure.spi.DeploymentUnit;
> +import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> +
> +/**
> + * Abstract vfs jsr77 deployer.
> + *
> + * @param <T> exact input type
> + * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> + */
> +public abstract class AbstractVFSJSR277Deployer<T> extends AbstractJSR277Deployer<T>
> +{
> +   protected AbstractVFSJSR277Deployer(Class<T> input)
> +   {
> +      super(input);
> +      setRequiresVFSDeployment(true);
> +   }
> +
> +   protected void deployJsr77(MBeanServer server, DeploymentUnit unit, T metaData) throws Throwable
> +   {
> +      if (unit instanceof VFSDeploymentUnit)
> +         deployJsr77(server, (VFSDeploymentUnit)unit, metaData);
> +   }
> +
> +   /**
> +    * Deploy jsr77 view.
> +    *
> +    * @param server the mbean server
> +    * @param unit the deployment unit
> +    * @param metaData the metadata
> +    * @throws Throwable for any error
> +    */
> +   protected abstract void deployJsr77(MBeanServer server, VFSDeploymentUnit unit, T metaData) throws Throwable;
> +
> +   protected void undeployJsr77(MBeanServer server, DeploymentUnit unit, T metaData)
> +   {
> +      if (unit instanceof VFSDeploymentUnit)
> +         undeployJsr77(server, (VFSDeploymentUnit)unit, metaData);
> +   }
> +
> +   /**
> +    * Undeploy jsr77 view.
> +    *
> +    * @param server the mbean server
> +    * @param unit the deployment unit
> +    * @param metaData the metadata
> +    */
> +   protected abstract void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, T metaData);
> +}
> \ No newline at end of file
> 
> Deleted: trunk/management/src/main/org/jboss/management/j2ee/deployers/EarModuleJSR277Deployer.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/EarModuleJSR277Deployer.java	2008-10-17 13:48:39 UTC (rev 79636)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/EarModuleJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -1,63 +0,0 @@
> -/*
> -* JBoss, Home of Professional Open Source
> -* Copyright 2006, JBoss Inc., and individual contributors as indicated
> -* by the @authors tag. See the copyright.txt in the distribution for a
> -* full listing of individual contributors.
> -*
> -* This is free software; you can redistribute it and/or modify it
> -* under the terms of the GNU Lesser General Public License as
> -* published by the Free Software Foundation; either version 2.1 of
> -* the License, or (at your option) any later version.
> -*
> -* This software is distributed in the hope that it will be useful,
> -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> -* Lesser General Public License for more details.
> -*
> -* You should have received a copy of the GNU Lesser General Public
> -* License along with this software; if not, write to the Free
> -* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> -* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> -*/
> -package org.jboss.management.j2ee.deployers;
> -
> -import javax.management.MBeanServer;
> -import javax.management.ObjectName;
> -
> -import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> -import org.jboss.management.j2ee.J2EEApplication;
> -import org.jboss.metadata.ear.jboss.JBossAppMetaData;
> -
> -/**
> - * Ear module jsr77 view.
> - *
> - * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> - */
> -public class EarModuleJSR277Deployer extends AbstractVFSJSR277Deployer<JBossAppMetaData>
> -{
> -   public EarModuleJSR277Deployer()
> -   {
> -      super(JBossAppMetaData.class);
> -      setTopLevelOnly(true);
> -   }
> -
> -   protected void deployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossAppMetaData metaData) throws Throwable
> -   {
> -      ObjectName jsr77Name = J2EEApplication.create(server, unit.getSimpleName(), unit.getRoot().toURL());
> -      if (jsr77Name != null)
> -      {
> -         putObjectName(unit, J2EEApplication.class.getName(), jsr77Name);
> -         log.debug("Created J2EEApplication: " + jsr77Name);
> -      }
> -   }
> -
> -   protected void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossAppMetaData metaData)
> -   {
> -      ObjectName jsr77Name = removeObjectName(unit, J2EEApplication.class.getName());
> -      if (jsr77Name != null)
> -      {
> -         J2EEApplication.destroy(server, jsr77Name);
> -         log.debug("Removed J2EEApplication: " + jsr77Name);
> -      }
> -   }
> -}
> 
> Copied: trunk/management/src/main/org/jboss/management/j2ee/deployers/EarModuleJSR277Deployer.java (from rev 79636, trunk/management/src/main/org/jboss/management/j2ee/deployers/EarModuleJSR277Deployer.java)
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/EarModuleJSR277Deployer.java	                        (rev 0)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/EarModuleJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -0,0 +1,63 @@
> +/*
> +* JBoss, Home of Professional Open Source
> +* Copyright 2006, JBoss Inc., and individual contributors as indicated
> +* by the @authors tag. See the copyright.txt in the distribution for a
> +* full listing of individual contributors.
> +*
> +* This is free software; you can redistribute it and/or modify it
> +* under the terms of the GNU Lesser General Public License as
> +* published by the Free Software Foundation; either version 2.1 of
> +* the License, or (at your option) any later version.
> +*
> +* This software is distributed in the hope that it will be useful,
> +* but WITHOUT ANY WARRANTY; without even the implied warranty of
> +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +* Lesser General Public License for more details.
> +*
> +* You should have received a copy of the GNU Lesser General Public
> +* License along with this software; if not, write to the Free
> +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> +* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> +*/
> +package org.jboss.management.j2ee.deployers;
> +
> +import javax.management.MBeanServer;
> +import javax.management.ObjectName;
> +
> +import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> +import org.jboss.management.j2ee.J2EEApplication;
> +import org.jboss.metadata.ear.jboss.JBossAppMetaData;
> +
> +/**
> + * Ear module jsr77 view.
> + *
> + * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> + */
> +public class EarModuleJSR277Deployer extends AbstractVFSJSR277Deployer<JBossAppMetaData>
> +{
> +   public EarModuleJSR277Deployer()
> +   {
> +      super(JBossAppMetaData.class);
> +      setTopLevelOnly(true);
> +   }
> +
> +   protected void deployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossAppMetaData metaData) throws Throwable
> +   {
> +      ObjectName jsr77Name = J2EEApplication.create(server, unit.getSimpleName(), unit.getRoot().toURL());
> +      if (jsr77Name != null)
> +      {
> +         putObjectName(unit, J2EEApplication.class.getName(), jsr77Name);
> +         log.debug("Created J2EEApplication: " + jsr77Name);
> +      }
> +   }
> +
> +   protected void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossAppMetaData metaData)
> +   {
> +      ObjectName jsr77Name = removeObjectName(unit, J2EEApplication.class.getName());
> +      if (jsr77Name != null)
> +      {
> +         J2EEApplication.destroy(server, jsr77Name);
> +         log.debug("Removed J2EEApplication: " + jsr77Name);
> +      }
> +   }
> +}
> 
> Deleted: trunk/management/src/main/org/jboss/management/j2ee/deployers/EjbModuleJSR277Deployer.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/EjbModuleJSR277Deployer.java	2008-10-17 13:48:39 UTC (rev 79636)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/EjbModuleJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -1,141 +0,0 @@
> -/*
> -* JBoss, Home of Professional Open Source
> -* Copyright 2006, JBoss Inc., and individual contributors as indicated
> -* by the @authors tag. See the copyright.txt in the distribution for a
> -* full listing of individual contributors.
> -*
> -* This is free software; you can redistribute it and/or modify it
> -* under the terms of the GNU Lesser General Public License as
> -* published by the Free Software Foundation; either version 2.1 of
> -* the License, or (at your option) any later version.
> -*
> -* This software is distributed in the hope that it will be useful,
> -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> -* Lesser General Public License for more details.
> -*
> -* You should have received a copy of the GNU Lesser General Public
> -* License along with this software; if not, write to the Free
> -* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> -* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> -*/
> -package org.jboss.management.j2ee.deployers;
> -
> -import javax.management.MBeanServer;
> -import javax.management.ObjectName;
> -
> -import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> -import org.jboss.ejb.EjbModule;
> -import org.jboss.management.j2ee.EJB;
> -import org.jboss.management.j2ee.EJBModule;
> -import org.jboss.management.j2ee.factory.FactoryUtils;
> -import org.jboss.metadata.BeanMetaData;
> -import org.jboss.metadata.SessionMetaData;
> -import org.jboss.metadata.ejb.jboss.JBossMetaData;
> -
> -/**
> - * Ejb module jsr77 view.
> - *
> - * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> - */
> -public class EjbModuleJSR277Deployer extends AbstractVFSJSR277Deployer<JBossMetaData>
> -{
> -   public EjbModuleJSR277Deployer()
> -   {
> -      super(JBossMetaData.class);
> -   }
> -
> -   protected void deployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossMetaData metaData) throws Throwable
> -   {
> -      String ejbJarName = unit.getSimpleName();
> -      ObjectName ejbModuleService = extractRootObjectName(server, unit, metaData); // TODO
> -      ObjectName jsr77Name = EJBModule.create(server, FactoryUtils.findEarParent(unit), ejbJarName, unit.getRoot().toURL(), ejbModuleService);
> -      putObjectName(unit, ejbModuleService.getCanonicalName(), jsr77Name);
> -      putObjectName(unit, EJBModule.class.getName(), jsr77Name);
> -      log.debug("Created module: " + jsr77Name);
> -      Iterable<ObjectName> ejbs = extractComponentObjectNames(server, unit, metaData); // TODO
> -      for (ObjectName containerName : ejbs)
> -      {
> -         createEJB(server, unit, containerName);
> -      }
> -   }
> -
> -   protected void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossMetaData metaData)
> -   {
> -      ObjectName jsr77Name = removeObjectName(unit, EJBModule.class.getName());
> -      log.debug("Destroy module: " + jsr77Name);
> -      Iterable<ObjectName> ejbs = extractComponentObjectNames(server, unit, metaData); // TODO
> -      for (ObjectName containerName : ejbs)
> -      {
> -         destroyEJB(server, unit, containerName);
> -      }
> -      if (jsr77Name != null)
> -      {
> -         EJBModule.destroy(server, jsr77Name);
> -      }
> -      ObjectName ejbModuleService = extractRootObjectName(server, unit, metaData); // TODO
> -      if (ejbModuleService != null)
> -         removeObjectName(unit, ejbModuleService.getCanonicalName());
> -   }
> -
> -   /**
> -    * Create an EJB mbean for the container
> -    *
> -    * @param server - the deployment server
> -    * @param unit the deployment unit
> -    * @param containerName - the internal ejb container jmx name
> -    * @return JSR77 ObjectName of the EJB mbean subtype
> -    */
> -   @SuppressWarnings("deprecation")
> -   public ObjectName createEJB(MBeanServer server, VFSDeploymentUnit unit, ObjectName containerName)
> -   {
> -      ObjectName jsr77Name = null;
> -      try
> -      {
> -         BeanMetaData metaData = (BeanMetaData) server.getAttribute(containerName, "BeanMetaData");
> -         EjbModule ejbModule = (EjbModule) server.getAttribute(containerName, "EjbModule");
> -         ObjectName ejbModName = getObjectName(unit, ejbModule.getServiceName().getCanonicalName());
> -         String ejbName = metaData.getEjbName();
> -         String jndiName = metaData.getJndiName();
> -         String localJndiName = metaData.getLocalJndiName();
> -         int type = EJB.STATELESS_SESSION_BEAN;
> -         if (metaData.isSession())
> -         {
> -            SessionMetaData smetaData = (SessionMetaData) metaData;
> -            if (smetaData.isStateful())
> -               type = EJB.STATEFUL_SESSION_BEAN;
> -         }
> -         else if (metaData.isMessageDriven())
> -            type = EJB.MESSAGE_DRIVEN_BEAN;
> -         else
> -            type = EJB.ENTITY_BEAN;
> -
> -         jsr77Name = EJB.create(server, ejbModName, containerName, type, ejbName, jndiName, localJndiName);
> -         putObjectName(unit, containerName.getCanonicalName(), jsr77Name);
> -         log.debug("Create container: " + containerName + ", module: " + jsr77Name);
> -      }
> -      catch (Exception e)
> -      {
> -         log.debug("", e);
> -      }
> -
> -      return jsr77Name;
> -   }
> -
> -   /**
> -    * Destory JSR-77 J2EEApplication
> -    *
> -    * @param server the MBeanServer context
> -    * @param unit the deployment unit
> -    * @param containerName   arbitrary data associated with the creation context
> -    */
> -   public void destroyEJB(MBeanServer server, VFSDeploymentUnit unit, ObjectName containerName)
> -   {
> -      ObjectName jsr77Name = removeObjectName(unit, containerName.getCanonicalName());
> -      log.debug("Destroy container: " + containerName + ", module: " + jsr77Name);
> -      if (jsr77Name != null)
> -      {
> -         EJB.destroy(server, jsr77Name);
> -      }
> -   }
> -}
> \ No newline at end of file
> 
> Copied: trunk/management/src/main/org/jboss/management/j2ee/deployers/EjbModuleJSR277Deployer.java (from rev 79636, trunk/management/src/main/org/jboss/management/j2ee/deployers/EjbModuleJSR277Deployer.java)
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/EjbModuleJSR277Deployer.java	                        (rev 0)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/EjbModuleJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -0,0 +1,141 @@
> +/*
> +* JBoss, Home of Professional Open Source
> +* Copyright 2006, JBoss Inc., and individual contributors as indicated
> +* by the @authors tag. See the copyright.txt in the distribution for a
> +* full listing of individual contributors.
> +*
> +* This is free software; you can redistribute it and/or modify it
> +* under the terms of the GNU Lesser General Public License as
> +* published by the Free Software Foundation; either version 2.1 of
> +* the License, or (at your option) any later version.
> +*
> +* This software is distributed in the hope that it will be useful,
> +* but WITHOUT ANY WARRANTY; without even the implied warranty of
> +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +* Lesser General Public License for more details.
> +*
> +* You should have received a copy of the GNU Lesser General Public
> +* License along with this software; if not, write to the Free
> +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> +* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> +*/
> +package org.jboss.management.j2ee.deployers;
> +
> +import javax.management.MBeanServer;
> +import javax.management.ObjectName;
> +
> +import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> +import org.jboss.ejb.EjbModule;
> +import org.jboss.management.j2ee.EJB;
> +import org.jboss.management.j2ee.EJBModule;
> +import org.jboss.management.j2ee.factory.FactoryUtils;
> +import org.jboss.metadata.BeanMetaData;
> +import org.jboss.metadata.SessionMetaData;
> +import org.jboss.metadata.ejb.jboss.JBossMetaData;
> +
> +/**
> + * Ejb module jsr77 view.
> + *
> + * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> + */
> +public class EjbModuleJSR277Deployer extends AbstractVFSJSR277Deployer<JBossMetaData>
> +{
> +   public EjbModuleJSR277Deployer()
> +   {
> +      super(JBossMetaData.class);
> +   }
> +
> +   protected void deployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossMetaData metaData) throws Throwable
> +   {
> +      String ejbJarName = unit.getSimpleName();
> +      ObjectName ejbModuleService = extractRootObjectName(server, unit, metaData); // TODO
> +      ObjectName jsr77Name = EJBModule.create(server, FactoryUtils.findEarParent(unit), ejbJarName, unit.getRoot().toURL(), ejbModuleService);
> +      putObjectName(unit, ejbModuleService.getCanonicalName(), jsr77Name);
> +      putObjectName(unit, EJBModule.class.getName(), jsr77Name);
> +      log.debug("Created module: " + jsr77Name);
> +      Iterable<ObjectName> ejbs = extractComponentObjectNames(server, unit, metaData); // TODO
> +      for (ObjectName containerName : ejbs)
> +      {
> +         createEJB(server, unit, containerName);
> +      }
> +   }
> +
> +   protected void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossMetaData metaData)
> +   {
> +      ObjectName jsr77Name = removeObjectName(unit, EJBModule.class.getName());
> +      log.debug("Destroy module: " + jsr77Name);
> +      Iterable<ObjectName> ejbs = extractComponentObjectNames(server, unit, metaData); // TODO
> +      for (ObjectName containerName : ejbs)
> +      {
> +         destroyEJB(server, unit, containerName);
> +      }
> +      if (jsr77Name != null)
> +      {
> +         EJBModule.destroy(server, jsr77Name);
> +      }
> +      ObjectName ejbModuleService = extractRootObjectName(server, unit, metaData); // TODO
> +      if (ejbModuleService != null)
> +         removeObjectName(unit, ejbModuleService.getCanonicalName());
> +   }
> +
> +   /**
> +    * Create an EJB mbean for the container
> +    *
> +    * @param server - the deployment server
> +    * @param unit the deployment unit
> +    * @param containerName - the internal ejb container jmx name
> +    * @return JSR77 ObjectName of the EJB mbean subtype
> +    */
> +   @SuppressWarnings("deprecation")
> +   public ObjectName createEJB(MBeanServer server, VFSDeploymentUnit unit, ObjectName containerName)
> +   {
> +      ObjectName jsr77Name = null;
> +      try
> +      {
> +         BeanMetaData metaData = (BeanMetaData) server.getAttribute(containerName, "BeanMetaData");
> +         EjbModule ejbModule = (EjbModule) server.getAttribute(containerName, "EjbModule");
> +         ObjectName ejbModName = getObjectName(unit, ejbModule.getServiceName().getCanonicalName());
> +         String ejbName = metaData.getEjbName();
> +         String jndiName = metaData.getJndiName();
> +         String localJndiName = metaData.getLocalJndiName();
> +         int type = EJB.STATELESS_SESSION_BEAN;
> +         if (metaData.isSession())
> +         {
> +            SessionMetaData smetaData = (SessionMetaData) metaData;
> +            if (smetaData.isStateful())
> +               type = EJB.STATEFUL_SESSION_BEAN;
> +         }
> +         else if (metaData.isMessageDriven())
> +            type = EJB.MESSAGE_DRIVEN_BEAN;
> +         else
> +            type = EJB.ENTITY_BEAN;
> +
> +         jsr77Name = EJB.create(server, ejbModName, containerName, type, ejbName, jndiName, localJndiName);
> +         putObjectName(unit, containerName.getCanonicalName(), jsr77Name);
> +         log.debug("Create container: " + containerName + ", module: " + jsr77Name);
> +      }
> +      catch (Exception e)
> +      {
> +         log.debug("", e);
> +      }
> +
> +      return jsr77Name;
> +   }
> +
> +   /**
> +    * Destory JSR-77 J2EEApplication
> +    *
> +    * @param server the MBeanServer context
> +    * @param unit the deployment unit
> +    * @param containerName   arbitrary data associated with the creation context
> +    */
> +   public void destroyEJB(MBeanServer server, VFSDeploymentUnit unit, ObjectName containerName)
> +   {
> +      ObjectName jsr77Name = removeObjectName(unit, containerName.getCanonicalName());
> +      log.debug("Destroy container: " + containerName + ", module: " + jsr77Name);
> +      if (jsr77Name != null)
> +      {
> +         EJB.destroy(server, jsr77Name);
> +      }
> +   }
> +}
> \ No newline at end of file
> 
> Deleted: trunk/management/src/main/org/jboss/management/j2ee/deployers/JCAResourceJSR277Deployer.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/JCAResourceJSR277Deployer.java	2008-10-17 13:48:39 UTC (rev 79636)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/JCAResourceJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -1,112 +0,0 @@
> -/*
> -* JBoss, Home of Professional Open Source
> -* Copyright 2006, JBoss Inc., and individual contributors as indicated
> -* by the @authors tag. See the copyright.txt in the distribution for a
> -* full listing of individual contributors.
> -*
> -* This is free software; you can redistribute it and/or modify it
> -* under the terms of the GNU Lesser General Public License as
> -* published by the Free Software Foundation; either version 2.1 of
> -* the License, or (at your option) any later version.
> -*
> -* This software is distributed in the hope that it will be useful,
> -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> -* Lesser General Public License for more details.
> -*
> -* You should have received a copy of the GNU Lesser General Public
> -* License along with this software; if not, write to the Free
> -* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> -* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> -*/
> -package org.jboss.management.j2ee.deployers;
> -
> -import javax.management.MBeanServer;
> -import javax.management.ObjectName;
> -
> -import org.jboss.deployers.structure.spi.DeploymentUnit;
> -import org.jboss.management.j2ee.JCAResource;
> -import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup;
> -
> -/**
> - * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> - */
> -public class JCAResourceJSR277Deployer extends AbstractJSR277Deployer<ManagedConnectionFactoryDeploymentGroup>
> -{
> -   public JCAResourceJSR277Deployer()
> -   {
> -      super(ManagedConnectionFactoryDeploymentGroup.class);
> -   }
> -
> -   protected void deployJsr77(MBeanServer server, DeploymentUnit unit, ManagedConnectionFactoryDeploymentGroup metaData) throws Throwable
> -   {
> -      /* Get the RARDeployment service name by looking for the mbean in the
> -      deployment with a name matching service=xxxDS. This relies on the naming
> -      pattern created by the JCA CM deployer.
> -      */
> -      ObjectName rarDeployService = null;
> -      ObjectName cmService = null;
> -      ObjectName poolService = null;
> -      Iterable<ObjectName> iter = extractComponentObjectNames(server, unit, metaData); // TODO
> -      for (ObjectName oname : iter)
> -      {
> -         String name = oname.getKeyProperty("service");
> -         if (name.equals("ManagedConnectionFactory") || name.endsWith("DS"))
> -            rarDeployService = oname;
> -         else if (name.endsWith("CM"))
> -            cmService = oname;
> -         else if (name.endsWith("Pool"))
> -            poolService = oname;
> -      }
> -      if (rarDeployService == null || cmService == null)
> -      {
> -         log.debug("Failed to find a service=xxxDS match");
> -         return;
> -      }
> -
> -      try
> -      {
> -         /* Now to tie this CM back to its rar query the rarDeployService for
> -            the org.jboss.resource.RARDeployment service created by the RARDeployer.
> -          */
> -         ObjectName rarService = (ObjectName) server.getAttribute(rarDeployService, "OldRarDeployment");
> -         // Get the ResourceAdapter JSR77 name
> -         ObjectName jsr77RAName = getObjectName(unit, rarService.getCanonicalName());
> -         // Now build the JCAResource
> -         String resName = rarDeployService.getKeyProperty("name");
> -         JCAResource.create(server, resName, jsr77RAName, cmService, rarDeployService, poolService);
> -      }
> -      catch (Exception e)
> -      {
> -         log.debug("Failed to create JCAResource", e);
> -      }
> -   }
> -
> -   protected void undeployJsr77(MBeanServer server, DeploymentUnit unit, ManagedConnectionFactoryDeploymentGroup metaData)
> -   {
> -      Iterable<ObjectName> mbeans = extractComponentObjectNames(server, unit, metaData); // TODO
> -      String resName = getDeploymentResName(mbeans);
> -      JCAResource.destroy(server, resName);
> -   }
> -
> -   private String getDeploymentResName(Iterable<ObjectName> mbeans)
> -   {
> -      String resName = null;
> -      /* Get the RARDeployment service name by looking for the mbean in the
> -         deployment with a name matching service=xxxDS. This relies on the naming
> -         pattern created by the JCA CM deployer.
> -      */
> -      ObjectName rarDeployService;
> -      for (ObjectName oname : mbeans)
> -      {
> -         String name = oname.getKeyProperty("service");
> -         if (name.equals("ManagedConnectionFactory") || name.endsWith("DS"))
> -         {
> -            rarDeployService = oname;
> -            resName = rarDeployService.getKeyProperty("name");
> -            break;
> -         }
> -      }
> -      return resName;
> -   }
> -}
> \ No newline at end of file
> 
> Copied: trunk/management/src/main/org/jboss/management/j2ee/deployers/JCAResourceJSR277Deployer.java (from rev 79636, trunk/management/src/main/org/jboss/management/j2ee/deployers/JCAResourceJSR277Deployer.java)
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/JCAResourceJSR277Deployer.java	                        (rev 0)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/JCAResourceJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -0,0 +1,114 @@
> +/*
> +* JBoss, Home of Professional Open Source
> +* Copyright 2006, JBoss Inc., and individual contributors as indicated
> +* by the @authors tag. See the copyright.txt in the distribution for a
> +* full listing of individual contributors.
> +*
> +* This is free software; you can redistribute it and/or modify it
> +* under the terms of the GNU Lesser General Public License as
> +* published by the Free Software Foundation; either version 2.1 of
> +* the License, or (at your option) any later version.
> +*
> +* This software is distributed in the hope that it will be useful,
> +* but WITHOUT ANY WARRANTY; without even the implied warranty of
> +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +* Lesser General Public License for more details.
> +*
> +* You should have received a copy of the GNU Lesser General Public
> +* License along with this software; if not, write to the Free
> +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> +* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> +*/
> +package org.jboss.management.j2ee.deployers;
> +
> +import javax.management.MBeanServer;
> +import javax.management.ObjectName;
> +
> +import org.jboss.deployers.structure.spi.DeploymentUnit;
> +import org.jboss.management.j2ee.JCAResource;
> +import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup;
> +
> +/**
> + * JCA resource jsr77 deployer.
> + * 
> + * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> + */
> +public class JCAResourceJSR277Deployer extends AbstractJSR277Deployer<ManagedConnectionFactoryDeploymentGroup>
> +{
> +   public JCAResourceJSR277Deployer()
> +   {
> +      super(ManagedConnectionFactoryDeploymentGroup.class);
> +   }
> +
> +   protected void deployJsr77(MBeanServer server, DeploymentUnit unit, ManagedConnectionFactoryDeploymentGroup metaData) throws Throwable
> +   {
> +      /* Get the RARDeployment service name by looking for the mbean in the
> +      deployment with a name matching service=xxxDS. This relies on the naming
> +      pattern created by the JCA CM deployer.
> +      */
> +      ObjectName rarDeployService = null;
> +      ObjectName cmService = null;
> +      ObjectName poolService = null;
> +      Iterable<ObjectName> iter = extractComponentObjectNames(server, unit, metaData); // TODO
> +      for (ObjectName oname : iter)
> +      {
> +         String name = oname.getKeyProperty("service");
> +         if (name.equals("ManagedConnectionFactory") || name.endsWith("DS"))
> +            rarDeployService = oname;
> +         else if (name.endsWith("CM"))
> +            cmService = oname;
> +         else if (name.endsWith("Pool"))
> +            poolService = oname;
> +      }
> +      if (rarDeployService == null || cmService == null)
> +      {
> +         log.debug("Failed to find a service=xxxDS match");
> +         return;
> +      }
> +
> +      try
> +      {
> +         /* Now to tie this CM back to its rar query the rarDeployService for
> +            the org.jboss.resource.RARDeployment service created by the RARDeployer.
> +          */
> +         ObjectName rarService = (ObjectName) server.getAttribute(rarDeployService, "OldRarDeployment");
> +         // Get the ResourceAdapter JSR77 name
> +         ObjectName jsr77RAName = getObjectName(unit, rarService.getCanonicalName());
> +         // Now build the JCAResource
> +         String resName = rarDeployService.getKeyProperty("name");
> +         JCAResource.create(server, resName, jsr77RAName, cmService, rarDeployService, poolService);
> +      }
> +      catch (Exception e)
> +      {
> +         log.debug("Failed to create JCAResource", e);
> +      }
> +   }
> +
> +   protected void undeployJsr77(MBeanServer server, DeploymentUnit unit, ManagedConnectionFactoryDeploymentGroup metaData)
> +   {
> +      Iterable<ObjectName> mbeans = extractComponentObjectNames(server, unit, metaData); // TODO
> +      String resName = getDeploymentResName(mbeans);
> +      JCAResource.destroy(server, resName);
> +   }
> +
> +   private String getDeploymentResName(Iterable<ObjectName> mbeans)
> +   {
> +      String resName = null;
> +      /* Get the RARDeployment service name by looking for the mbean in the
> +         deployment with a name matching service=xxxDS. This relies on the naming
> +         pattern created by the JCA CM deployer.
> +      */
> +      ObjectName rarDeployService;
> +      for (ObjectName oname : mbeans)
> +      {
> +         String name = oname.getKeyProperty("service");
> +         if (name.equals("ManagedConnectionFactory") || name.endsWith("DS"))
> +         {
> +            rarDeployService = oname;
> +            resName = rarDeployService.getKeyProperty("name");
> +            break;
> +         }
> +      }
> +      return resName;
> +   }
> +}
> \ No newline at end of file
> 
> Deleted: trunk/management/src/main/org/jboss/management/j2ee/deployers/JMSResourceJSR277Deployer.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/JMSResourceJSR277Deployer.java	2008-10-17 13:48:39 UTC (rev 79636)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/JMSResourceJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -1,92 +0,0 @@
> -/*
> -* JBoss, Home of Professional Open Source
> -* Copyright 2006, JBoss Inc., and individual contributors as indicated
> -* by the @authors tag. See the copyright.txt in the distribution for a
> -* full listing of individual contributors.
> -*
> -* This is free software; you can redistribute it and/or modify it
> -* under the terms of the GNU Lesser General Public License as
> -* published by the Free Software Foundation; either version 2.1 of
> -* the License, or (at your option) any later version.
> -*
> -* This software is distributed in the hope that it will be useful,
> -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> -* Lesser General Public License for more details.
> -*
> -* You should have received a copy of the GNU Lesser General Public
> -* License along with this software; if not, write to the Free
> -* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> -* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> -*/
> -package org.jboss.management.j2ee.deployers;
> -
> -import java.util.HashSet;
> -import java.util.Set;
> -import javax.management.MBeanServer;
> -import javax.management.ObjectName;
> -
> -import org.jboss.deployers.structure.spi.DeploymentUnit;
> -import org.jboss.management.j2ee.JMSResource;
> -import org.jboss.system.metadata.ServiceMetaData;
> -
> -/**
> - * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> - */
> -public class JMSResourceJSR277Deployer extends AbstractJSR277Deployer<ServiceMetaData>
> -{
> -   private Set<String> jmsCodes;
> -
> -   public JMSResourceJSR277Deployer()
> -   {
> -      super(ServiceMetaData.class);
> -      setComponentsOnly(true);
> -   }
> -
> -   /**
> -    * Is service metadata jms resource.
> -    *
> -    * @param metaData the service metadata
> -    * @return true if service metadata code matches one of jms codes
> -    */
> -   protected boolean isJMSServiceMetaData(ServiceMetaData metaData)
> -   {
> -      if (jmsCodes == null)
> -      {
> -         // fill in jms codes
> -         jmsCodes = new HashSet<String>();
> -         jmsCodes.add("org.jboss.jms.server.destination.QueueService");
> -         jmsCodes.add("org.jboss.jms.server.destination.TopicService");
> -      }
> -
> -      String code = metaData.getCode();
> -      return jmsCodes.contains(code);
> -   }
> -
> -   protected void deployJsr77(MBeanServer server, DeploymentUnit unit, ServiceMetaData metaData) throws Throwable
> -   {
> -      if (isJMSServiceMetaData(metaData))
> -      {
> -         ObjectName serviceName = metaData.getObjectName();
> -         JMSResource.create(server, "LocalJMS", serviceName);
> -      }
> -   }
> -
> -   protected void undeployJsr77(MBeanServer server, DeploymentUnit unit, ServiceMetaData metaData)
> -   {
> -      if (isJMSServiceMetaData(metaData))
> -      {
> -         JMSResource.destroy(server, "LocalJMS");  
> -      }
> -   }
> -
> -   /**
> -    * Set jms codes.
> -    *
> -    * @param jmsCodes the jms codes
> -    */
> -   public void setJmsCodes(Set<String> jmsCodes)
> -   {
> -      this.jmsCodes = jmsCodes;
> -   }
> -}
> \ No newline at end of file
> 
> Copied: trunk/management/src/main/org/jboss/management/j2ee/deployers/JMSResourceJSR277Deployer.java (from rev 79636, trunk/management/src/main/org/jboss/management/j2ee/deployers/JMSResourceJSR277Deployer.java)
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/JMSResourceJSR277Deployer.java	                        (rev 0)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/JMSResourceJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -0,0 +1,94 @@
> +/*
> +* JBoss, Home of Professional Open Source
> +* Copyright 2006, JBoss Inc., and individual contributors as indicated
> +* by the @authors tag. See the copyright.txt in the distribution for a
> +* full listing of individual contributors.
> +*
> +* This is free software; you can redistribute it and/or modify it
> +* under the terms of the GNU Lesser General Public License as
> +* published by the Free Software Foundation; either version 2.1 of
> +* the License, or (at your option) any later version.
> +*
> +* This software is distributed in the hope that it will be useful,
> +* but WITHOUT ANY WARRANTY; without even the implied warranty of
> +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +* Lesser General Public License for more details.
> +*
> +* You should have received a copy of the GNU Lesser General Public
> +* License along with this software; if not, write to the Free
> +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> +* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> +*/
> +package org.jboss.management.j2ee.deployers;
> +
> +import java.util.HashSet;
> +import java.util.Set;
> +import javax.management.MBeanServer;
> +import javax.management.ObjectName;
> +
> +import org.jboss.deployers.structure.spi.DeploymentUnit;
> +import org.jboss.management.j2ee.JMSResource;
> +import org.jboss.system.metadata.ServiceMetaData;
> +
> +/**
> + * JMS resource jsr77 deployer.
> + * 
> + * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> + */
> +public class JMSResourceJSR277Deployer extends AbstractJSR277Deployer<ServiceMetaData>
> +{
> +   private Set<String> jmsCodes;
> +
> +   public JMSResourceJSR277Deployer()
> +   {
> +      super(ServiceMetaData.class);
> +      setComponentsOnly(true);
> +   }
> +
> +   /**
> +    * Is service metadata jms resource.
> +    *
> +    * @param metaData the service metadata
> +    * @return true if service metadata code matches one of jms codes
> +    */
> +   protected boolean isJMSServiceMetaData(ServiceMetaData metaData)
> +   {
> +      if (jmsCodes == null)
> +      {
> +         // fill in jms codes
> +         jmsCodes = new HashSet<String>();
> +         jmsCodes.add("org.jboss.jms.server.destination.QueueService");
> +         jmsCodes.add("org.jboss.jms.server.destination.TopicService");
> +      }
> +
> +      String code = metaData.getCode();
> +      return jmsCodes.contains(code);
> +   }
> +
> +   protected void deployJsr77(MBeanServer server, DeploymentUnit unit, ServiceMetaData metaData) throws Throwable
> +   {
> +      if (isJMSServiceMetaData(metaData))
> +      {
> +         ObjectName serviceName = metaData.getObjectName();
> +         JMSResource.create(server, "LocalJMS", serviceName);
> +      }
> +   }
> +
> +   protected void undeployJsr77(MBeanServer server, DeploymentUnit unit, ServiceMetaData metaData)
> +   {
> +      if (isJMSServiceMetaData(metaData))
> +      {
> +         JMSResource.destroy(server, "LocalJMS");  
> +      }
> +   }
> +
> +   /**
> +    * Set jms codes.
> +    *
> +    * @param jmsCodes the jms codes
> +    */
> +   public void setJmsCodes(Set<String> jmsCodes)
> +   {
> +      this.jmsCodes = jmsCodes;
> +   }
> +}
> \ No newline at end of file
> 
> Deleted: trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomain.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomain.java	2008-10-17 13:48:39 UTC (rev 79636)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomain.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -1,439 +0,0 @@
> -/*
> -* JBoss, Home of Professional Open Source
> -* Copyright 2006, JBoss Inc., and individual contributors as indicated
> -* by the @authors tag. See the copyright.txt in the distribution for a
> -* full listing of individual contributors.
> -*
> -* This is free software; you can redistribute it and/or modify it
> -* under the terms of the GNU Lesser General Public License as
> -* published by the Free Software Foundation; either version 2.1 of
> -* the License, or (at your option) any later version.
> -*
> -* This software is distributed in the hope that it will be useful,
> -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> -* Lesser General Public License for more details.
> -*
> -* You should have received a copy of the GNU Lesser General Public
> -* License along with this software; if not, write to the Free
> -* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> -* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> -*/
> -package org.jboss.management.j2ee.deployers;
> -
> -import java.net.InetAddress;
> -import java.util.Set;
> -import javax.management.JMException;
> -import javax.management.MBeanException;
> -import javax.management.MBeanServer;
> -import javax.management.Notification;
> -import javax.management.NotificationListener;
> -import javax.management.ObjectName;
> -import javax.management.MBeanRegistration;
> -
> -import org.jboss.logging.Logger;
> -import org.jboss.management.j2ee.J2EEDomain;
> -import org.jboss.management.j2ee.J2EEServer;
> -import org.jboss.management.j2ee.JVM;
> -import org.jboss.management.j2ee.factory.DefaultManagedObjectFactoryMap;
> -import org.jboss.management.j2ee.factory.ManagedObjectFactory;
> -import org.jboss.management.j2ee.factory.ManagedObjectFactoryMap;
> -import org.jboss.system.ServiceControllerMBean;
> -import org.jboss.system.ServiceMBean;
> -
> -/**
> - * Port of the old LocalJBossServerDomain to POJO.
> - *
> - * @author  <a href="mailto:andreas at jboss.org">Andreas Schaefer</a>
> - * @author  <a href="mailto:scott.stark at jboss.org">Scott Stark</a>
> - * @author  <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
> - */
> -public class LocalJBossServerDomain implements NotificationListener, LocalJBossServerDomainMBean, MBeanRegistration
> -{
> -   /**
> -    * Class logger.
> -    */
> -   private static final Logger log = Logger.getLogger(LocalJBossServerDomain.class);
> -
> -   /** The mbean server */
> -   private MBeanServer server;
> -
> -   /** The service name */
> -   private ObjectName serviceName;
> -
> -   /**
> -    * The name of the JNDI service
> -    */
> -   private ObjectName jndiService;
> -   /**
> -    * The name of the JTA service
> -    */
> -   private ObjectName jtaService;
> -   /**
> -    * The name of the UserTransaction service
> -    */
> -   private ObjectName userTxService;
> -   /**
> -    * The name of the JavaMail service
> -    */
> -   private ObjectName mailService;
> -   /**
> -    * The name of the RMI_IIOP service
> -    */
> -   private ObjectName rmiiiopService;
> -   /**
> -    * The name of the service which emites URL binding events
> -    */
> -   private ObjectName jndiBindingService;
> -
> -   /**
> -    * A mapping of JMX notifications to ManagedObjectFactory instances
> -    */
> -   private ManagedObjectFactoryMap managedObjFactoryMap;
> -
> -   /**
> -    * The managed factory map class
> -    */
> -   private Class<?> managedObjFactoryMapClass = DefaultManagedObjectFactoryMap.class;
> -
> -   /**
> -    * @return The JNDI service mbean name
> -    */
> -   public ObjectName getJNDIService()
> -   {
> -      return jndiService;
> -   }
> -
> -   /**
> -    * @param name The JNDI service mbean name
> -    */
> -   public void setJNDIService(ObjectName name)
> -   {
> -      this.jndiService = name;
> -   }
> -
> -   /**
> -    * @return The JTA service mbean name
> -    */
> -   public ObjectName getJTAService()
> -   {
> -      return jtaService;
> -   }
> -
> -   /**
> -    * @param name The JTA service mbean name
> -    */
> -   public void setJTAService(ObjectName name)
> -   {
> -      this.jtaService = name;
> -   }
> -
> -   /**
> -    * @return The JavaMail service mbean name
> -    */
> -   public ObjectName getMailService()
> -   {
> -      return mailService;
> -   }
> -
> -   /**
> -    * @param name The JavaMail service mbean name
> -    */
> -   public void setMailService(ObjectName name)
> -   {
> -      this.mailService = name;
> -   }
> -
> -   /**
> -    * @return The UserTransaction service mbean name
> -    */
> -   public ObjectName getUserTransactionService()
> -   {
> -      return userTxService;
> -   }
> -
> -   /**
> -    * @param name The UserTransaction service mbean name
> -    */
> -   public void setUserTransactionService(ObjectName name)
> -   {
> -      this.userTxService = name;
> -   }
> -
> -   /**
> -    * @return The RMI/IIOP service mbean name
> -    */
> -   public ObjectName getRMI_IIOPService()
> -   {
> -      return rmiiiopService;
> -   }
> -
> -   /**
> -    * @param name The RMI/IIOP service mbean name
> -    */
> -   public void setRMI_IIOPService(ObjectName name)
> -   {
> -      this.rmiiiopService = name;
> -   }
> -
> -   /**
> -    * @return The Jndi binding service mbean name
> -    */
> -   public ObjectName getJndiBindingService()
> -   {
> -      return jndiBindingService;
> -   }
> -
> -   /**
> -    * @param name The Jndi binding service mbean name
> -    */
> -   public void setJndiBindingService(ObjectName name)
> -   {
> -      this.jndiBindingService = name;
> -   }
> -
> -   /**
> -    * @return The ManagementObjFactoryMap class
> -    */
> -   public Class<?> getManagementObjFactoryMapClass()
> -   {
> -      return managedObjFactoryMapClass;
> -   }
> -
> -   /**
> -    * @param cls The ManagementObjFactoryMap class
> -    */
> -   public void setManagementObjFactoryMapClass(Class<?> cls)
> -   {
> -      this.managedObjFactoryMapClass = cls;
> -   }
> -
> -   public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
> -   {
> -      this.server = server;
> -      this.serviceName = name;
> -      return name;
> -   }
> -
> -   public void postRegister(Boolean registrationDone)
> -   {
> -      if (registrationDone)
> -      {
> -         try
> -         {
> -            createService();
> -         }
> -         catch (Exception e)
> -         {
> -            throw new RuntimeException(e);
> -         }
> -      }
> -   }
> -
> -   public void preDeregister() throws Exception
> -   {
> -      destroyService();
> -   }
> -
> -   public void postDeregister()
> -   {
> -   }
> -
> -   /**
> -    * The JMX nofication callback. Here we create/destroy JSR77 MBeans based
> -    * on the create/destory notifications.
> -    *
> -    * @param msg      the notification msg
> -    * @param handback currently unused
> -    */
> -   public void handleNotification(Notification msg, Object handback)
> -   {
> -      if (managedObjFactoryMap == null || server == null)
> -      {
> -         return;
> -      }
> -
> -      log.debug("handleNotification: " + msg);
> -      String type = msg.getType();
> -      Object userData = msg.getUserData();
> -      try
> -      {
> -         if (type.equals(ServiceMBean.CREATE_EVENT))
> -         {
> -            ManagedObjectFactory factory = managedObjFactoryMap.getFactory(msg);
> -            if (factory != null)
> -            {
> -               factory.create(server, userData);
> -            }
> -         }
> -         else if (type.equals(ServiceMBean.DESTROY_EVENT))
> -         {
> -            ManagedObjectFactory factory = managedObjFactoryMap.getFactory(msg);
> -            if (factory != null)
> -            {
> -               factory.destroy(server, userData);
> -            }
> -         }
> -      }
> -      catch (Throwable t)
> -      {
> -         log.debug("Failed to handle event", t);
> -      }
> -   }
> -
> -   public String toString()
> -   {
> -      return "LocalJBossServerDomain { " + super.toString() + " }";
> -   }
> -
> -   protected void createService() throws Exception
> -   {
> -      setupJ2EEMBeans();
> -      registerWithController();
> -      populateFactoryMap();
> -   }
> -
> -   /**
> -    * Called to destroy the service. This unregisters with all deployers and
> -    * then removes all MBeans in this services domain to remove all JSR77
> -    * beans.
> -    *
> -    * @throws Exception for any error
> -    */
> -   protected void destroyService() throws Exception
> -   {
> -      cleanupLeftoverMBeans();
> -      unregisterWithController();
> -   }
> -
> -   /**
> -    * Build the ManagedObjectFactoryMap used to obtain the ManagedObjectFactory
> -    * instances from notification msgs.
> -    *
> -    * @throws Exception for any error
> -    */
> -   private void populateFactoryMap() throws Exception
> -   {
> -      // Create the ManagedObjectFactoryMap
> -      managedObjFactoryMap = (ManagedObjectFactoryMap) managedObjFactoryMapClass.newInstance();
> -      managedObjFactoryMap.setJNDIResource(jndiService);
> -      managedObjFactoryMap.setJTAResource(jtaService);
> -      managedObjFactoryMap.setJTAResource(userTxService);
> -      managedObjFactoryMap.setJavaMailResource(mailService);
> -      managedObjFactoryMap.setRMI_IIOPResource(rmiiiopService);
> -   }
> -
> -   /**
> -    * Create the J2EEServer and JVM MBeans.
> -    */
> -   private void setupJ2EEMBeans()
> -   {
> -      // Create Server Component
> -      try
> -      {
> -         log.debug("setupJ2EEMBeans(), create J2EEServer instance");
> -         Package pkg = Package.getPackage("org.jboss");
> -         String vendor = pkg.getSpecificationVendor();
> -         String version = pkg.getImplementationVersion();
> -         // Create the createService
> -         J2EEDomain serverDomain = new J2EEDomain(serviceName.getDomain());
> -         ObjectName domain = serverDomain.getObjectName();
> -         server.registerMBean(serverDomain, domain);
> -         // Create single Local J2EEServer MBean
> -         J2EEServer j2eeServer = new J2EEServer("Local", domain, vendor, version);
> -         ObjectName lServer = j2eeServer.getObjectName();
> -         server.registerMBean(j2eeServer, lServer);
> -
> -         // Create the JVM MBean
> -         String hostName = "localhost";
> -         try
> -         {
> -            InetAddress lLocalHost = InetAddress.getLocalHost();
> -            hostName = lLocalHost.getHostName();
> -         }
> -         catch (Exception e)
> -         {
> -            // Ignore when host address is not accessible (localhost is used instead)
> -         }
> -         String vmVendor = System.getProperty("java.vendor");
> -         String vmVersion = System.getProperty("java.version");
> -         String name = vmVendor + " " + vmVersion;
> -         JVM jvm = new JVM(name, lServer, vmVersion, vmVendor, hostName);
> -         ObjectName jvmName = jvm.getObjectName();
> -         server.registerMBean(jvm, jvmName);
> -      }
> -      catch (JMException jme)
> -      {
> -         log.debug("setupJ2EEMBeans - unexpected JMException", jme);
> -      }
> -      catch (Exception e)
> -      {
> -         log.debug("setupJ2EEMBeans - unexpected exception", e);
> -      }
> -   }
> -
> -   /**
> -    * Register as a listener of the ServiceControllerMBean
> -    */
> -   private void registerWithController()
> -   {
> -      try
> -      {
> -         server.addNotificationListener(ServiceControllerMBean.OBJECT_NAME, this, null, null);
> -         log.debug("Registered as listener of: " + ServiceControllerMBean.OBJECT_NAME);
> -      }
> -      catch (JMException jme)
> -      {
> -         log.debug("unexpected exception", jme);
> -      }
> -      catch (Exception e)
> -      {
> -         log.debug("unexpected exception", e);
> -      }
> -   }
> -
> -   /**
> -    * Unregister as a listener of the ServiceControllerMBean.
> -    */
> -   private void unregisterWithController()
> -   {
> -      try
> -      {
> -         server.removeNotificationListener(ServiceControllerMBean.OBJECT_NAME, this);
> -         log.debug("UNRegistered as listener of: " + ServiceControllerMBean.OBJECT_NAME);
> -      }
> -      catch (JMException jme)
> -      {
> -         log.debug("unexpected exception", jme);
> -      }
> -      catch (Exception e)
> -      {
> -         log.debug("unexpected exception", e);
> -      }
> -   }
> -
> -   /**
> -    * Query for all mbeans in this services domain and unregisters them.
> -    *
> -    * @throws Exception if the domain query fails
> -    */
> -   private void cleanupLeftoverMBeans() throws Exception
> -   {
> -      String domain = serviceName.getDomain();
> -      ObjectName domainName = new ObjectName(domain + ":*");
> -      Set domainNames = server.queryNames(domainName, null);
> -      log.debug("Found " + domainNames.size() + " domain mbeans");
> -      for (Object name : domainNames)
> -      {
> -         try
> -         {
> -            ObjectName oname = (ObjectName)name;
> -            if (oname.equals(serviceName) == false)
> -               server.unregisterMBean(oname);
> -         }
> -         catch (MBeanException ignore)
> -         {
> -         }
> -      }
> -   }
> -}
> 
> Copied: trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomain.java (from rev 79636, trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomain.java)
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomain.java	                        (rev 0)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomain.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -0,0 +1,439 @@
> +/*
> +* JBoss, Home of Professional Open Source
> +* Copyright 2006, JBoss Inc., and individual contributors as indicated
> +* by the @authors tag. See the copyright.txt in the distribution for a
> +* full listing of individual contributors.
> +*
> +* This is free software; you can redistribute it and/or modify it
> +* under the terms of the GNU Lesser General Public License as
> +* published by the Free Software Foundation; either version 2.1 of
> +* the License, or (at your option) any later version.
> +*
> +* This software is distributed in the hope that it will be useful,
> +* but WITHOUT ANY WARRANTY; without even the implied warranty of
> +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +* Lesser General Public License for more details.
> +*
> +* You should have received a copy of the GNU Lesser General Public
> +* License along with this software; if not, write to the Free
> +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> +* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> +*/
> +package org.jboss.management.j2ee.deployers;
> +
> +import java.net.InetAddress;
> +import java.util.Set;
> +import javax.management.JMException;
> +import javax.management.MBeanException;
> +import javax.management.MBeanServer;
> +import javax.management.Notification;
> +import javax.management.NotificationListener;
> +import javax.management.ObjectName;
> +import javax.management.MBeanRegistration;
> +
> +import org.jboss.logging.Logger;
> +import org.jboss.management.j2ee.J2EEDomain;
> +import org.jboss.management.j2ee.J2EEServer;
> +import org.jboss.management.j2ee.JVM;
> +import org.jboss.management.j2ee.factory.DefaultManagedObjectFactoryMap;
> +import org.jboss.management.j2ee.factory.ManagedObjectFactory;
> +import org.jboss.management.j2ee.factory.ManagedObjectFactoryMap;
> +import org.jboss.system.ServiceControllerMBean;
> +import org.jboss.system.ServiceMBean;
> +
> +/**
> + * Port of the old LocalJBossServerDomain to POJO.
> + *
> + * @author  <a href="mailto:andreas at jboss.org">Andreas Schaefer</a>
> + * @author  <a href="mailto:scott.stark at jboss.org">Scott Stark</a>
> + * @author  <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
> + */
> +public class LocalJBossServerDomain implements NotificationListener, LocalJBossServerDomainMBean, MBeanRegistration
> +{
> +   /**
> +    * Class logger.
> +    */
> +   private static final Logger log = Logger.getLogger(LocalJBossServerDomain.class);
> +
> +   /** The mbean server */
> +   private MBeanServer server;
> +
> +   /** The service name */
> +   private ObjectName serviceName;
> +
> +   /**
> +    * The name of the JNDI service
> +    */
> +   private ObjectName jndiService;
> +   /**
> +    * The name of the JTA service
> +    */
> +   private ObjectName jtaService;
> +   /**
> +    * The name of the UserTransaction service
> +    */
> +   private ObjectName userTxService;
> +   /**
> +    * The name of the JavaMail service
> +    */
> +   private ObjectName mailService;
> +   /**
> +    * The name of the RMI_IIOP service
> +    */
> +   private ObjectName rmiiiopService;
> +   /**
> +    * The name of the service which emites URL binding events
> +    */
> +   private ObjectName jndiBindingService;
> +
> +   /**
> +    * A mapping of JMX notifications to ManagedObjectFactory instances
> +    */
> +   private ManagedObjectFactoryMap managedObjFactoryMap;
> +
> +   /**
> +    * The managed factory map class
> +    */
> +   private Class<?> managedObjFactoryMapClass = DefaultManagedObjectFactoryMap.class;
> +
> +   /**
> +    * @return The JNDI service mbean name
> +    */
> +   public ObjectName getJNDIService()
> +   {
> +      return jndiService;
> +   }
> +
> +   /**
> +    * @param name The JNDI service mbean name
> +    */
> +   public void setJNDIService(ObjectName name)
> +   {
> +      this.jndiService = name;
> +   }
> +
> +   /**
> +    * @return The JTA service mbean name
> +    */
> +   public ObjectName getJTAService()
> +   {
> +      return jtaService;
> +   }
> +
> +   /**
> +    * @param name The JTA service mbean name
> +    */
> +   public void setJTAService(ObjectName name)
> +   {
> +      this.jtaService = name;
> +   }
> +
> +   /**
> +    * @return The JavaMail service mbean name
> +    */
> +   public ObjectName getMailService()
> +   {
> +      return mailService;
> +   }
> +
> +   /**
> +    * @param name The JavaMail service mbean name
> +    */
> +   public void setMailService(ObjectName name)
> +   {
> +      this.mailService = name;
> +   }
> +
> +   /**
> +    * @return The UserTransaction service mbean name
> +    */
> +   public ObjectName getUserTransactionService()
> +   {
> +      return userTxService;
> +   }
> +
> +   /**
> +    * @param name The UserTransaction service mbean name
> +    */
> +   public void setUserTransactionService(ObjectName name)
> +   {
> +      this.userTxService = name;
> +   }
> +
> +   /**
> +    * @return The RMI/IIOP service mbean name
> +    */
> +   public ObjectName getRMI_IIOPService()
> +   {
> +      return rmiiiopService;
> +   }
> +
> +   /**
> +    * @param name The RMI/IIOP service mbean name
> +    */
> +   public void setRMI_IIOPService(ObjectName name)
> +   {
> +      this.rmiiiopService = name;
> +   }
> +
> +   /**
> +    * @return The Jndi binding service mbean name
> +    */
> +   public ObjectName getJndiBindingService()
> +   {
> +      return jndiBindingService;
> +   }
> +
> +   /**
> +    * @param name The Jndi binding service mbean name
> +    */
> +   public void setJndiBindingService(ObjectName name)
> +   {
> +      this.jndiBindingService = name;
> +   }
> +
> +   /**
> +    * @return The ManagementObjFactoryMap class
> +    */
> +   public Class<?> getManagementObjFactoryMapClass()
> +   {
> +      return managedObjFactoryMapClass;
> +   }
> +
> +   /**
> +    * @param cls The ManagementObjFactoryMap class
> +    */
> +   public void setManagementObjFactoryMapClass(Class<?> cls)
> +   {
> +      this.managedObjFactoryMapClass = cls;
> +   }
> +
> +   public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
> +   {
> +      this.server = server;
> +      this.serviceName = name;
> +      return name;
> +   }
> +
> +   public void postRegister(Boolean registrationDone)
> +   {
> +      if (registrationDone)
> +      {
> +         try
> +         {
> +            createService();
> +         }
> +         catch (Exception e)
> +         {
> +            throw new RuntimeException(e);
> +         }
> +      }
> +   }
> +
> +   public void preDeregister() throws Exception
> +   {
> +      destroyService();
> +   }
> +
> +   public void postDeregister()
> +   {
> +   }
> +
> +   /**
> +    * The JMX nofication callback. Here we create/destroy JSR77 MBeans based
> +    * on the create/destory notifications.
> +    *
> +    * @param msg      the notification msg
> +    * @param handback currently unused
> +    */
> +   public void handleNotification(Notification msg, Object handback)
> +   {
> +      if (managedObjFactoryMap == null || server == null)
> +      {
> +         return;
> +      }
> +
> +      log.debug("handleNotification: " + msg);
> +      String type = msg.getType();
> +      Object userData = msg.getUserData();
> +      try
> +      {
> +         if (type.equals(ServiceMBean.CREATE_EVENT))
> +         {
> +            ManagedObjectFactory factory = managedObjFactoryMap.getFactory(msg);
> +            if (factory != null)
> +            {
> +               factory.create(server, userData);
> +            }
> +         }
> +         else if (type.equals(ServiceMBean.DESTROY_EVENT))
> +         {
> +            ManagedObjectFactory factory = managedObjFactoryMap.getFactory(msg);
> +            if (factory != null)
> +            {
> +               factory.destroy(server, userData);
> +            }
> +         }
> +      }
> +      catch (Throwable t)
> +      {
> +         log.debug("Failed to handle event", t);
> +      }
> +   }
> +
> +   public String toString()
> +   {
> +      return "LocalJBossServerDomain { " + super.toString() + " }";
> +   }
> +
> +   protected void createService() throws Exception
> +   {
> +      setupJ2EEMBeans();
> +      registerWithController();
> +      populateFactoryMap();
> +   }
> +
> +   /**
> +    * Called to destroy the service. This unregisters with all deployers and
> +    * then removes all MBeans in this services domain to remove all JSR77
> +    * beans.
> +    *
> +    * @throws Exception for any error
> +    */
> +   protected void destroyService() throws Exception
> +   {
> +      cleanupLeftoverMBeans();
> +      unregisterWithController();
> +   }
> +
> +   /**
> +    * Build the ManagedObjectFactoryMap used to obtain the ManagedObjectFactory
> +    * instances from notification msgs.
> +    *
> +    * @throws Exception for any error
> +    */
> +   private void populateFactoryMap() throws Exception
> +   {
> +      // Create the ManagedObjectFactoryMap
> +      managedObjFactoryMap = (ManagedObjectFactoryMap) managedObjFactoryMapClass.newInstance();
> +      managedObjFactoryMap.setJNDIResource(jndiService);
> +      managedObjFactoryMap.setJTAResource(jtaService);
> +      managedObjFactoryMap.setJTAResource(userTxService);
> +      managedObjFactoryMap.setJavaMailResource(mailService);
> +      managedObjFactoryMap.setRMI_IIOPResource(rmiiiopService);
> +   }
> +
> +   /**
> +    * Create the J2EEServer and JVM MBeans.
> +    */
> +   private void setupJ2EEMBeans()
> +   {
> +      // Create Server Component
> +      try
> +      {
> +         log.debug("setupJ2EEMBeans(), create J2EEServer instance");
> +         Package pkg = Package.getPackage("org.jboss");
> +         String vendor = pkg.getSpecificationVendor();
> +         String version = pkg.getImplementationVersion();
> +         // Create the createService
> +         J2EEDomain serverDomain = new J2EEDomain(serviceName.getDomain());
> +         ObjectName domain = serverDomain.getObjectName();
> +         server.registerMBean(serverDomain, domain);
> +         // Create single Local J2EEServer MBean
> +         J2EEServer j2eeServer = new J2EEServer("Local", domain, vendor, version);
> +         ObjectName lServer = j2eeServer.getObjectName();
> +         server.registerMBean(j2eeServer, lServer);
> +
> +         // Create the JVM MBean
> +         String hostName = "localhost";
> +         try
> +         {
> +            InetAddress lLocalHost = InetAddress.getLocalHost();
> +            hostName = lLocalHost.getHostName();
> +         }
> +         catch (Exception e)
> +         {
> +            // Ignore when host address is not accessible (localhost is used instead)
> +         }
> +         String vmVendor = System.getProperty("java.vendor");
> +         String vmVersion = System.getProperty("java.version");
> +         String name = vmVendor + " " + vmVersion;
> +         JVM jvm = new JVM(name, lServer, vmVersion, vmVendor, hostName);
> +         ObjectName jvmName = jvm.getObjectName();
> +         server.registerMBean(jvm, jvmName);
> +      }
> +      catch (JMException jme)
> +      {
> +         log.debug("setupJ2EEMBeans - unexpected JMException", jme);
> +      }
> +      catch (Exception e)
> +      {
> +         log.debug("setupJ2EEMBeans - unexpected exception", e);
> +      }
> +   }
> +
> +   /**
> +    * Register as a listener of the ServiceControllerMBean
> +    */
> +   private void registerWithController()
> +   {
> +      try
> +      {
> +         server.addNotificationListener(ServiceControllerMBean.OBJECT_NAME, this, null, null);
> +         log.debug("Registered as listener of: " + ServiceControllerMBean.OBJECT_NAME);
> +      }
> +      catch (JMException jme)
> +      {
> +         log.debug("unexpected exception", jme);
> +      }
> +      catch (Exception e)
> +      {
> +         log.debug("unexpected exception", e);
> +      }
> +   }
> +
> +   /**
> +    * Unregister as a listener of the ServiceControllerMBean.
> +    */
> +   private void unregisterWithController()
> +   {
> +      try
> +      {
> +         server.removeNotificationListener(ServiceControllerMBean.OBJECT_NAME, this);
> +         log.debug("UNRegistered as listener of: " + ServiceControllerMBean.OBJECT_NAME);
> +      }
> +      catch (JMException jme)
> +      {
> +         log.debug("unexpected exception", jme);
> +      }
> +      catch (Exception e)
> +      {
> +         log.debug("unexpected exception", e);
> +      }
> +   }
> +
> +   /**
> +    * Query for all mbeans in this services domain and unregisters them.
> +    *
> +    * @throws Exception if the domain query fails
> +    */
> +   private void cleanupLeftoverMBeans() throws Exception
> +   {
> +      String domain = serviceName.getDomain();
> +      ObjectName domainName = new ObjectName(domain + ":*");
> +      Set domainNames = server.queryNames(domainName, null);
> +      log.debug("Found " + domainNames.size() + " domain mbeans");
> +      for (Object name : domainNames)
> +      {
> +         try
> +         {
> +            ObjectName oname = (ObjectName)name;
> +            if (oname.equals(serviceName) == false)
> +               server.unregisterMBean(oname);
> +         }
> +         catch (MBeanException ignore)
> +         {
> +         }
> +      }
> +   }
> +}
> 
> Deleted: trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomainMBean.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomainMBean.java	2008-10-17 13:48:39 UTC (rev 79636)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomainMBean.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -1,53 +0,0 @@
> -/*
> -* JBoss, Home of Professional Open Source
> -* Copyright 2006, JBoss Inc., and individual contributors as indicated
> -* by the @authors tag. See the copyright.txt in the distribution for a
> -* full listing of individual contributors.
> -*
> -* This is free software; you can redistribute it and/or modify it
> -* under the terms of the GNU Lesser General Public License as
> -* published by the Free Software Foundation; either version 2.1 of
> -* the License, or (at your option) any later version.
> -*
> -* This software is distributed in the hope that it will be useful,
> -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> -* Lesser General Public License for more details.
> -*
> -* You should have received a copy of the GNU Lesser General Public
> -* License along with this software; if not, write to the Free
> -* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> -* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> -*/
> -package org.jboss.management.j2ee.deployers;
> -
> -import javax.management.ObjectName;
> -
> -/**
> - * Reduced port of the old LocalJBossServerDomainMBean.
> - *  
> - * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> - */
> -public interface LocalJBossServerDomainMBean
> -{
> -   ObjectName getJNDIService();
> -   void setJNDIService(ObjectName name);
> -
> -   ObjectName getJTAService();
> -   void setJTAService(ObjectName name);
> -
> -   ObjectName getMailService();
> -   void setMailService(ObjectName name);
> -
> -   ObjectName getUserTransactionService();
> -   void setUserTransactionService(ObjectName name);
> -
> -   ObjectName getRMI_IIOPService();
> -   void setRMI_IIOPService(ObjectName name);
> -
> -   ObjectName getJndiBindingService();
> -   void setJndiBindingService(ObjectName name);
> -
> -   Class<?> getManagementObjFactoryMapClass();
> -   void setManagementObjFactoryMapClass(Class<?> cls);
> -}
> 
> Copied: trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomainMBean.java (from rev 79636, trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomainMBean.java)
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomainMBean.java	                        (rev 0)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/LocalJBossServerDomainMBean.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -0,0 +1,53 @@
> +/*
> +* JBoss, Home of Professional Open Source
> +* Copyright 2006, JBoss Inc., and individual contributors as indicated
> +* by the @authors tag. See the copyright.txt in the distribution for a
> +* full listing of individual contributors.
> +*
> +* This is free software; you can redistribute it and/or modify it
> +* under the terms of the GNU Lesser General Public License as
> +* published by the Free Software Foundation; either version 2.1 of
> +* the License, or (at your option) any later version.
> +*
> +* This software is distributed in the hope that it will be useful,
> +* but WITHOUT ANY WARRANTY; without even the implied warranty of
> +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +* Lesser General Public License for more details.
> +*
> +* You should have received a copy of the GNU Lesser General Public
> +* License along with this software; if not, write to the Free
> +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> +* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> +*/
> +package org.jboss.management.j2ee.deployers;
> +
> +import javax.management.ObjectName;
> +
> +/**
> + * Reduced port of the old LocalJBossServerDomainMBean.
> + *  
> + * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> + */
> +public interface LocalJBossServerDomainMBean
> +{
> +   ObjectName getJNDIService();
> +   void setJNDIService(ObjectName name);
> +
> +   ObjectName getJTAService();
> +   void setJTAService(ObjectName name);
> +
> +   ObjectName getMailService();
> +   void setMailService(ObjectName name);
> +
> +   ObjectName getUserTransactionService();
> +   void setUserTransactionService(ObjectName name);
> +
> +   ObjectName getRMI_IIOPService();
> +   void setRMI_IIOPService(ObjectName name);
> +
> +   ObjectName getJndiBindingService();
> +   void setJndiBindingService(ObjectName name);
> +
> +   Class<?> getManagementObjFactoryMapClass();
> +   void setManagementObjFactoryMapClass(Class<?> cls);
> +}
> 
> Deleted: trunk/management/src/main/org/jboss/management/j2ee/deployers/RarModuleJSR277Deployer.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/RarModuleJSR277Deployer.java	2008-10-17 13:48:39 UTC (rev 79636)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/RarModuleJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -1,73 +0,0 @@
> -/*
> -* JBoss, Home of Professional Open Source
> -* Copyright 2006, JBoss Inc., and individual contributors as indicated
> -* by the @authors tag. See the copyright.txt in the distribution for a
> -* full listing of individual contributors.
> -*
> -* This is free software; you can redistribute it and/or modify it
> -* under the terms of the GNU Lesser General Public License as
> -* published by the Free Software Foundation; either version 2.1 of
> -* the License, or (at your option) any later version.
> -*
> -* This software is distributed in the hope that it will be useful,
> -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> -* Lesser General Public License for more details.
> -*
> -* You should have received a copy of the GNU Lesser General Public
> -* License along with this software; if not, write to the Free
> -* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> -* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> -*/
> -package org.jboss.management.j2ee.deployers;
> -
> -import javax.management.MBeanServer;
> -import javax.management.ObjectName;
> -
> -import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> -import org.jboss.management.j2ee.ResourceAdapter;
> -import org.jboss.management.j2ee.ResourceAdapterModule;
> -import org.jboss.management.j2ee.factory.FactoryUtils;
> -import org.jboss.resource.metadata.ConnectorMetaData;
> -import org.jboss.resource.metadata.RARDeploymentMetaData;
> -
> -/**
> - * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> - */
> -public class RarModuleJSR277Deployer extends AbstractVFSJSR277Deployer<RARDeploymentMetaData>
> -{
> -   public RarModuleJSR277Deployer()
> -   {
> -      super(RARDeploymentMetaData.class);
> -   }
> -
> -   protected void deployJsr77(MBeanServer server, VFSDeploymentUnit unit, RARDeploymentMetaData rdmd) throws Throwable
> -   {
> -      ConnectorMetaData metaData = rdmd.getConnectorMetaData();
> -      // Create the ResourceAdapterModule
> -      String rarName = unit.getSimpleName();
> -      ObjectName rarService = extractRootObjectName(server, unit, rdmd); // TODO
> -      ObjectName jsr77ModuleName = ResourceAdapterModule.create(server, FactoryUtils.findEarParent(unit), rarName, unit.getRoot().toURL());
> -      putObjectName(unit, ResourceAdapter.class.getName(), jsr77ModuleName);
> -      log.debug("Created module: " + jsr77ModuleName);
> -      // Create the ResourceAdapter
> -      ObjectName jsr77RAName = ResourceAdapter.create(server, metaData.getDescription().getDisplayName(), jsr77ModuleName, rarService);
> -      // Register a mapping from the RARDeployment service to the ResourceAdapter
> -      putObjectName(unit, rarService.getCanonicalName(), jsr77RAName);
> -   }
> -
> -   protected void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, RARDeploymentMetaData rdmd)
> -   {
> -      ConnectorMetaData metaData = rdmd.getConnectorMetaData();
> -      ObjectName jsr77Name = removeObjectName(unit, ResourceAdapter.class.getName());
> -      ResourceAdapter.destroy(server, metaData.getDescription().getDisplayName());
> -      log.debug("Destroy module: " + jsr77Name);
> -      if (jsr77Name != null)
> -      {
> -         ResourceAdapterModule.destroy(server, jsr77Name);
> -      }
> -      ObjectName rarService = extractRootObjectName(server, unit, rdmd); // TODO
> -      if (rarService != null)
> -         removeObjectName(unit, rarService.getCanonicalName());
> -   }
> -}
> \ No newline at end of file
> 
> Copied: trunk/management/src/main/org/jboss/management/j2ee/deployers/RarModuleJSR277Deployer.java (from rev 79636, trunk/management/src/main/org/jboss/management/j2ee/deployers/RarModuleJSR277Deployer.java)
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/RarModuleJSR277Deployer.java	                        (rev 0)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/RarModuleJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -0,0 +1,75 @@
> +/*
> +* JBoss, Home of Professional Open Source
> +* Copyright 2006, JBoss Inc., and individual contributors as indicated
> +* by the @authors tag. See the copyright.txt in the distribution for a
> +* full listing of individual contributors.
> +*
> +* This is free software; you can redistribute it and/or modify it
> +* under the terms of the GNU Lesser General Public License as
> +* published by the Free Software Foundation; either version 2.1 of
> +* the License, or (at your option) any later version.
> +*
> +* This software is distributed in the hope that it will be useful,
> +* but WITHOUT ANY WARRANTY; without even the implied warranty of
> +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +* Lesser General Public License for more details.
> +*
> +* You should have received a copy of the GNU Lesser General Public
> +* License along with this software; if not, write to the Free
> +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> +* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> +*/
> +package org.jboss.management.j2ee.deployers;
> +
> +import javax.management.MBeanServer;
> +import javax.management.ObjectName;
> +
> +import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> +import org.jboss.management.j2ee.ResourceAdapter;
> +import org.jboss.management.j2ee.ResourceAdapterModule;
> +import org.jboss.management.j2ee.factory.FactoryUtils;
> +import org.jboss.resource.metadata.ConnectorMetaData;
> +import org.jboss.resource.metadata.RARDeploymentMetaData;
> +
> +/**
> + * Rar module jsr77 deployer.
> + * 
> + * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> + */
> +public class RarModuleJSR277Deployer extends AbstractVFSJSR277Deployer<RARDeploymentMetaData>
> +{
> +   public RarModuleJSR277Deployer()
> +   {
> +      super(RARDeploymentMetaData.class);
> +   }
> +
> +   protected void deployJsr77(MBeanServer server, VFSDeploymentUnit unit, RARDeploymentMetaData rdmd) throws Throwable
> +   {
> +      ConnectorMetaData metaData = rdmd.getConnectorMetaData();
> +      // Create the ResourceAdapterModule
> +      String rarName = unit.getSimpleName();
> +      ObjectName rarService = extractRootObjectName(server, unit, rdmd); // TODO
> +      ObjectName jsr77ModuleName = ResourceAdapterModule.create(server, FactoryUtils.findEarParent(unit), rarName, unit.getRoot().toURL());
> +      putObjectName(unit, ResourceAdapter.class.getName(), jsr77ModuleName);
> +      log.debug("Created module: " + jsr77ModuleName);
> +      // Create the ResourceAdapter
> +      ObjectName jsr77RAName = ResourceAdapter.create(server, metaData.getDescription().getDisplayName(), jsr77ModuleName, rarService);
> +      // Register a mapping from the RARDeployment service to the ResourceAdapter
> +      putObjectName(unit, rarService.getCanonicalName(), jsr77RAName);
> +   }
> +
> +   protected void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, RARDeploymentMetaData rdmd)
> +   {
> +      ConnectorMetaData metaData = rdmd.getConnectorMetaData();
> +      ObjectName jsr77Name = removeObjectName(unit, ResourceAdapter.class.getName());
> +      ResourceAdapter.destroy(server, metaData.getDescription().getDisplayName());
> +      log.debug("Destroy module: " + jsr77Name);
> +      if (jsr77Name != null)
> +      {
> +         ResourceAdapterModule.destroy(server, jsr77Name);
> +      }
> +      ObjectName rarService = extractRootObjectName(server, unit, rdmd); // TODO
> +      if (rarService != null)
> +         removeObjectName(unit, rarService.getCanonicalName());
> +   }
> +}
> \ No newline at end of file
> 
> Deleted: trunk/management/src/main/org/jboss/management/j2ee/deployers/ServiceModuleJSR277Deployer.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/ServiceModuleJSR277Deployer.java	2008-10-17 13:48:39 UTC (rev 79636)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/ServiceModuleJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -1,100 +0,0 @@
> -/*
> -* JBoss, Home of Professional Open Source
> -* Copyright 2006, JBoss Inc., and individual contributors as indicated
> -* by the @authors tag. See the copyright.txt in the distribution for a
> -* full listing of individual contributors.
> -*
> -* This is free software; you can redistribute it and/or modify it
> -* under the terms of the GNU Lesser General Public License as
> -* published by the Free Software Foundation; either version 2.1 of
> -* the License, or (at your option) any later version.
> -*
> -* This software is distributed in the hope that it will be useful,
> -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> -* Lesser General Public License for more details.
> -*
> -* You should have received a copy of the GNU Lesser General Public
> -* License along with this software; if not, write to the Free
> -* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> -* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> -*/
> -package org.jboss.management.j2ee.deployers;
> -
> -import java.util.List;
> -import java.util.ListIterator;
> -import javax.management.MBeanServer;
> -import javax.management.ObjectName;
> -
> -import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> -import org.jboss.management.j2ee.MBean;
> -import org.jboss.management.j2ee.ServiceModule;
> -import org.jboss.system.metadata.ServiceDeployment;
> -import org.jboss.system.metadata.ServiceMetaData;
> -
> -/**
> - * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> - */
> -public class ServiceModuleJSR277Deployer extends AbstractVFSJSR277Deployer<ServiceDeployment>
> -{
> -   public ServiceModuleJSR277Deployer()
> -   {
> -      super(ServiceDeployment.class);
> -   }
> -
> -   protected void deployJsr77(MBeanServer server, VFSDeploymentUnit unit, ServiceDeployment metaData) throws Throwable
> -   {
> -      ObjectName sarName = ServiceModule.create(server, unit.getSimpleName(), unit.getRoot().toURL());
> -      if (sarName != null)
> -      {
> -         log.debug("Created ServiceModule: " + sarName);
> -      }
> -
> -      List<ServiceMetaData> beans = metaData.getServices();
> -      if (beans != null && beans.isEmpty() == false)
> -      {
> -         for (ServiceMetaData bean : beans)
> -         {
> -            ObjectName mbeanName = bean.getObjectName();
> -            // Create JSR-77 MBean
> -            MBean.create(server, sarName.toString(), mbeanName);
> -            log.debug("Create MBean, name: " + mbeanName + ", SAR Module: " + sarName);
> -         }
> -      }
> -   }
> -
> -   protected void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, ServiceDeployment metaData)
> -   {
> -      List<ServiceMetaData> beans = metaData.getServices();
> -      if (beans != null && beans.isEmpty() == false)
> -      {
> -         ListIterator<ServiceMetaData> iter = beans.listIterator(beans.size());
> -         while(iter.hasPrevious())
> -         {
> -            ObjectName name = iter.previous().getObjectName();
> -            try
> -            {
> -               // Destroy JSR-77 MBean
> -               MBean.destroy(server, name.toString());
> -               log.debug("Destroy MBean, name: " + name);
> -            }
> -            catch (Throwable e)
> -            {
> -               log.debug("Failed to remove remove JSR-77 MBean", e);
> -            }
> -         }
> -      }
> -
> -      // Remove JSR-77 SAR-Module
> -      String moduleName = unit.getSimpleName();
> -      try
> -      {
> -         ServiceModule.destroy(server, moduleName);
> -         log.debug("Removed JSR-77 SAR: " + moduleName);
> -      }
> -      catch (Throwable e)
> -      {
> -         log.debug("Failed to remove JSR-77 SAR: " + moduleName);
> -      }
> -   }
> -}
> \ No newline at end of file
> 
> Copied: trunk/management/src/main/org/jboss/management/j2ee/deployers/ServiceModuleJSR277Deployer.java (from rev 79636, trunk/management/src/main/org/jboss/management/j2ee/deployers/ServiceModuleJSR277Deployer.java)
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/ServiceModuleJSR277Deployer.java	                        (rev 0)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/ServiceModuleJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -0,0 +1,102 @@
> +/*
> +* JBoss, Home of Professional Open Source
> +* Copyright 2006, JBoss Inc., and individual contributors as indicated
> +* by the @authors tag. See the copyright.txt in the distribution for a
> +* full listing of individual contributors.
> +*
> +* This is free software; you can redistribute it and/or modify it
> +* under the terms of the GNU Lesser General Public License as
> +* published by the Free Software Foundation; either version 2.1 of
> +* the License, or (at your option) any later version.
> +*
> +* This software is distributed in the hope that it will be useful,
> +* but WITHOUT ANY WARRANTY; without even the implied warranty of
> +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +* Lesser General Public License for more details.
> +*
> +* You should have received a copy of the GNU Lesser General Public
> +* License along with this software; if not, write to the Free
> +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> +* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> +*/
> +package org.jboss.management.j2ee.deployers;
> +
> +import java.util.List;
> +import java.util.ListIterator;
> +import javax.management.MBeanServer;
> +import javax.management.ObjectName;
> +
> +import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> +import org.jboss.management.j2ee.MBean;
> +import org.jboss.management.j2ee.ServiceModule;
> +import org.jboss.system.metadata.ServiceDeployment;
> +import org.jboss.system.metadata.ServiceMetaData;
> +
> +/**
> + * Service module jsr77 deployer.
> + * 
> + * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> + */
> +public class ServiceModuleJSR277Deployer extends AbstractVFSJSR277Deployer<ServiceDeployment>
> +{
> +   public ServiceModuleJSR277Deployer()
> +   {
> +      super(ServiceDeployment.class);
> +   }
> +
> +   protected void deployJsr77(MBeanServer server, VFSDeploymentUnit unit, ServiceDeployment metaData) throws Throwable
> +   {
> +      ObjectName sarName = ServiceModule.create(server, unit.getSimpleName(), unit.getRoot().toURL());
> +      if (sarName != null)
> +      {
> +         log.debug("Created ServiceModule: " + sarName);
> +      }
> +
> +      List<ServiceMetaData> beans = metaData.getServices();
> +      if (beans != null && beans.isEmpty() == false)
> +      {
> +         for (ServiceMetaData bean : beans)
> +         {
> +            ObjectName mbeanName = bean.getObjectName();
> +            // Create JSR-77 MBean
> +            MBean.create(server, sarName.toString(), mbeanName);
> +            log.debug("Create MBean, name: " + mbeanName + ", SAR Module: " + sarName);
> +         }
> +      }
> +   }
> +
> +   protected void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, ServiceDeployment metaData)
> +   {
> +      List<ServiceMetaData> beans = metaData.getServices();
> +      if (beans != null && beans.isEmpty() == false)
> +      {
> +         ListIterator<ServiceMetaData> iter = beans.listIterator(beans.size());
> +         while(iter.hasPrevious())
> +         {
> +            ObjectName name = iter.previous().getObjectName();
> +            try
> +            {
> +               // Destroy JSR-77 MBean
> +               MBean.destroy(server, name.toString());
> +               log.debug("Destroy MBean, name: " + name);
> +            }
> +            catch (Throwable e)
> +            {
> +               log.debug("Failed to remove remove JSR-77 MBean", e);
> +            }
> +         }
> +      }
> +
> +      // Remove JSR-77 SAR-Module
> +      String moduleName = unit.getSimpleName();
> +      try
> +      {
> +         ServiceModule.destroy(server, moduleName);
> +         log.debug("Removed JSR-77 SAR: " + moduleName);
> +      }
> +      catch (Throwable e)
> +      {
> +         log.debug("Failed to remove JSR-77 SAR: " + moduleName);
> +      }
> +   }
> +}
> \ No newline at end of file
> 
> Deleted: trunk/management/src/main/org/jboss/management/j2ee/deployers/WebModuleJSR277Deployer.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/WebModuleJSR277Deployer.java	2008-10-17 13:48:39 UTC (rev 79636)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/WebModuleJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -1,139 +0,0 @@
> -/*
> -* JBoss, Home of Professional Open Source
> -* Copyright 2006, JBoss Inc., and individual contributors as indicated
> -* by the @authors tag. See the copyright.txt in the distribution for a
> -* full listing of individual contributors.
> -*
> -* This is free software; you can redistribute it and/or modify it
> -* under the terms of the GNU Lesser General Public License as
> -* published by the Free Software Foundation; either version 2.1 of
> -* the License, or (at your option) any later version.
> -*
> -* This software is distributed in the hope that it will be useful,
> -* but WITHOUT ANY WARRANTY; without even the implied warranty of
> -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> -* Lesser General Public License for more details.
> -*
> -* You should have received a copy of the GNU Lesser General Public
> -* License along with this software; if not, write to the Free
> -* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> -* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> -*/
> -package org.jboss.management.j2ee.deployers;
> -
> -import javax.management.MBeanServer;
> -import javax.management.ObjectName;
> -
> -import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> -import org.jboss.management.j2ee.Servlet;
> -import org.jboss.management.j2ee.WebModule;
> -import org.jboss.management.j2ee.factory.FactoryUtils;
> -import org.jboss.metadata.web.jboss.JBossWebMetaData;
> -
> -/**
> - * War module jsr77 view deployer.
> - *
> - * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> - */
> -public class WebModuleJSR277Deployer extends AbstractVFSJSR277Deployer<JBossWebMetaData>
> -{
> -   public WebModuleJSR277Deployer()
> -   {
> -      super(JBossWebMetaData.class);
> -   }
> -
> -   protected void deployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossWebMetaData metaData) throws Throwable
> -   {
> -      String warName = unit.getSimpleName();
> -      ObjectName webModuleService = extractRootObjectName(server, unit, metaData); // TODO
> -      String earName = FactoryUtils.findEarParent(unit);
> -      ObjectName jsr77Name = WebModule.create(server, earName, warName, unit.getRoot().toURL(), webModuleService);
> -      putObjectName(unit, WebModule.class.getName(), jsr77Name);
> -      Iterable<ObjectName> servlets = extractComponentObjectNames(server, unit, metaData); // TODO
> -      for (ObjectName servletName : servlets)
> -      {
> -         try
> -         {
> -            createServlet(server, unit, jsr77Name, servletName);
> -         }
> -         catch (Throwable e)
> -         {
> -            log.debug("Failed to create JSR-77 servlet: " + servletName, e);
> -         }
> -      }
> -   }
> -
> -   protected void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossWebMetaData metaData)
> -   {
> -      ObjectName jsr77Name = removeObjectName(unit, WebModule.class.getName());
> -      log.debug("Destroy module: " + jsr77Name);
> -      Iterable<ObjectName> servlets = extractComponentObjectNames(server, unit, metaData); // TODO
> -      for (ObjectName servletName : servlets)
> -      {
> -         try
> -         {
> -            destroyServlet(server, unit, servletName);
> -         }
> -         catch (Throwable e)
> -         {
> -            log.debug("Failed to destroy JSR-77 servlet: " + servletName, e);
> -         }
> -      }
> -
> -      if (jsr77Name != null)
> -      {
> -         WebModule.destroy(server, jsr77Name);
> -      }
> -   }
> -
> -   /**
> -    * Create JSR-77 Servlet
> -    *
> -    * @param mbeanServer        the MBeanServer context
> -    * @param unit the deployment unit
> -    * @param webModuleName      the JSR77 name of the servlet's WebModule
> -    * @param servletServiceName The jboss servlet mbean name
> -    * @return servlet's jsr77 object name
> -    */
> -   public ObjectName createServlet(MBeanServer mbeanServer, VFSDeploymentUnit unit, ObjectName webModuleName, ObjectName servletServiceName)
> -   {
> -      ObjectName jsr77Name = null;
> -      // We don't currently have a web container mbean
> -      ObjectName webContainerName = null;
> -      try
> -      {
> -         log.debug("Creating servlet: " + servletServiceName);
> -         String servletName = servletServiceName.getKeyProperty("name");
> -         if (servletName != null)
> -         {
> -            // Only treat resources with names as potential servlets
> -            jsr77Name = Servlet.create(mbeanServer, webModuleName, webContainerName, servletServiceName);
> -            putObjectName(unit, servletServiceName.getCanonicalName(), jsr77Name);
> -            log.debug("Created servlet: " + servletServiceName + ", module: " + jsr77Name);
> -         }
> -      }
> -      catch (Exception e)
> -      {
> -         log.debug("Failed to create servlet: " + servletServiceName, e);
> -      }
> -
> -      return jsr77Name;
> -   }
> -
> -   /**
> -    * Destroy JSR-77 Servlet
> -    *
> -    * @param server        the MBeanServer context
> -    * @param unit the deployment unit
> -    * @param servletServiceName The jboss servlet mbean name
> -    */
> -   public void destroyServlet(MBeanServer server, VFSDeploymentUnit unit, ObjectName servletServiceName)
> -   {
> -      ObjectName jsr77Name = removeObjectName(unit, servletServiceName.getCanonicalName());
> -      log.debug("Destroy container: " + servletServiceName + ", module: " + jsr77Name);
> -      if (jsr77Name != null)
> -      {
> -         Servlet.destroy(server, jsr77Name);
> -      }
> -   }
> -}
> \ No newline at end of file
> 
> Copied: trunk/management/src/main/org/jboss/management/j2ee/deployers/WebModuleJSR277Deployer.java (from rev 79636, trunk/management/src/main/org/jboss/management/j2ee/deployers/WebModuleJSR277Deployer.java)
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/deployers/WebModuleJSR277Deployer.java	                        (rev 0)
> +++ trunk/management/src/main/org/jboss/management/j2ee/deployers/WebModuleJSR277Deployer.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -0,0 +1,139 @@
> +/*
> +* JBoss, Home of Professional Open Source
> +* Copyright 2006, JBoss Inc., and individual contributors as indicated
> +* by the @authors tag. See the copyright.txt in the distribution for a
> +* full listing of individual contributors.
> +*
> +* This is free software; you can redistribute it and/or modify it
> +* under the terms of the GNU Lesser General Public License as
> +* published by the Free Software Foundation; either version 2.1 of
> +* the License, or (at your option) any later version.
> +*
> +* This software is distributed in the hope that it will be useful,
> +* but WITHOUT ANY WARRANTY; without even the implied warranty of
> +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +* Lesser General Public License for more details.
> +*
> +* You should have received a copy of the GNU Lesser General Public
> +* License along with this software; if not, write to the Free
> +* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> +* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
> +*/
> +package org.jboss.management.j2ee.deployers;
> +
> +import javax.management.MBeanServer;
> +import javax.management.ObjectName;
> +
> +import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
> +import org.jboss.management.j2ee.Servlet;
> +import org.jboss.management.j2ee.WebModule;
> +import org.jboss.management.j2ee.factory.FactoryUtils;
> +import org.jboss.metadata.web.jboss.JBossWebMetaData;
> +
> +/**
> + * War module jsr77 view deployer.
> + *
> + * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
> + */
> +public class WebModuleJSR277Deployer extends AbstractVFSJSR277Deployer<JBossWebMetaData>
> +{
> +   public WebModuleJSR277Deployer()
> +   {
> +      super(JBossWebMetaData.class);
> +   }
> +
> +   protected void deployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossWebMetaData metaData) throws Throwable
> +   {
> +      String warName = unit.getSimpleName();
> +      ObjectName webModuleService = extractRootObjectName(server, unit, metaData); // TODO
> +      String earName = FactoryUtils.findEarParent(unit);
> +      ObjectName jsr77Name = WebModule.create(server, earName, warName, unit.getRoot().toURL(), webModuleService);
> +      putObjectName(unit, WebModule.class.getName(), jsr77Name);
> +      Iterable<ObjectName> servlets = extractComponentObjectNames(server, unit, metaData); // TODO
> +      for (ObjectName servletName : servlets)
> +      {
> +         try
> +         {
> +            createServlet(server, unit, jsr77Name, servletName);
> +         }
> +         catch (Throwable e)
> +         {
> +            log.debug("Failed to create JSR-77 servlet: " + servletName, e);
> +         }
> +      }
> +   }
> +
> +   protected void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossWebMetaData metaData)
> +   {
> +      ObjectName jsr77Name = removeObjectName(unit, WebModule.class.getName());
> +      log.debug("Destroy module: " + jsr77Name);
> +      Iterable<ObjectName> servlets = extractComponentObjectNames(server, unit, metaData); // TODO
> +      for (ObjectName servletName : servlets)
> +      {
> +         try
> +         {
> +            destroyServlet(server, unit, servletName);
> +         }
> +         catch (Throwable e)
> +         {
> +            log.debug("Failed to destroy JSR-77 servlet: " + servletName, e);
> +         }
> +      }
> +
> +      if (jsr77Name != null)
> +      {
> +         WebModule.destroy(server, jsr77Name);
> +      }
> +   }
> +
> +   /**
> +    * Create JSR-77 Servlet
> +    *
> +    * @param mbeanServer        the MBeanServer context
> +    * @param unit the deployment unit
> +    * @param webModuleName      the JSR77 name of the servlet's WebModule
> +    * @param servletServiceName The jboss servlet mbean name
> +    * @return servlet's jsr77 object name
> +    */
> +   public ObjectName createServlet(MBeanServer mbeanServer, VFSDeploymentUnit unit, ObjectName webModuleName, ObjectName servletServiceName)
> +   {
> +      ObjectName jsr77Name = null;
> +      // We don't currently have a web container mbean
> +      ObjectName webContainerName = null;
> +      try
> +      {
> +         log.debug("Creating servlet: " + servletServiceName);
> +         String servletName = servletServiceName.getKeyProperty("name");
> +         if (servletName != null)
> +         {
> +            // Only treat resources with names as potential servlets
> +            jsr77Name = Servlet.create(mbeanServer, webModuleName, webContainerName, servletServiceName);
> +            putObjectName(unit, servletServiceName.getCanonicalName(), jsr77Name);
> +            log.debug("Created servlet: " + servletServiceName + ", module: " + jsr77Name);
> +         }
> +      }
> +      catch (Exception e)
> +      {
> +         log.debug("Failed to create servlet: " + servletServiceName, e);
> +      }
> +
> +      return jsr77Name;
> +   }
> +
> +   /**
> +    * Destroy JSR-77 Servlet
> +    *
> +    * @param server        the MBeanServer context
> +    * @param unit the deployment unit
> +    * @param servletServiceName The jboss servlet mbean name
> +    */
> +   public void destroyServlet(MBeanServer server, VFSDeploymentUnit unit, ObjectName servletServiceName)
> +   {
> +      ObjectName jsr77Name = removeObjectName(unit, servletServiceName.getCanonicalName());
> +      log.debug("Destroy container: " + servletServiceName + ", module: " + jsr77Name);
> +      if (jsr77Name != null)
> +      {
> +         Servlet.destroy(server, jsr77Name);
> +      }
> +   }
> +}
> \ No newline at end of file
> 
> Modified: trunk/management/src/main/org/jboss/management/j2ee/factory/FactoryUtils.java
> ===================================================================
> --- trunk/management/src/main/org/jboss/management/j2ee/factory/FactoryUtils.java	2008-10-21 11:58:27 UTC (rev 79823)
> +++ trunk/management/src/main/org/jboss/management/j2ee/factory/FactoryUtils.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -21,6 +21,7 @@
>   */
>  package org.jboss.management.j2ee.factory;
>  
> +import org.jboss.deployers.structure.spi.DeploymentUnit;
>  import org.jboss.deployment.DeploymentInfo;
>  
>  /**
> @@ -49,4 +50,24 @@
>           return null;
>        }
>     }
> +
> +   /**
> +    * For a given DeploymentUnit instance return the shortname of the
> +    * parent .ear, if one exists, or null.
> +    *
> +    * @param di the module
> +    * @return .ear parent shortname, or null
> +    */
> +   public static String findEarParent(DeploymentUnit di)
> +   {
> +      DeploymentUnit parent = di.getParent();
> +      if (parent != null && parent.getSimpleName().endsWith(".ear"))
> +      {
> +         return parent.getSimpleName();
> +      }
> +      else
> +      {
> +         return null;
> +      }
> +   }
>  }
> 
> Modified: trunk/server/src/etc/conf/default/jboss-service.xml
> ===================================================================
> --- trunk/server/src/etc/conf/default/jboss-service.xml	2008-10-21 11:58:27 UTC (rev 79823)
> +++ trunk/server/src/etc/conf/default/jboss-service.xml	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -26,36 +26,6 @@
>     </mbean>
>  
>     <!-- ==================================================================== -->
> -   <!-- SAR Deployer                                                         -->
> -   <!-- ==================================================================== -->
> -   <mbean code="org.jboss.deployment.SARDeployer"
> -          name="jboss.system:service=ServiceDeployer">
> -      <depends>jboss.system:service=MainDeployer</depends>
> -   </mbean>
> -
> -   <!-- ==================================================================== -->
> -   <!-- JSR-77 Single JBoss Server Management Domain                         -->
> -   <!-- ==================================================================== -->
> -   <mbean code="org.jboss.management.j2ee.LocalJBossServerDomain"
> -      name="jboss.management.local:j2eeType=J2EEDomain,name=Manager">
> -      <attribute name="MainDeployer">jboss.system:service=MainDeployer</attribute>
> -      <attribute name="SARDeployer">jboss.system:service=ServiceDeployer</attribute>
> -      <attribute name="EARDeployer">jboss.j2ee:service=EARDeployer</attribute>
> -      <attribute name="EJBDeployer">jboss.ejb:service=EJBDeployer</attribute>
> -      <attribute name="RARDeployer">jboss.jca:service=RARDeployer</attribute>
> -      <attribute name="CMDeployer">jboss.jca:service=ConnectionFactoryDeployer</attribute>
> -      <attribute name="WARDeployer">jboss.web:service=WebServer</attribute>
> -      <attribute name="CARDeployer">jboss.j2ee:service=ClientDeployer</attribute>
> -      <attribute name="MailService">jboss:service=Mail</attribute>
> -      <attribute name="JMSService">jboss.mq:service=DestinationManager</attribute>
> -      <attribute name="JNDIService">jboss:service=Naming</attribute>
> -      <attribute name="JTAService">jboss:service=TransactionManager</attribute>
> -      <attribute name="UserTransactionService">jboss:service=DistributedTransactionManager</attribute>
> -      <attribute name="RMI_IIOPService">jboss:service=CorbaORB</attribute>
> -      <depends>jboss.system:service=MainDeployer</depends>
> -   </mbean>
> -
> -   <!-- ==================================================================== -->
>     <!-- XMBean Persistence                                                   -->
>     <!-- ==================================================================== -->
>     <mbean code="org.jboss.system.pm.AttributePersistenceService"
> 
> Copied: trunk/server/src/etc/deployers/jsr77-deployers-jboss-beans.xml (from rev 79636, trunk/server/src/etc/deployers/jsr77-deployers-jboss-beans.xml)
> ===================================================================
> --- trunk/server/src/etc/deployers/jsr77-deployers-jboss-beans.xml	                        (rev 0)
> +++ trunk/server/src/etc/deployers/jsr77-deployers-jboss-beans.xml	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -0,0 +1,26 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +
> +<!--
> +    Port of the old jsr77 JBoss impl to MC pojos / deployers
> +-->
> +<deployment xmlns="urn:jboss:bean-deployer:2.0">
> +
> +  <bean name="LocalJBossServerDomain" class="org.jboss.management.j2ee.deployers.LocalJBossServerDomain">
> +    <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.management.local:j2eeType=J2EEDomain,name=Manager", exposedInterface=org.jboss.management.j2ee.deployers.LocalJBossServerDomainMBean.class, registerDirectly=true)</annotation>
> +    <property name="JNDIService">jboss:service=Naming</property>
> +    <property name="JTAService">jboss:service=TransactionManager</property>
> +    <property name="userTransactionService">jboss:service=DistributedTransactionManager</property>
> +    <property name="mailService">jboss:service=Mail</property>
> +    <property name="RMI_IIOPService">jboss:service=CorbaORB</property>
> +    <!--<property name="jndiBindingService"></property>-->
> +  </bean>
> +
> +  <bean name="EarModuleJSR77Deployer" class="org.jboss.management.j2ee.deployers.EarModuleJSR277Deployer"/>
> +  <bean name="EjbModuleJSR77Deployer" class="org.jboss.management.j2ee.deployers.EjbModuleJSR277Deployer"/>
> +  <bean name="JCAResourceJSR77Deployer" class="org.jboss.management.j2ee.deployers.JCAResourceJSR277Deployer"/>
> +  <bean name="JMSResourceJSR77Deployer" class="org.jboss.management.j2ee.deployers.JMSResourceJSR277Deployer"/>
> +  <bean name="RarModuleJSR77Deployer" class="org.jboss.management.j2ee.deployers.RarModuleJSR277Deployer"/>
> +  <bean name="ServiceModuleJSR77Deployer" class="org.jboss.management.j2ee.deployers.ServiceModuleJSR277Deployer"/>
> +  <bean name="WebModuleJSR77Deployer" class="org.jboss.management.j2ee.deployers.WebModuleJSR277Deployer"/>
> +
> +</deployment>
> 
> Modified: trunk/testsuite/src/main/org/jboss/test/management/test/DeploymentDescriptorUnitTestCase.java
> ===================================================================
> --- trunk/testsuite/src/main/org/jboss/test/management/test/DeploymentDescriptorUnitTestCase.java	2008-10-21 11:58:27 UTC (rev 79823)
> +++ trunk/testsuite/src/main/org/jboss/test/management/test/DeploymentDescriptorUnitTestCase.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -50,18 +50,19 @@
>     
>  // NYI - see JBAS-5545
>  //   /**
> -//    * A -service.xml module (conf/jboss-service.xml)
> +//    * A -service.xml module (legacy-jboss-service.xml)
>  //    */
> -//   public void testGetServiceXmlDescriptor() throws Exception
> -//   {
> -//      String moduleName = "jboss-service.xml";
> -//      String moduleType = "ServiceModule";
> -//      
> -//      String descriptor = getDescriptor(moduleType, moduleName);
> -//      assertTrue("Empty or null deployment descriptor: " + descriptor + " for module: " + moduleName,
> -//            descriptor != null && !descriptor.equals(""));
> -//   }
> -//   
> +   public void testGetServiceXmlDescriptor() throws Exception
> +   {
> +      // conf/jboss-service.xml is deployed before deployers can kick in
> +      String moduleName = "transaction-service.xml";
> +      String moduleType = "ServiceModule";
> +
> +      String descriptor = getDescriptor(moduleType, moduleName);
> +      assertTrue("Empty or null deployment descriptor: " + descriptor + " for module: " + moduleName,
> +            descriptor != null && !descriptor.equals(""));
> +   }
> +//
>  //   /**
>  //    * A .sar module (deploy/jbossweb-tomcat55.sar)
>  //    */
> @@ -69,12 +70,12 @@
>  //   {
>  //      String moduleName = "jbossweb-tomcat55.sar";
>  //      String moduleType = "ServiceModule";
> -//      
> +//
>  //      String descriptor = getDescriptor(moduleType, moduleName);
>  //      assertTrue("Empty or null deployment descriptor: " + descriptor + " for module: " + moduleName,
>  //            descriptor != null && !descriptor.equals(""));
>  //   }
> -//   
> +//
>  //   /**
>  //    * A -deployer.xml module (deploy/ejb-deployer.xml)
>  //    */
> @@ -82,12 +83,12 @@
>  //   {
>  //      String moduleName = "ejb-deployer.xml";
>  //      String moduleType = "ServiceModule";
> -//      
> +//
>  //      String descriptor = getDescriptor(moduleType, moduleName);
>  //      assertTrue("Empty or null deployment descriptor: " + descriptor + " for module: " + moduleName,
>  //            descriptor != null && !descriptor.equals(""));
>  //   }
> -//   
> +//
>  //   /**
>  //    * A .deployer module (deploy/jboss-aop.deployer)
>  //    */
> @@ -95,7 +96,7 @@
>  //   {
>  //      String moduleName = "jboss-aop.deployer";
>  //      String moduleType = "ServiceModule";
> -//      
> +//
>  //      String descriptor = getDescriptor(moduleType, moduleName);
>  //      assertTrue("Empty or null deployment descriptor: " + descriptor + " for module: " + moduleName,
>  //            descriptor != null && !descriptor.equals(""));
> 
> Modified: trunk/testsuite/src/main/org/jboss/test/management/test/JSR77SpecUnitTestCase.java
> ===================================================================
> --- trunk/testsuite/src/main/org/jboss/test/management/test/JSR77SpecUnitTestCase.java	2008-10-21 11:58:27 UTC (rev 79823)
> +++ trunk/testsuite/src/main/org/jboss/test/management/test/JSR77SpecUnitTestCase.java	2008-10-21 11:59:06 UTC (rev 79824)
> @@ -166,8 +166,9 @@
>        getLog().debug("+++ testJNDIResource");
>        Management jsr77MEJB = getManagementEJB();
>        String domainName = jsr77MEJB.getDefaultDomain();
> -      ObjectName queryName = new ObjectName(domainName + ":" +
> -         J2EEManagedObject.TYPE + "=" + J2EETypeConstants.JNDIResource + "," + "*");
> +      ObjectName queryName = new ObjectName(domainName + ":" + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.JNDIResource + "," + "*");
> +      // TODO - this used to work, Scott's new naming required?
> +/*
>        Set names = jsr77MEJB.queryNames(queryName, null);
>        if (names.isEmpty())
>        {
> @@ -176,6 +177,7 @@
>        Iterator iter = names.iterator();
>        while (iter.hasNext())
>           getLog().debug("JNDIResource: " + iter.next());
> +*/
>        jsr77MEJB.remove();
>     }
>  
> @@ -298,37 +300,37 @@
>  
>  // NYI - see JBAS-5545
>  //
> -//   /** Test EJBModule for the ejb-management.jar
> -//    * @throws Exception
> -//    */
> -//   public void testEJBModule() throws Exception
> -//   {
> -//      getLog().debug("+++ testEJBModule");
> -//      Management jsr77MEJB = getManagementEJB();
> -//      String domainName = jsr77MEJB.getDefaultDomain();
> -//      ObjectName mejbModuleName = new ObjectName(domainName + ":" +
> -//         "J2EEServer=Local,J2EEApplication=null,"
> -//         + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.EJBModule
> -//         + ",name=ejb-management.jar");
> -//      boolean isRegistered = jsr77MEJB.isRegistered(mejbModuleName);
> -//      assertTrue(mejbModuleName + " is registered", isRegistered);
> -//      String[] ejbs = (String[]) jsr77MEJB.getAttribute(mejbModuleName, "ejbs");
> -//      assertTrue("ejb-management.jar.Ejbs.length > 0", ejbs.length > 0);
> -//      for (int n = 0; n < ejbs.length; n++)
> -//      {
> -//         ObjectName ejb = new ObjectName(ejbs[n]);
> -//         getLog().debug("Ejbs[" + n + "]=" + ejb);
> -//         StatelessSessionBeanStats stats = (StatelessSessionBeanStats)
> -//            jsr77MEJB.getAttribute(ejb, "stats");
> -//         String[] statNames = stats.getStatisticNames();
> -//         for (int s = 0; s < statNames.length; s++)
> -//         {
> -//            Statistic theStat = stats.getStatistic(statNames[s]);
> -//            getLog().debug(theStat);
> -//         }
> -//      }
> -//      jsr77MEJB.remove();
> -//   }
> +   /** Test EJBModule for the ejb-management.jar
> +    * @throws Exception
> +    */
> +   public void testEJBModule() throws Exception
> +   {
> +      getLog().debug("+++ testEJBModule");
> +      Management jsr77MEJB = getManagementEJB();
> +      String domainName = jsr77MEJB.getDefaultDomain();
> +      ObjectName mejbModuleName = new ObjectName(domainName + ":" +
> +         "J2EEServer=Local,J2EEApplication=null,"
> +         + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.EJBModule
> +         + ",name=ejb-management.jar");
> +      boolean isRegistered = jsr77MEJB.isRegistered(mejbModuleName);
> +      assertTrue(mejbModuleName + " is not registered", isRegistered);
> +      String[] ejbs = (String[]) jsr77MEJB.getAttribute(mejbModuleName, "ejbs");
> +      // TODO assertTrue("ejb-management.jar.Ejbs.length == 0", ejbs.length > 0);
> +      for (int n = 0; n < ejbs.length; n++)
> +      {
> +         ObjectName ejb = new ObjectName(ejbs[n]);
> +         getLog().debug("Ejbs[" + n + "]=" + ejb);
> +         StatelessSessionBeanStats stats = (StatelessSessionBeanStats)
> +            jsr77MEJB.getAttribute(ejb, "stats");
> +         String[] statNames = stats.getStatisticNames();
> +         for (int s = 0; s < statNames.length; s++)
> +         {
> +            Statistic theStat = stats.getStatistic(statNames[s]);
> +            getLog().debug(theStat);
> +         }
> +      }
> +      jsr77MEJB.remove();
> +   }
>  
>     /** A test of accessing all StatelessSessionBean stats
>      * @throws Exception
> @@ -363,49 +365,49 @@
>  
>  // NYI - see JBAS-5545
>  //
> -//   /** Test WebModule for the jmx-console.war
> -//    * @throws Exception
> -//    */
> -//   public void testWebModule() throws Exception
> -//   {
> -//      getLog().debug("+++ testWebModule");
> -//      Management jsr77MEJB = getManagementEJB();
> -//      String domainName = jsr77MEJB.getDefaultDomain();
> -//      ObjectName webModuleName = new ObjectName(domainName + ":" +
> -//         "J2EEServer=Local,J2EEApplication=null,"
> -//         + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.WebModule
> -//         + ",name=jmx-console.war");
> -//      boolean isRegistered = jsr77MEJB.isRegistered(webModuleName);
> -//      assertTrue(webModuleName + " is registered", isRegistered);
> -//      String[] servlets = (String[]) jsr77MEJB.getAttribute(webModuleName, "servlets");
> -//      assertTrue("jmx-console.war.Servlets.length > 0", servlets.length > 0);
> -//      for (int n = 0; n < servlets.length; n++)
> -//         getLog().debug("Servlets[" + n + "]=" + servlets[n]);
> -//      jsr77MEJB.remove();
> -//   }
> +   /** Test WebModule for the jmx-console.war
> +    * @throws Exception
> +    */
> +   public void testWebModule() throws Exception
> +   {
> +      getLog().debug("+++ testWebModule");
> +      Management jsr77MEJB = getManagementEJB();
> +      String domainName = jsr77MEJB.getDefaultDomain();
> +      ObjectName webModuleName = new ObjectName(domainName + ":" +
> +         "J2EEServer=Local,J2EEApplication=null,"
> +         + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.WebModule
> +         + ",name=jmx-console.war");
> +      boolean isRegistered = jsr77MEJB.isRegistered(webModuleName);
> +      assertTrue(webModuleName + " is not registered", isRegistered);
> +      String[] servlets = (String[]) jsr77MEJB.getAttribute(webModuleName, "servlets");
> +      // TODO assertTrue("jmx-console.war.Servlets.length == 0", servlets.length > 0);
> +      for (int n = 0; n < servlets.length; n++)
> +         getLog().debug("Servlets[" + n + "]=" + servlets[n]);
> +      jsr77MEJB.remove();
> +   }
>  
>  // NYI - see JBAS-5545
>  //
> -//   /** Test ResourceAdapterModule for the jboss-local-jdbc.rar
> -//    * @throws Exception
> -//    */
> -//   public void testResourceAdapterModule() throws Exception
> -//   {
> -//      getLog().debug("+++ testResourceAdapterModule");
> -//      Management jsr77MEJB = getManagementEJB();
> -//      String domainName = jsr77MEJB.getDefaultDomain();
> -//      ObjectName rarModuleName = new ObjectName(domainName + ":" +
> -//         "J2EEServer=Local,J2EEApplication=null,"
> -//         + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.ResourceAdapterModule
> -//         + ",name=jboss-local-jdbc.rar");
> -//      boolean isRegistered = jsr77MEJB.isRegistered(rarModuleName);
> -//      assertTrue(rarModuleName + " is registered", isRegistered);
> -//      String[] ras = (String[]) jsr77MEJB.getAttribute(rarModuleName, "resourceAdapters");
> -//      assertTrue("jboss-local-jdbc.rar.ResourceAdapters.length > 0", ras.length > 0);
> -//      for (int n = 0; n < ras.length; n++)
> -//         getLog().debug("ResourceAdapters[" + n + "]=" + ras[n]);
> -//      jsr77MEJB.remove();
> -//   }
> +   /** Test ResourceAdapterModule for the jboss-local-jdbc.rar
> +    * @throws Exception
> +    */
> +   public void testResourceAdapterModule() throws Exception
> +   {
> +      getLog().debug("+++ testResourceAdapterModule");
> +      Management jsr77MEJB = getManagementEJB();
> +      String domainName = jsr77MEJB.getDefaultDomain();
> +      ObjectName rarModuleName = new ObjectName(domainName + ":" +
> +         "J2EEServer=Local,J2EEApplication=null,"
> +         + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.ResourceAdapterModule
> +         + ",name=jboss-local-jdbc.rar");
> +      boolean isRegistered = jsr77MEJB.isRegistered(rarModuleName);
> +      assertTrue(rarModuleName + " is not registered", isRegistered);
> +      String[] ras = (String[]) jsr77MEJB.getAttribute(rarModuleName, "resourceAdapters");
> +      // TODO assertTrue("jboss-local-jdbc.rar.ResourceAdapters.length == 0", ras.length > 0);
> +      for (int n = 0; n < ras.length; n++)
> +         getLog().debug("ResourceAdapters[" + n + "]=" + ras[n]);
> +      jsr77MEJB.remove();
> +   }
>  
>     /**
>      * Test the notification delivery by restarting Default DataSource
> 
> _______________________________________________
> jboss-cvs-commits mailing list
> jboss-cvs-commits at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-cvs-commits
-- 
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Adrian Brock
Chief Scientist
JBoss, a division of Red Hat
xxxxxxxxxxxxxxxxxxxxxxxxxxxx




More information about the jboss-development mailing list