[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