[jboss-cvs] JBossAS SVN: r93640 - trunk/server/src/main/org/jboss/web/deployers.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Sep 17 08:23:31 EDT 2009
Author: emuckenhuber
Date: 2009-09-17 08:23:31 -0400 (Thu, 17 Sep 2009)
New Revision: 93640
Modified:
trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java
Log:
merge build context managedObject
Modified: trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java 2009-09-17 12:22:38 UTC (rev 93639)
+++ trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployer.java 2009-09-17 12:23:31 UTC (rev 93640)
@@ -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;
@@ -54,9 +67,9 @@
import org.jboss.system.metadata.ServiceInjectionValueMetaData;
import org.jboss.system.metadata.ServiceMetaData;
import org.jboss.util.file.Files;
+import org.jboss.virtual.VFS;
import org.jboss.virtual.VFSUtils;
import org.jboss.virtual.VirtualFile;
-import org.jboss.virtual.VFS;
import org.jboss.web.WebApplication;
/** A template pattern class for web container integration into JBoss. This class
@@ -84,6 +97,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";
@@ -713,4 +727,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);
+ }
}
More information about the jboss-cvs-commits
mailing list