[jboss-cvs] JBossAS SVN: r88848 - in branches/Branch_5_x: testsuite/src/main/org/jboss/test/profileservice/test and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu May 14 01:48:39 EDT 2009


Author: jason.greene at jboss.com
Date: 2009-05-14 01:48:38 -0400 (Thu, 14 May 2009)
New Revision: 88848

Modified:
   branches/Branch_5_x/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java
   branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/JMXMappingUnitTestCase.java
Log:
Add a context-root managed object to war deployments


Modified: branches/Branch_5_x/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java
===================================================================
--- branches/Branch_5_x/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java	2009-05-14 05:23:40 UTC (rev 88847)
+++ branches/Branch_5_x/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java	2009-05-14 05:48:38 UTC (rev 88848)
@@ -29,6 +29,9 @@
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 
@@ -36,17 +39,27 @@
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
 import org.jboss.deployers.spi.deployer.helpers.AttachmentLocator;
+import org.jboss.deployers.spi.deployer.managed.ManagedObjectCreator;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver;
 import org.jboss.kernel.plugins.bootstrap.basic.KernelConstants;
+import org.jboss.managed.api.ManagedObject;
+import org.jboss.managed.api.annotation.ManagementComponent;
+import org.jboss.managed.api.annotation.ManagementObject;
+import org.jboss.managed.api.annotation.ManagementProperty;
+import org.jboss.managed.api.annotation.ManagementPropertyFactory;
+import org.jboss.managed.api.annotation.ViewUse;
+import org.jboss.managed.api.factory.ManagedObjectFactory;
+import org.jboss.managed.plugins.ManagedPropertyImpl;
 import org.jboss.metadata.ear.jboss.JBossAppMetaData;
 import org.jboss.metadata.ear.spec.ModuleMetaData;
 import org.jboss.metadata.ear.spec.WebModuleMetaData;
 import org.jboss.metadata.web.jboss.ClassLoadingMetaData;
 import org.jboss.metadata.web.jboss.JBossWebMetaData;
 import org.jboss.metadata.web.spec.WebMetaData;
+import org.jboss.metatype.api.values.SimpleValueSupport;
 import org.jboss.mx.util.MBeanServerLocator;
 import org.jboss.system.metadata.ServiceAttributeMetaData;
 import org.jboss.system.metadata.ServiceConstructorMetaData;
@@ -82,6 +95,7 @@
  * @version $Revision$
  */
 public abstract class AbstractWarDeployer extends AbstractSimpleRealDeployer<JBossWebMetaData>
+   implements ManagedObjectCreator
 {
    public static final String DEPLOYER = "org.jboss.web.AbstractWebContainer.deployer";
    public static final String WEB_APP = "org.jboss.web.AbstractWebContainer.webApp";
@@ -708,4 +722,27 @@
          throw DeploymentException.rethrowAsDeploymentException("Error creating rar deployment " + unit.getName(), e);
       }
    }
+   
+   @ManagementObject(name = "ContextMO", componentType = @ManagementComponent(type = "WAR", subtype="Context"))
+   public static class ContextMO
+   {
+      @ManagementPropertyFactory(ManagedPropertyImpl.class)
+      @ManagementProperty(use = {ViewUse.RUNTIME}, readOnly = true)
+      public String getContextRoot() { return ""; }
+   }
+   
+   public void build(DeploymentUnit unit, Set<String> outputs,
+         Map<String, ManagedObject> managedObjects) throws DeploymentException
+   {
+      JBossWebMetaData meta = unit.getAttachment(JBossWebMetaData.class);
+      if (meta == null)
+         return;
+      
+      ManagedObject mo = ManagedObjectFactory.getInstance().createManagedObject(ContextMO.class);
+      if (mo == null)
+         throw new DeploymentException("could not create managed object");
+      
+      mo.getProperty("contextRoot").setValue(SimpleValueSupport.wrap(meta.getContextRoot()));
+      managedObjects.put("ContextMO", mo);  
+   }
 }

Modified: branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/JMXMappingUnitTestCase.java
===================================================================
--- branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/JMXMappingUnitTestCase.java	2009-05-14 05:23:40 UTC (rev 88847)
+++ branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/test/JMXMappingUnitTestCase.java	2009-05-14 05:48:38 UTC (rev 88848)
@@ -135,7 +135,23 @@
          }
       }
 
-      fail("Could not find HtmlAdapor servlet");
+      fail("Could not find connector!");
    }
    
+   public void testContextMO() throws Exception
+   {
+      ManagementView mgtView = getManagementView();
+      mgtView.load();
+      Set<ManagedComponent> comps = mgtView.getComponentsForType(new ComponentType("WAR", "Context"));
+      for (ManagedComponent comp : comps)
+      {
+         if (comp.getDeployment().getName().endsWith("jmx-console.war/"))
+         {
+            assertEquals("/jmx-console", ((SimpleValue)comp.getProperty("contextRoot").getValue()).getValue());
+            return;
+         }
+      }
+
+      fail("Could not find deployment context root!");
+   }
 }
\ No newline at end of file




More information about the jboss-cvs-commits mailing list