[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