[jboss-cvs] JBossAS SVN: r99302 - in trunk: component-matrix and 25 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jan 12 11:57:30 EST 2010


Author: alesj
Date: 2010-01-12 11:57:28 -0500 (Tue, 12 Jan 2010)
New Revision: 99302

Added:
   trunk/server/src/etc/conf/all/bootstrap/kernel.xml
   trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/DeploymentMetaDataEntryMetaData.java
Removed:
   trunk/server/src/etc/conf/all/bootstrap/asynch.xml
   trunk/system/src/main/java/org/jboss/system/server/profile/basic/AbstractPatternVirtualFileFilter.java
   trunk/system/src/main/java/org/jboss/system/server/profile/basic/JspAndHtmlExcludeVirtualFileFilter.java
   trunk/system/src/main/java/org/jboss/system/server/profile/basic/PatternExcludeVirtualFileFilter.java
   trunk/system/src/main/java/org/jboss/system/server/profile/basic/PatternIncludeVirtualFileFilter.java
   trunk/system/src/main/java/org/jboss/system/server/profile/basic/XmlIncludeVirtualFileFilter.java
Modified:
   trunk/build/build.xml
   trunk/build/pom.xml
   trunk/component-matrix/pom.xml
   trunk/connector/pom.xml
   trunk/ejb3/pom.xml
   trunk/main/src/main/java/org/jboss/Main.java
   trunk/security/src/etc/deploy/security-jboss-beans.xml
   trunk/server/pom.xml
   trunk/server/src/etc/conf/all/bootstrap.xml
   trunk/server/src/etc/conf/all/bootstrap/deployers.xml
   trunk/server/src/etc/conf/all/bootstrap/jmx.xml
   trunk/server/src/etc/conf/all/bootstrap/profile.xml
   trunk/server/src/etc/conf/default/bootstrap/profile.xml
   trunk/server/src/etc/deployers/metadata-deployer-jboss-beans.xml
   trunk/server/src/main/java/org/jboss/deployment/AltAnnotationMetaDataDeployer.java
   trunk/server/src/main/java/org/jboss/deployment/EarLibExcludeDeployer.java
   trunk/server/src/main/java/org/jboss/deployment/OptAnnotationMetaDataDeployer.java
   trunk/server/src/main/java/org/jboss/deployment/TldParsingDeployer.java
   trunk/server/src/main/java/org/jboss/ejb/EjbUtil50.java
   trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployer.java
   trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java
   trunk/server/src/main/java/org/jboss/web/deployers/WARStructure.java
   trunk/system-jmx/pom.xml
   trunk/system-jmx/src/main/java/org/jboss/deployment/MainDeployer.java
   trunk/system-jmx/src/main/java/org/jboss/system/metadata/ServiceMetaDataParser.java
   trunk/system-jmx/src/main/java/org/jboss/system/microcontainer/jmx/JMXPropertyAnnotationPlugin.java
   trunk/system-jmx/src/test/java/org/jboss/test/system/metadata/value/valuefactory/test/MockTypeInfo.java
   trunk/system/pom.xml
   trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/DeploymentStructureMetaData.java
   trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/RepositoryAttachmentMetaDataFactory.java
   trunk/system/src/main/java/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java
   trunk/system/src/main/java/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java
   trunk/system/src/main/java/org/jboss/system/server/profileservice/repository/AbstractProfileService.java
   trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/WarEjbResolver.java
   trunk/varia/pom.xml
   trunk/webservices/pom.xml
Log:
Update MC to 2.2.x:
VFS 2.2.0.Alpha2, Classpool 1.0.0.Alpha2, Reflect 2.2.0.Alpha2, MDR 2.2.0.Alpha1, Kernel 2.2.0.Alpha1, Deployers 2.2.0.Alpha1, XB 2.0.2.Beta4

TODO -- new logging-service-metadata is needed, currently running off snapshot.


Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/build/build.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -2022,7 +2022,6 @@
       <fileset refid="org.jboss.aspects:jboss-transaction-aspects:jar"/>
       <fileset refid="bcel:bcel:jar"/>
       <fileset refid="javax.enterprise:cdi-api:jar"/>
-      <fileset refid="javax.inject:javax.inject:jar"/>
       <fileset refid="javax.mail:mail:jar"/>
       <fileset refid="javax.validation:validation-api:jar"/>
       <fileset refid="org.jboss.mc-int:jboss-mc-int-servlet:jar"/>
@@ -2073,6 +2072,8 @@
       <fileset refid="org.jboss.logmanager:jboss-logmanager:jar"/>
       <fileset refid="org.jboss.integration:jboss-classloading-spi:jar"/>
       <fileset refid="org.jboss.integration:jboss-profileservice-spi:jar"/>
+      <fileset refid="org.jboss.classpool:jboss-classpool:jar"/>
+      <fileset refid="org.jboss.classpool:jboss-classpool-jbosscl:jar"/>
       <fileset refid="org.jboss:jboss-reflect:jar"/>
       <fileset refid="org.jboss:jboss-mdr:jar"/>
       <fileset refid="org.jboss.man:jboss-managed:jar"/>
@@ -2094,9 +2095,11 @@
       <fileset refid="org.jboss.deployers:jboss-deployers-structure-spi:jar"/>
       <fileset refid="org.jboss.deployers:jboss-deployers-vfs:jar"/>
       <fileset refid="org.jboss.deployers:jboss-deployers-vfs-spi:jar"/>
-      <fileset refid="org.jboss.microcontainer:jboss-aop-mc-int:jar"/>
-      <fileset refid="org.jboss.microcontainer:jboss-dependency:jar"/>
-      <fileset refid="org.jboss.microcontainer:jboss-kernel:jar"/>
+      <fileset refid="org.jboss.mcann:mcann-core:jar"/>
+      <fileset refid="org.jboss.kernel:jboss-aop-mc-int:jar"/>
+      <fileset refid="org.jboss.kernel:jboss-dependency:jar"/>
+      <fileset refid="org.jboss.kernel:jboss-kernel:jar"/>
+      <fileset refid="javax.inject:javax.inject:jar"/>
       <fileset refid="org.jboss:jboss-vfs:jar"/>
       <fileset refid="org.osgi:osgi_R4_core:jar"/>
       <fileset refid="trove:trove:jar"/>

Modified: trunk/build/pom.xml
===================================================================
--- trunk/build/pom.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/build/pom.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -704,8 +704,15 @@
       <groupId>xerces</groupId>
       <artifactId>xercesImpl</artifactId>
       <optional>true</optional>
-    </dependency>
-    
+    </dependency>   
+      <dependency>
+       	<groupId>org.jboss.classpool</groupId>
+	<artifactId>jboss-classpool</artifactId>
+      </dependency>
+      <dependency>
+	<groupId>org.jboss.classpool</groupId>
+	<artifactId>jboss-classpool-jbosscl</artifactId>
+     </dependency> 
     <!-- End dist dependencies -->
     
   </dependencies>

Modified: trunk/component-matrix/pom.xml
===================================================================
--- trunk/component-matrix/pom.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/component-matrix/pom.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -76,12 +76,13 @@
     <version.org.jboss.cache.core>3.2.1.GA</version.org.jboss.cache.core>
     <version.org.jboss.cache.pojo>3.0.0.GA</version.org.jboss.cache.pojo>
     <version.org.jboss.cl>2.0.8.GA</version.org.jboss.cl>
+    <version.org.jboss.classpool>1.0.0.Alpha2</version.org.jboss.classpool>
     <version.org.jboss.cluster.cache.jbc>2.1.1.BETA2</version.org.jboss.cluster.cache.jbc>
     <version.org.jboss.cluster.cache.spi>2.0.0.GA</version.org.jboss.cluster.cache.spi>
     <version.org.jboss.cluster.client>1.1.1.GA</version.org.jboss.cluster.client>
     <version.org.jboss.cluster.server.api>1.1.1.GA</version.org.jboss.cluster.server.api>
     <version.org.jboss.common.core>2.2.17.GA</version.org.jboss.common.core>
-    <version.org.jboss.deployers>2.0.9.GA</version.org.jboss.deployers>
+    <version.org.jboss.deployers>2.2.0.Alpha1</version.org.jboss.deployers>
     <version.org.jboss.ejb.api>1.0-alpha-1</version.org.jboss.ejb.api>
     <version.org.jboss.ejb3.common.client>1.0.1</version.org.jboss.ejb3.common.client>
     <version.org.jboss.ejb3.core.client>1.1.22</version.org.jboss.ejb3.core.client>
@@ -99,22 +100,24 @@
     <version.org.jboss.jpa.deployers>1.0.1</version.org.jboss.jpa.deployers>
     <version.org.jboss.jpa.impl>2.0.0</version.org.jboss.jpa.impl>
     <version.org.jboss.jpa.spi>1.0.0</version.org.jboss.jpa.spi>
+    <version.org.jboss.kernel>2.2.0.Alpha1</version.org.jboss.kernel>
     <version.org.jboss.logging>2.2.0.CR1</version.org.jboss.logging>
     <version.org.jboss.logmanager>1.1.1.GA</version.org.jboss.logmanager>
+    <version.org.jboss.logging-service-metadata>1.0.0.CR5-SNAPSHOT</version.org.jboss.logging-service-metadata>
     <version.org.jboss.man>2.1.1.SP1</version.org.jboss.man>
+    <version.org.jboss.mcann>1.0.0.Alpha1</version.org.jboss.mcann>
     <version.org.jboss.mc-int>2.2.0.Alpha2</version.org.jboss.mc-int>
-    <version.org.jboss.mdr>2.0.2.GA</version.org.jboss.mdr>
+    <version.org.jboss.mdr>2.2.0.Alpha1</version.org.jboss.mdr>
     <version.org.jboss.metadata.common>2.0.0-alpha-10</version.org.jboss.metadata.common>
     <version.org.jboss.metadata.client>2.0.0.Alpha</version.org.jboss.metadata.client>
     <version.org.jboss.metadata.ear>2.0.0.Alpha</version.org.jboss.metadata.ear>
     <version.org.jboss.metadata.ejb>2.0.0-alpha-4</version.org.jboss.metadata.ejb>
     <version.org.jboss.metadata.rar>2.0.0.Alpha</version.org.jboss.metadata.rar>
     <version.org.jboss.metadata.war>2.0.0.Alpha13</version.org.jboss.metadata.war>
-    <version.org.jboss.microcontainer>2.0.9.GA</version.org.jboss.microcontainer>
     <version.org.jboss.mod_cluster>1.1.0.Beta1</version.org.jboss.mod_cluster>
     <version.org.jboss.mx>6.0.0.Beta1</version.org.jboss.mx>
     <version.org.jboss.naming>5.0.4.GA</version.org.jboss.naming>
-    <version.org.jboss.reflect>2.0.2.GA</version.org.jboss.reflect>
+    <version.org.jboss.reflect>2.2.0.Alpha2</version.org.jboss.reflect>
     <version.org.jboss.reloaded.naming>0.1.0-alpha-2</version.org.jboss.reloaded.naming>
     <version.org.jboss.reloaded.naming.deployers>0.1.0-alpha-2</version.org.jboss.reloaded.naming.deployers>
     <version.org.jboss.remoting>2.5.2.SP2</version.org.jboss.remoting>
@@ -122,7 +125,7 @@
     <version.org.jboss.service.binding>1.0.0.GA</version.org.jboss.service.binding>
     <version.org.jboss.stdio>1.0.0.CR1</version.org.jboss.stdio>
     <version.org.jboss.threads>1.0.0.GA</version.org.jboss.threads>
-    <version.org.jboss.vfs>2.2.0.Alpha1</version.org.jboss.vfs>
+    <version.org.jboss.vfs>2.2.0.Alpha2</version.org.jboss.vfs>
     <version.org.jboss.security.negotiation>2.0.3.SP1</version.org.jboss.security.negotiation>
     <version.org.jboss.slf4j>1.0.2.GA</version.org.jboss.slf4j>
     <version.org.jboss.xnio.metadata>1.0.1.GA</version.org.jboss.xnio.metadata>
@@ -599,7 +602,7 @@
       <dependency>
         <groupId>org.jboss.logging</groupId>
         <artifactId>logging-service-metadata</artifactId>
-        <version>1.0.0.CR4</version>
+        <version>${version.org.jboss.logging-service-metadata}</version>
       </dependency>
 
       <dependency>
@@ -1477,7 +1480,7 @@
             <artifactId>jboss-transaction-spi</artifactId>
           </exclusion>
           <exclusion>
-            <groupId>org.jboss.microcontainer</groupId>
+            <groupId>org.jboss.deployers</groupId>
             <artifactId>jboss-deployers-core-spi</artifactId>
           </exclusion>
         </exclusions>
@@ -1592,6 +1595,18 @@
       </dependency>
       
       <dependency>
+       	<groupId>org.jboss.classpool</groupId>
+	<artifactId>jboss-classpool</artifactId>
+	<version>${version.org.jboss.classpool}</version>
+      </dependency>
+
+      <dependency>
+	<groupId>org.jboss.classpool</groupId>
+	<artifactId>jboss-classpool-jbosscl</artifactId>
+	<version>${version.org.jboss.classpool}</version>
+      </dependency> 
+
+      <dependency>
         <groupId>org.jboss.cluster</groupId>
         <artifactId>jboss-ha-client</artifactId>
         <version>${version.org.jboss.cluster.client}</version>
@@ -1793,7 +1808,7 @@
             <artifactId>jboss-transaction-spi</artifactId>
           </exclusion>
           <exclusion>
-            <groupId>org.jboss.microcontainer</groupId>
+            <groupId>org.jboss.deployers</groupId>
             <artifactId>jboss-deployers-core-spi</artifactId>
           </exclusion>
           <exclusion>
@@ -1834,7 +1849,7 @@
             <artifactId>jboss-transaction-spi</artifactId>
           </exclusion>
           <exclusion>
-            <groupId>org.jboss.microcontainer</groupId>
+            <groupId>org.jboss.deployers</groupId>
             <artifactId>jboss-deployers-core-spi</artifactId>
           </exclusion>          
           <exclusion>
@@ -2108,9 +2123,9 @@
       </dependency>
       
       <dependency>
-        <groupId>org.jboss.microcontainer</groupId>
+        <groupId>org.jboss.kernel</groupId>
         <artifactId>jboss-aop-mc-int</artifactId>
-        <version>${version.org.jboss.microcontainer}</version>
+        <version>${version.org.jboss.kernel}</version>
         <exclusions>
           <exclusion>
             <groupId>org.jboss.aop</groupId>
@@ -2124,18 +2139,24 @@
       </dependency>
       
       <dependency>
-        <groupId>org.jboss.microcontainer</groupId>
+        <groupId>org.jboss.kernel</groupId>
         <artifactId>jboss-dependency</artifactId>
-        <version>${version.org.jboss.microcontainer}</version>
+        <version>${version.org.jboss.kernel}</version>
       </dependency>
       
       <dependency>
-        <groupId>org.jboss.microcontainer</groupId>
+        <groupId>org.jboss.kernel</groupId>
         <artifactId>jboss-kernel</artifactId>
-        <version>${version.org.jboss.microcontainer}</version>
+        <version>${version.org.jboss.kernel}</version>
       </dependency>
       
       <dependency>
+       <groupId>org.jboss.mcann</groupId>
+       <artifactId>mcann-core</artifactId>
+       <version>${version.org.jboss.mcann}</version>
+      </dependency>
+      
+      <dependency>
        <groupId>org.jboss.mc-int</groupId>
        <artifactId>jboss-mc-int-servlet</artifactId>
        <version>${version.org.jboss.mc-int}</version>
@@ -2169,6 +2190,10 @@
            <artifactId>jboss-dependency</artifactId>
          </exclusion>
          <exclusion>
+           <groupId>org.jboss.kernel</groupId>
+           <artifactId>jboss-dependency</artifactId>
+         </exclusion>
+         <exclusion>
            <groupId>org.jboss.deployers</groupId>
            <artifactId>jboss-deployers-spi</artifactId>
          </exclusion>
@@ -2189,6 +2214,10 @@
            <artifactId>jboss-kernel</artifactId>
          </exclusion>
          <exclusion>
+           <groupId>org.jboss.kernel</groupId>
+           <artifactId>jboss-kernel</artifactId>
+         </exclusion>
+         <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>

Modified: trunk/connector/pom.xml
===================================================================
--- trunk/connector/pom.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/connector/pom.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -223,7 +223,7 @@
       <artifactId>jboss-metadata-rar</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
+      <groupId>org.jboss.kernel</groupId>
       <artifactId>jboss-aop-mc-int</artifactId>
     </dependency>
     <dependency>

Modified: trunk/ejb3/pom.xml
===================================================================
--- trunk/ejb3/pom.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/ejb3/pom.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -272,7 +272,7 @@
     </dependency>
     
     <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
+      <groupId>org.jboss.kernel</groupId>
       <artifactId>jboss-kernel</artifactId>
     </dependency>
     

Modified: trunk/main/src/main/java/org/jboss/Main.java
===================================================================
--- trunk/main/src/main/java/org/jboss/Main.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/main/src/main/java/org/jboss/Main.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -21,9 +21,6 @@
  */
 package org.jboss;
 
-import gnu.getopt.Getopt;
-import gnu.getopt.LongOpt;
-
 import java.io.Closeable;
 import java.io.File;
 import java.io.FilenameFilter;
@@ -42,6 +39,8 @@
 import java.util.Properties;
 import java.util.Set;
 
+import gnu.getopt.Getopt;
+import gnu.getopt.LongOpt;
 import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
 import org.jboss.bootstrap.api.as.server.JBossASServer;
 import org.jboss.bootstrap.api.factory.ServerFactory;
@@ -105,7 +104,7 @@
          "jboss-bootstrap-api.jar",
          // Microcontainer
          "javassist.jar", "jboss-reflect.jar", "jboss-mdr.jar", "jboss-dependency.jar", "jboss-kernel.jar",
-         "jboss-metatype.jar", "jboss-managed.jar",
+         "jboss-metatype.jar", "jboss-managed.jar", "javax.inject.jar", "jboss-classpool.jar", "jboss-classpool-jbosscl.jar",
          // Fixme ClassLoading
          "jboss-vfs.jar", "jboss-classloading-spi.jar", "jboss-classloader.jar", "jboss-classloading.jar",
          "jboss-classloading-vfs.jar",

Modified: trunk/security/src/etc/deploy/security-jboss-beans.xml
===================================================================
--- trunk/security/src/etc/deploy/security-jboss-beans.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/security/src/etc/deploy/security-jboss-beans.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -19,27 +19,21 @@
    <lifecycle-configure xmlns="urn:jboss:aop-beans:1.0"
         name="PasswordRegistrationAdvice"
         class="org.jboss.security.integration.password.PasswordLifecycleCallback"
-        classes="@org.jboss.security.integration.password.Password"
-        manager-bean="AspectManager"
-        manager-property="aspectManager">
+        classes="@org.jboss.security.integration.password.Password">
         <property name="passwordManagement"><inject bean="JBossSecurityPasswordMaskManagement"/></property>
    </lifecycle-configure>
   
   <lifecycle-create xmlns="urn:jboss:aop-beans:1.0"
         name="PasswordCreateDestroyAdvice"
         class="org.jboss.security.integration.password.PasswordLifecycleCallback"
-        classes="@org.jboss.security.integration.password.Password"
-        manager-bean="AspectManager"
-        manager-property="aspectManager">
+        classes="@org.jboss.security.integration.password.Password">
         <property name="passwordManagement"><inject bean="JBossSecurityPasswordMaskManagement"/></property>
   </lifecycle-create>
 
   <lifecycle-install xmlns="urn:jboss:aop-beans:1.0"
        name="PasswordStartStopAdvice"
        class="org.jboss.security.integration.password.PasswordLifecycleCallback"
-       classes="@org.jboss.security.integration.password.Password"
-       manager-bean="AspectManager"
-       manager-property="aspectManager">
+       classes="@org.jboss.security.integration.password.Password">
        <property name="passwordManagement"><inject bean="JBossSecurityPasswordMaskManagement"/></property>
    </lifecycle-install>
 

Modified: trunk/server/pom.xml
===================================================================
--- trunk/server/pom.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/pom.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -466,6 +466,11 @@
       <artifactId>jboss-service-binding-mgmt</artifactId>
     </dependency>
     
+    <dependency>
+      <groupId>org.jboss.mcann</groupId>
+      <artifactId>mcann-core</artifactId>
+    </dependency>
+    
   </dependencies>
   
 </project>

Deleted: trunk/server/src/etc/conf/all/bootstrap/asynch.xml
===================================================================
--- trunk/server/src/etc/conf/all/bootstrap/asynch.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/etc/conf/all/bootstrap/asynch.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-   The Executor used by the controller to do asynchronous deployments
--->
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-   <classloader><inject bean="asynch-classloader:0.0.0"/></classloader>
-
-   <classloader name="asynch-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true">
-      <root>${jboss.common.lib.url}jboss.jar</root>
-   </classloader>
-
-   <bean name="BootstrapExecutorFactory" class="org.jboss.executor.ThreadPoolExecutorFactory">
-      <property name="corePoolSizeBase">1</property>
-      <property name="corePoolSizePerCpu">0</property>
-      <property name="maxPoolSizeBase">10</property>
-      <property name="maxPoolSizePerCpu">3</property>
-   </bean>
-
-   <bean name="ControllerExecutorInstaller" class="org.jboss.executor.ControllerExecutorInstaller">
-      <property name="context"><inject fromContext="context"/></property>
-      <property name="bootstrapExecutor"><inject bean="BootstrapExecutorFactory" property="executor"/></property>
-      <property name="mainExecutor"><inject bean="ThreadPool" option="Callback"/></property>
-   </bean>
-</deployment>

Modified: trunk/server/src/etc/conf/all/bootstrap/deployers.xml
===================================================================
--- trunk/server/src/etc/conf/all/bootstrap/deployers.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/etc/conf/all/bootstrap/deployers.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -17,6 +17,7 @@
       <root>${jboss.lib.url}jboss-deployers-impl.jar</root>
       <root>${jboss.lib.url}jboss-deployers-vfs-spi.jar</root>
       <root>${jboss.lib.url}jboss-deployers-vfs.jar</root>
+      <root>${jboss.lib.url}mcann-core.jar</root>
 
       <!-- JAXB impl here, api is in endorsed -->
       <root>${jboss.lib.url}jaxb-impl.jar</root>

Modified: trunk/server/src/etc/conf/all/bootstrap/jmx.xml
===================================================================
--- trunk/server/src/etc/conf/all/bootstrap/jmx.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/etc/conf/all/bootstrap/jmx.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -30,25 +30,19 @@
    <lifecycle-configure xmlns="urn:jboss:aop-beans:1.0"
                name="JMXRegistrationAdvice"
                class="org.jboss.system.microcontainer.jmx.ServiceControllerRegistrationLifecycleCallback"
-               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
-               manager-bean="AspectManager"
-               manager-property="aspectManager">
+               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX">
       <property name="serviceController"><inject bean="JMXKernel" property="serviceController"/></property>
    </lifecycle-configure>
    <lifecycle-create xmlns="urn:jboss:aop-beans:1.0"
                name="JMXCreateDestroyAdvice"
                class="org.jboss.system.microcontainer.jmx.ServiceControllerCreateDestroyLifecycleCallback"
-               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
-               manager-bean="AspectManager"
-               manager-property="aspectManager">
+               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX">
       <property name="serviceController"><inject bean="JMXKernel" property="serviceController"/></property>
    </lifecycle-create>
    <lifecycle-install xmlns="urn:jboss:aop-beans:1.0"
                name="JMXStartStopAdvice"
                class="org.jboss.system.microcontainer.jmx.ServiceControllerStartStopLifecycleCallback"
-               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
-               manager-bean="AspectManager"
-               manager-property="aspectManager">
+               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX">
       <property name="serviceController"><inject bean="JMXKernel" property="serviceController"/></property>
    </lifecycle-install>
 

Copied: trunk/server/src/etc/conf/all/bootstrap/kernel.xml (from rev 99247, trunk/server/src/etc/conf/all/bootstrap/asynch.xml)
===================================================================
--- trunk/server/src/etc/conf/all/bootstrap/kernel.xml	                        (rev 0)
+++ trunk/server/src/etc/conf/all/bootstrap/kernel.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   The Executor used by the controller to do asynchronous deployments
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+   <classloader><inject bean="asynch-classloader:0.0.0"/></classloader>
+
+   <classloader name="asynch-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true">
+      <root>${jboss.common.lib.url}jboss.jar</root>
+   </classloader>
+
+   <bean name="BootstrapExecutorFactory" class="org.jboss.executor.ThreadPoolExecutorFactory">
+      <property name="corePoolSizeBase">1</property>
+      <property name="corePoolSizePerCpu">0</property>
+      <property name="maxPoolSizeBase">10</property>
+      <property name="maxPoolSizePerCpu">3</property>
+   </bean>
+
+  <!-- Add executor to controller -->
+   <bean name="ControllerExecutorInstaller" class="org.jboss.executor.ControllerExecutorInstaller">
+      <property name="context"><inject fromContext="context"/></property>
+      <property name="bootstrapExecutor"><inject bean="BootstrapExecutorFactory" property="executor"/></property>
+      <property name="mainExecutor"><inject bean="ThreadPool" option="Callback"/></property>
+   </bean>
+
+   <bean name="BeanAnnotationAdapterFactory" class="org.jboss.kernel.plugins.annotations.BeanAnnotationAdapterFactory">
+      <classloader><null/></classloader>
+      <constructor factoryMethod="getInstance"/>
+   </bean>
+
+   <!-- Intercept all annotation plugings -->
+   <bean name="BeanAnnotationAdapter">
+      <classloader><null/></classloader>
+      <constructor factoryMethod="getBeanAnnotationAdapter">
+         <factory bean="BeanAnnotationAdapterFactory"/>
+      </constructor>
+      <incallback method="addAnnotationPlugin"/>
+      <uncallback method="removeAnnotationPlugin"/>
+   </bean>
+</deployment>

Modified: trunk/server/src/etc/conf/all/bootstrap/profile.xml
===================================================================
--- trunk/server/src/etc/conf/all/bootstrap/profile.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/etc/conf/all/bootstrap/profile.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -82,33 +82,13 @@
     <destroy method="flush"/>
   </bean>
 
-	<!--  A filter which controls the files that will be watched for changes for hot deployment 
-		By default a org.jboss.system.server.profile.basic.PatternIncludeVirtualFileFilter is
-		configured to allow flexible control over the files that can be watched for hot deployments.
-		This PatternIncludeVirtualFileFilter accepts a regular expression and matches it against
-		the file name(s) in the metadata locations (WEB-INF or META-INF) to decide whether the
-		change to such file(s) should trigger a redeployment of the application
-	-->
-	<bean name="ModificationCheckerFilter" class="org.jboss.system.server.profile.basic.PatternIncludeVirtualFileFilter">
-    		<constructor>
-    			<!-- Remember, the parameter is a regex so use the correct syntax
-				as below. Here we specify that we are interested in watching changes to
-				either application.xml, web.xml, ejb-jar.xml, any -service.xml, jboss-beans.xml 
-				(which are all considered top level deployment descriptors) -->
-    			<parameter class="java.lang.String">.*/(application|web|ejb-jar|(.)+-service|.*jboss-beans)\.xml$</parameter>
-    		</constructor>
-	</bean>
   <!-- This just checks metadata locations -->
   <bean name="MetaDataStructureModificationChecker" class="org.jboss.deployers.vfs.spi.structure.modified.MetaDataStructureModificationChecker">
     <constructor>
       <parameter><inject bean="MainDeployer" /></parameter>
     </constructor>
     <property name="cache"><inject bean="StructureModCache" /></property>
-    <!-- Note: The "cacheFilter" and the "filter" should both use the same filter instances
-    	to prevent a bug in the deployers. This will be fixed in later releases of AS-5
-    -->
-    <property name="cacheFilter"><inject bean="ModificationCheckerFilter"/></property>
-    <property name="filter"><inject bean="ModificationCheckerFilter"/></property>
+    <property name="filter"><inject bean="FileStructure"/></property>
   </bean>
 
   <!-- Synchs modifed files -->

Modified: trunk/server/src/etc/conf/all/bootstrap.xml
===================================================================
--- trunk/server/src/etc/conf/all/bootstrap.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/etc/conf/all/bootstrap.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -7,7 +7,7 @@
 
    <url>bootstrap/vfs.xml</url>
    <url>bootstrap/classloader.xml</url>
-   <url>bootstrap/asynch.xml</url>
+   <url>bootstrap/kernel.xml</url>
    <url>bootstrap/aop.xml</url>
    <url>bootstrap/jmx.xml</url>
    <url>bootstrap/deployers.xml</url>

Modified: trunk/server/src/etc/conf/default/bootstrap/profile.xml
===================================================================
--- trunk/server/src/etc/conf/default/bootstrap/profile.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/etc/conf/default/bootstrap/profile.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -73,22 +73,6 @@
     <destroy method="flush"/>
   </bean>
 
-	<!--  A filter which controls the files that will be watched for changes for hot deployment 
-		By default a org.jboss.system.server.profile.basic.PatternIncludeVirtualFileFilter is
-		configured to allow flexible control over the files that can be watched for hot deployments.
-		This PatternIncludeVirtualFileFilter accepts a regular expression and matches it against
-		the file name(s) in the metadata locations (WEB-INF or META-INF) to decide whether the
-		change to such file(s) should trigger a redeployment of the application
-	-->
-	<bean name="ModificationCheckerFilter" class="org.jboss.system.server.profile.basic.PatternIncludeVirtualFileFilter">
-    		<constructor>
-    			<!-- Remember, the parameter is a regex so use the correct syntax
-				as below. Here we specify that we are interested in watching changes to
-				either application.xml, web.xml, ejb-jar.xml, any -service.xml, jboss-beans.xml 
-				(which are all considered top level deployment descriptors) -->
-    			<parameter class="java.lang.String">.*/(application|web|ejb-jar|(.)+-service|.*jboss-beans)\.xml$</parameter>
-    		</constructor>
-	</bean>
   <!-- This just checks metadata locations -->
   <bean name="MetaDataStructureModificationChecker" class="org.jboss.deployers.vfs.spi.structure.modified.MetaDataStructureModificationChecker">
     <constructor>
@@ -96,11 +80,7 @@
     </constructor>
     
     <property name="cache"><inject bean="StructureModCache" /></property>
-    <!-- Note: The "cacheFilter" and the "filter" should both use the same filter instances
-    	to prevent a bug in the deployers. This will be fixed in later releases of AS-5
-    -->
-    <property name="cacheFilter"><inject bean="ModificationCheckerFilter"/></property>
-    <property name="filter"><inject bean="ModificationCheckerFilter"/></property>
+    <property name="filter"><inject bean="FileStructure"/></property>
   </bean>
 
   <!-- Synchs modifed files -->

Modified: trunk/server/src/etc/deployers/metadata-deployer-jboss-beans.xml
===================================================================
--- trunk/server/src/etc/deployers/metadata-deployer-jboss-beans.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/etc/deployers/metadata-deployer-jboss-beans.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -77,7 +77,7 @@
 
   <bean name="DeploymentProvidedDUFilter" class="org.jboss.deployment.DeploymentProvidedDeploymentUnitFilter" />
   
-  <bean name="GenScanDeployer" class="org.jboss.deployers.vfs.plugins.annotations.FilteredAnnotationEnvironmentDeployer">
+  <bean name="GenScanDeployer" class="org.jboss.deployers.vfs.plugins.annotations.FilteredAnnotationRepositoryDeployer">
     <property name="filter">
       <bean class="org.jboss.deployment.ListDeploymentUnitFilter">
         <property name="filters">

Modified: trunk/server/src/main/java/org/jboss/deployment/AltAnnotationMetaDataDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/deployment/AltAnnotationMetaDataDeployer.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/main/java/org/jboss/deployment/AltAnnotationMetaDataDeployer.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -68,8 +68,8 @@
 import javax.xml.ws.WebServiceRef;
 import javax.xml.ws.WebServiceRefs;
 
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
-import org.jboss.deployers.spi.annotations.Element;
+import org.jboss.mcann.AnnotationRepository;
+import org.jboss.mcann.Element;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.virtual.VirtualFile;
 
@@ -88,7 +88,7 @@
    public AltAnnotationMetaDataDeployer()
    {
       super();
-      setInput(AnnotationEnvironment.class);
+      setInput(AnnotationRepository.class);
       // add annotations AnnotationMetaDataDeployer scans
       addAnnotationClass(Stateful.class);
       addAnnotationClass(Remove.class);
@@ -130,11 +130,11 @@
    @SuppressWarnings("unchecked")
    protected Collection<Class<?>> getClasses(VFSDeploymentUnit unit, String mainClassName, List<VirtualFile> classpath) throws IOException
    {
-      AnnotationEnvironment env = unit.getAttachment(AnnotationEnvironment.class);
+      AnnotationRepository env = unit.getAttachment(AnnotationRepository.class);
       if (env == null)
       {
          if (log.isTraceEnabled())
-            log.trace("Cannot scan classes, missing AnnotationEnvironment as attachment: " + unit.getName());
+            log.trace("Cannot scan classes, missing AnnotationRepository as attachment: " + unit.getName());
          return Collections.emptySet();
       }
 

Modified: trunk/server/src/main/java/org/jboss/deployment/EarLibExcludeDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/deployment/EarLibExcludeDeployer.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/main/java/org/jboss/deployment/EarLibExcludeDeployer.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -34,7 +34,7 @@
 import org.jboss.virtual.VirtualFile;
 
 /**
- * Exclude ear's lib from AnnotationEnvironmentDeployer / OptAnnotationMetaDataDeployer processing.
+ * Exclude ear's lib from AnnotationRrepositoryDeployer / OptAnnotationMetaDataDeployer processing.
  *
  * @author Ales.Justin at jboss.org
  */

Modified: trunk/server/src/main/java/org/jboss/deployment/OptAnnotationMetaDataDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/deployment/OptAnnotationMetaDataDeployer.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/main/java/org/jboss/deployment/OptAnnotationMetaDataDeployer.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -32,8 +32,8 @@
 import java.util.List;
 import java.util.Set;
 
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
-import org.jboss.deployers.spi.annotations.Element;
+import org.jboss.mcann.AnnotationRepository;
+import org.jboss.mcann.Element;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.metadata.annotation.creator.AbstractCreator;
 import org.jboss.metadata.annotation.creator.AnnotationContext;
@@ -60,14 +60,14 @@
    public OptAnnotationMetaDataDeployer()
    {
       super();
-      setInput(AnnotationEnvironment.class);
+      setInput(AnnotationRepository.class);
    }
 
    protected void processMetaData(VFSDeploymentUnit unit, WebMetaData webMetaData, ApplicationClientMetaData clientMetaData, List<VirtualFile> classpath) throws Exception
    {
       AnnotationFinder<AnnotatedElement> finder = new DefaultAnnotationFinder<AnnotatedElement>();
       // don't do webMetaData anymore (rev 96033)
-      
+
       String mainClassName = getMainClassName(unit);
       if(mainClassName != null)
          processJBossClientMetaData(unit, finder, mainClassName);
@@ -138,17 +138,17 @@
    {
       boolean trace = log.isTraceEnabled();
 
-      AnnotationEnvironment env = unit.getAttachment(AnnotationEnvironment.class);
+      AnnotationRepository env = unit.getAttachment(AnnotationRepository.class);
       if (env == null)
       {
          if (trace)
-            log.trace("Cannot scan classes, missing AnnotationEnvironment as attachment: " + unit.getName());
+            log.trace("Cannot scan classes, missing AnnotationRepository as attachment: " + unit.getName());
 
          return Collections.emptySet();
       }
 
       String creatorInfo = creator.toString();
-      AnnotationContext context = creator.getAnnotationContext();      
+      AnnotationContext context = creator.getAnnotationContext();
       Set<Class<?>> classes = new HashSet<Class<?>>();
 
       Collection<Class<? extends Annotation>> typeAnnotations = context.getTypeAnnotations();

Modified: trunk/server/src/main/java/org/jboss/deployment/TldParsingDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/deployment/TldParsingDeployer.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/main/java/org/jboss/deployment/TldParsingDeployer.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -21,6 +21,7 @@
  */
 package org.jboss.deployment;
 
+import org.jboss.deployers.spi.structure.MetaDataTypeFilter;
 import org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.metadata.web.spec.TldMetaData;
@@ -44,6 +45,7 @@
       super(TldMetaData.class);
       setSuffix(".tld");
       setAllowMultipleFiles(true);
+      setFilter(MetaDataTypeFilter.ALL);
    }
    
    protected void init(VFSDeploymentUnit unit, TldMetaData metaData, VirtualFile file) throws Exception

Modified: trunk/server/src/main/java/org/jboss/ejb/EjbUtil50.java
===================================================================
--- trunk/server/src/main/java/org/jboss/ejb/EjbUtil50.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/main/java/org/jboss/ejb/EjbUtil50.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -28,7 +28,7 @@
 
 import org.jboss.deployers.structure.spi.DeploymentContext;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
+import org.jboss.deployers.structure.spi.main.MainDeployerInternals;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
@@ -62,7 +62,7 @@
     * @return The JNDI Entry of the target bean; <code>null</code> if
     *         no appropriate target could be found.
     */
-   public static String findEjbLink(MainDeployerStructure server, DeploymentUnit unit, String link)
+   public static String findEjbLink(MainDeployerInternals server, DeploymentUnit unit, String link)
    {
       return resolveLink(server, unit, link, false);
    }
@@ -78,13 +78,13 @@
     * @return The JNDI Entry of the target bean; <code>null</code> if
     *         no appropriate target could be found.
     */
-   public static String findLocalEjbLink(MainDeployerStructure server, DeploymentUnit unit, String link)
+   public static String findLocalEjbLink(MainDeployerInternals server, DeploymentUnit unit, String link)
    {
       return resolveLink(server, unit, link, true);
    }
 
    /**
-    * Resolves a &lt;message-destination&gt; target for a &lt;message-destination-link&gt; 
+    * Resolves a &lt;message-destination&gt; target for a &lt;message-destination-link&gt;
     * entry and returns the name of the target in the JNDI tree.
     *
     * @param server the main deployer
@@ -94,12 +94,12 @@
     * @return The JNDI Entry of the target; <code>null</code> if
     *         no appropriate target could be found.
     */
-   public static MessageDestinationMetaData findMessageDestination(MainDeployerStructure server, DeploymentUnit di, String link)
+   public static MessageDestinationMetaData findMessageDestination(MainDeployerInternals server, DeploymentUnit di, String link)
    {
       return resolveMessageDestination(server, di, link);
    }
 
-   private static String resolveLink(MainDeployerStructure server, DeploymentUnit di, String link, boolean isLocal)
+   private static String resolveLink(MainDeployerInternals server, DeploymentUnit di, String link, boolean isLocal)
    {
       if (link == null)
       {
@@ -130,7 +130,7 @@
       }
    }
 
-   private static String resolveRelativeLink(MainDeployerStructure server, DeploymentUnit unit, String link, boolean isLocal)
+   private static String resolveRelativeLink(MainDeployerInternals server, DeploymentUnit unit, String link, boolean isLocal)
    {
 
       String path = link.substring(0, link.indexOf('#'));
@@ -299,7 +299,7 @@
       return jndiName;
    }
 
-   private static MessageDestinationMetaData resolveMessageDestination(MainDeployerStructure server, DeploymentUnit di, String link)
+   private static MessageDestinationMetaData resolveMessageDestination(MainDeployerInternals server, DeploymentUnit di, String link)
    {
       if (link == null)
          return null;
@@ -322,7 +322,7 @@
       }
    }
 
-   private static MessageDestinationMetaData resolveRelativeMessageDestination(MainDeployerStructure server, DeploymentUnit unit, String link)
+   private static MessageDestinationMetaData resolveRelativeMessageDestination(MainDeployerInternals server, DeploymentUnit unit, String link)
    {
       String path = link.substring(0, link.indexOf('#'));
       String destinationName = link.substring(link.indexOf('#') + 1);

Modified: trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployer.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployer.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -41,7 +41,7 @@
 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.structure.spi.main.MainDeployerInternals;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver;
 import org.jboss.kernel.plugins.bootstrap.basic.KernelConstants;
@@ -74,7 +74,7 @@
 
 /** A template pattern class for web container integration into JBoss. This class
  * should be subclassed by web container providers wishing to integrate their
- * container into a JBoss server. The sole method to implement is: 
+ * container into a JBoss server. The sole method to implement is:
  * {@link #getDeployment(DeploymentUnit, WebMetaData)}. This is called from
  * within {@linkplain #deploy(DeploymentUnit, WebMetaData)} to translate the
  * WebMetaData into a AbstractWarDeployment bean that will be passed to the
@@ -123,7 +123,7 @@
    private String subjectAttributeName = null;
    /** Legacy support for MBeanServer */
    private MBeanServer server;
-   private MainDeployerStructure mainDeployer;
+   private MainDeployerInternals mainDeployer;
 
    private PersistenceUnitDependencyResolver persistenceUnitDependencyResolver;
 
@@ -160,7 +160,7 @@
    /** Set the flag indicating if war archives should be unpacked. This may
     * need to be set to false as long extraction paths under deploy can
     * show up as deployment failures on some platforms.
-    * 
+    *
     * @jmx:managed-attribute
     * @return true is war archives should be unpacked
     */
@@ -172,7 +172,7 @@
    /** Get the flag indicating if war archives should be unpacked. This may
     * need to be set to false as long extraction paths under deploy can
     * show up as deployment failures on some platforms.
-    * 
+    *
     * @jmx:managed-attribute
     * @param flag , true is war archives should be unpacked
     */
@@ -206,8 +206,8 @@
    /**
     * Get the flag indicating if ejb-link errors should be ignored
     * in favour of trying the jndi-name in jboss-web.xml
-    * @return the LenientEjbLink flag 
-    *    
+    * @return the LenientEjbLink flag
+    *
     * @jmx:managed-attribute
     */
    public boolean getLenientEjbLink()
@@ -218,7 +218,7 @@
    /**
     * Set the flag indicating if ejb-link errors should be ignored
     * in favour of trying the jndi-name in jboss-web.xml
-    *    
+    *
     * @jmx:managed-attribute
     */
    public void setLenientEjbLink(boolean flag)
@@ -287,7 +287,7 @@
     * override this method to provide a AbstractWarDeployment bean whose
     * start/stop will control the deployment/undeployment of the web
     * application.
-    * 
+    *
     * @param unit - the deployment unit
     * @param metaData - the input web application metadata
     * @return the AbstractWarDeployment for the input WebMetaData
@@ -300,13 +300,13 @@
     * {@link #getDeployment(DeploymentUnit, WebMetaData)} to obtain an
     * AbstractWarDeployment bean that is wrapped in a ServiceMetaData by
     * deployWebModule.
-    * 
+    *
     * This will set the WebMetaData.contextRoot if it has not been set based
     * on the war deployment name.
-    * 
+    *
     * @see #deployWebModule(DeploymentUnit, WebMetaData, AbstractWarDeployment)
     * @see #buildWebContext(DeploymentUnit, String, String, WebMetaData)
-    * 
+    *
     * @param unit - the war for the deployment
     * @param metaData - the metadata for the deployment
     */
@@ -353,7 +353,7 @@
          String warName = unit.getName();
 
          /**
-          * Ignore the jacc policy service bean 
+          * Ignore the jacc policy service bean
           */
          if (warName.startsWith("jboss:") && warName.contains("id="))
             return;
@@ -562,7 +562,7 @@
     A war name of ROOT.war is handled as a special case of a war that
     should be installed as the default web context.
     @param ctxPath - war level context-root
-    @param warName - 
+    @param warName -
     */
    protected String buildWebContext(String ctxPath, String warName, JBossWebMetaData metaData, DeploymentUnit unit)
    {
@@ -613,12 +613,12 @@
       return server;
    }
 
-   public MainDeployerStructure getMainDeployer()
+   public MainDeployerInternals getMainDeployer()
    {
       return mainDeployer;
    }
 
-   public void setMainDeployer(MainDeployerStructure mainDeployer)
+   public void setMainDeployer(MainDeployerInternals mainDeployer)
    {
       this.mainDeployer = mainDeployer;
    }
@@ -653,7 +653,7 @@
     * AbstractWarDeployment bean and then attach it to the deployment unit. The
     * presence of the ServiceMetaData attachment makes the deployment unit
     * "relevant" to the deployers that handle mbean services.
-    * 
+    *
     * @param unit - the deployment unit
     * @param metaData - the web app metadata passed to deploy
     * @param deployment - the web app deployment bean created by getDeployment
@@ -735,19 +735,19 @@
       @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);  
+      managedObjects.put("ContextMO", mo);
    }
 }

Modified: trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -39,7 +39,7 @@
 import org.jboss.beans.metadata.api.annotations.Inject;
 import org.jboss.bootstrap.api.as.config.JBossASServerConfig;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
+import org.jboss.deployers.structure.spi.main.MainDeployerInternals;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.ejb.EjbUtil50;
 import org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver;
@@ -85,7 +85,7 @@
 - performUndeploy(WebApplication webApp, String warUrl) to remove the application
 corresponding to the WebApplication data. This is called when the
 AbstractWarDeployment is stopped.
- 
+
 The one thing to be aware of is the relationship between the thread context
 class loader and the JNDI ENC context. Any method that attempts to access
 the JNDI ENC context must have the ClassLoader in the WebApplication returned
@@ -107,7 +107,7 @@
    protected Logger log;
 
    protected MBeanServer server;
-   protected MainDeployerStructure mainDeployer;
+   protected MainDeployerInternals mainDeployer;
    // servlet context attributes
    protected Kernel kernel;
    protected DeploymentUnit unit;
@@ -197,12 +197,12 @@
       this.server = server;
    }
 
-   public MainDeployerStructure getMainDeployer()
+   public MainDeployerInternals getMainDeployer()
    {
       return mainDeployer;
    }
 
-   public void setMainDeployer(MainDeployerStructure mainDeployer)
+   public void setMainDeployer(MainDeployerInternals mainDeployer)
    {
       this.mainDeployer = mainDeployer;
    }
@@ -348,7 +348,7 @@
 
    /**
     * Get the securityManagement.
-    * 
+    *
     * @return the securityManagement.
     */
    public String getSecurityManagementName()
@@ -358,7 +358,7 @@
 
    /**
     * Set the securityManagement.
-    * 
+    *
     * @param securityManagement the securityManagement.
     */
    public void setSecurityManagementName(String securityManagement)
@@ -368,7 +368,7 @@
 
    /**
     * Get the securityManagement.
-    * 
+    *
     * @return the securityManagement.
     */
    public ISecurityManagement getSecurityManagement()
@@ -378,7 +378,7 @@
 
    /**
     * Set the securityManagement.
-    * 
+    *
     * @param securityManagement the securityManagement.
     */
    public void setSecurityManagement(ISecurityManagement securityManagement)
@@ -440,9 +440,9 @@
 
          // Dynamic WebMetaData deployments might not provide an URL
          // We use the DEploymentUnit name as identifier instead.
-         // The JAXWS Endpoint API for example does this.  
+         // The JAXWS Endpoint API for example does this.
          String warURLString = (warUrl != null ? warUrl.toExternalForm() : unit.getName());
-         
+
          // Strip any jar: url syntax. This should be be handled by the vfs
          if (warURLString.startsWith("jar:"))
             warURLString = warURLString.substring(4, warURLString.length() - 2);

Modified: trunk/server/src/main/java/org/jboss/web/deployers/WARStructure.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/deployers/WARStructure.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/server/src/main/java/org/jboss/web/deployers/WARStructure.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -22,11 +22,11 @@
 package org.jboss.web.deployers;
 
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.List;
 
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataType;
 import org.jboss.deployers.vfs.plugins.structure.AbstractVFSStructureDeployer;
 import org.jboss.deployers.vfs.spi.structure.StructureContext;
 import org.jboss.virtual.VirtualFile;
@@ -126,7 +126,7 @@
          boolean trace = log.isTraceEnabled();
 
          // the WEB-INF
-         VirtualFile webinf = null;
+         VirtualFile webinf;
 
          if (isLeaf(file) == false)
          {
@@ -159,9 +159,12 @@
                log.trace("... ok - name ends in .war.");
             }
 
-            List<String> metaDataLocations = new ArrayList<String>();
-            metaDataLocations.add("WEB-INF");
-            
+            // Check for a META-INF for metadata
+            // FIXME: This is not spec legal, descriptors could be loaded from this location
+            String[] metaDataLocations = new String[]{"WEB-INF", "WEB-INF/classes/META-INF"};
+            // Create a context for this war file and all its metadata locations
+            context = createContext(structureContext, metaDataLocations);
+
             // Add all children as locations for TLDs (except classes and lib), recursively
             webinf = file.getChild("WEB-INF");
             if (webinf != null)
@@ -171,29 +174,12 @@
                {
                   if (!isLeaf(child) && (!"lib".equals(child.getName())) && (!"classes".equals(child.getName())))
                   {
-                     metaDataLocations.add("WEB-INF/" + child.getName());
-                     addPathsRecursively(metaDataLocations, child, "WEB-INF/" + child.getName());
+                     addMetaDataPath(structureContext, context, "WEB-INF/" + child.getName(), MetaDataType.ALTERNATIVE);
+                     addPathsRecursively(structureContext, context, child, "WEB-INF/" + child.getName());
                   }
                }
             }
 
-            // Check for WEB-INF/classes
-            VirtualFile classes = null;
-            try
-            {
-               // The classpath contains WEB-INF/classes
-               classes = file.getChild("WEB-INF/classes");
-               
-               // Check for a META-INF for metadata
-               // FIXME: This is not spec legal, descriptors could be loaded from this location
-               if (classes != null)
-                  metaDataLocations.add("WEB-INF/classes/META-INF");
-            }
-            catch(IOException e)
-            {
-               log.warn("Exception while looking for classes, " + file.getPathName() + ", " + e);
-            }
-
             // Check for jars in WEB-INF/lib
             List<VirtualFile> archives = null;
             try
@@ -211,15 +197,14 @@
                         VirtualFile metaInf = jar.getChild("META-INF");
                         if (metaInf != null && !isLeaf(metaInf))
                         {
-                           metaDataLocations.add("WEB-INF/lib/" + jar.getName() + "/META-INF");
+                           addMetaDataPath(structureContext, context, "WEB-INF/lib/" + jar.getName() + "/META-INF", MetaDataType.ALTERNATIVE);
                            List<VirtualFile> children = metaInf.getChildren();
                            for (VirtualFile child : children)
                            {
                               if (!isLeaf(child) && (!"resources".equals(child.getName())))
                               {
-                                 metaDataLocations.add("WEB-INF/lib/" + jar.getName() + "/META-INF/" + child.getName());
-                                 addPathsRecursively(metaDataLocations, child, 
-                                       "WEB-INF/lib/" + jar.getName() + "/META-INF/" + child.getName());
+                                 addMetaDataPath(structureContext, context, "WEB-INF/lib/" + jar.getName() + "/META-INF/" + child.getName(), MetaDataType.ALTERNATIVE);
+                                 addPathsRecursively(structureContext, context, child, "WEB-INF/lib/" + jar.getName() + "/META-INF/" + child.getName());
                               }
                            }
                         }
@@ -232,12 +217,11 @@
                log.warn("Exception looking for WEB-INF/lib, " + file.getPathName() + ", " + e);
             }
             
-            // Create a context for this war file and all its metadata locations
-            context = createContext(structureContext, metaDataLocations.toArray(new String[metaDataLocations.size()]));
-
             // Add the war manifest classpath entries
             addClassPath(structureContext, file, false, true, context);
 
+            // Check for WEB-INF/classes
+            VirtualFile classes = file.getChild("WEB-INF/classes");
             // Add WEB-INF/classes if present
             if (classes != null)
                addClassPath(structureContext, classes, true, false, context);
@@ -280,17 +264,17 @@
          throw DeploymentException.rethrowAsDeploymentException("Error determining structure: " + file.getName(), e);
       }
    }
-   
-   protected void addPathsRecursively(List<String> metaDataLocations, VirtualFile parent, String path)
-   throws IOException
+
+   protected void addPathsRecursively(StructureContext context, ContextInfo info, VirtualFile parent, String path) throws IOException
    {
       List<VirtualFile> children = parent.getChildren();
       for (VirtualFile child : children)
       {
          if (!isLeaf(child))
          {
-            metaDataLocations.add(path + "/" + child.getName());
-            addPathsRecursively(metaDataLocations, child, path + "/" + child.getName());
+            String newPath = path + "/" + child.getName();
+            addMetaDataPath(context, info, newPath, MetaDataType.ALTERNATIVE);
+            addPathsRecursively(context, info, child, newPath);
          }
       }
    }

Modified: trunk/system/pom.xml
===================================================================
--- trunk/system/pom.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system/pom.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -80,7 +80,7 @@
       <artifactId>jboss-metatype</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
+      <groupId>org.jboss.kernel</groupId>
       <artifactId>jboss-dependency</artifactId>
     </dependency>
     <dependency>
@@ -100,7 +100,7 @@
       <artifactId>jboss-deployers-vfs</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
+      <groupId>org.jboss.kernel</groupId>
       <artifactId>jboss-kernel</artifactId>
     </dependency>
     <dependency>
@@ -108,7 +108,7 @@
       <artifactId>jboss-deployers-impl</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
+      <groupId>org.jboss.kernel</groupId>
       <artifactId>jboss-aop-mc-int</artifactId>
     </dependency>
     <dependency>

Deleted: trunk/system/src/main/java/org/jboss/system/server/profile/basic/AbstractPatternVirtualFileFilter.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profile/basic/AbstractPatternVirtualFileFilter.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system/src/main/java/org/jboss/system/server/profile/basic/AbstractPatternVirtualFileFilter.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -1,66 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.system.server.profile.basic;
-
-import java.util.regex.Pattern;
-
-import org.jboss.deployers.vfs.spi.structure.modified.AbstractPathNameFilter;
-import org.jboss.deployers.vfs.spi.structure.modified.StructureCacheFilter;
-import org.jboss.virtual.VirtualFileFilter;
-
-/**
- * Pattern filter.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public abstract class AbstractPatternVirtualFileFilter extends AbstractPathNameFilter implements VirtualFileFilter
-{
-   private Pattern pattern;
-
-   protected AbstractPatternVirtualFileFilter(String patternString)
-   {
-      this.pattern = Pattern.compile(patternString);
-   }
-
-   /**
-    * Should we match the pattern.
-    *
-    * @return
-    */
-   protected abstract boolean doMatch();
-
-   /**
-    * @see StructureCacheFilter#accepts(String)
-    */
-   public boolean accepts(String path)
-   {
-      if (path == null)
-      {
-         return false;
-      }
-      
-      // pattern match the path against our configured
-      // regext pattern
-      return pattern.matcher(path).matches() == doMatch();
-   }
-   
-}
\ No newline at end of file

Deleted: trunk/system/src/main/java/org/jboss/system/server/profile/basic/JspAndHtmlExcludeVirtualFileFilter.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profile/basic/JspAndHtmlExcludeVirtualFileFilter.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system/src/main/java/org/jboss/system/server/profile/basic/JspAndHtmlExcludeVirtualFileFilter.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.system.server.profile.basic;
-
-/**
- * Exclude .jsp and .(x)html files.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class JspAndHtmlExcludeVirtualFileFilter extends PatternExcludeVirtualFileFilter
-{
-   public JspAndHtmlExcludeVirtualFileFilter()
-   {
-      super("\\.(jsp|[x]?html)$");
-   }
-}
\ No newline at end of file

Deleted: trunk/system/src/main/java/org/jboss/system/server/profile/basic/PatternExcludeVirtualFileFilter.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profile/basic/PatternExcludeVirtualFileFilter.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system/src/main/java/org/jboss/system/server/profile/basic/PatternExcludeVirtualFileFilter.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.system.server.profile.basic;
-
-/**
- * Pattern exclude filter.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class PatternExcludeVirtualFileFilter extends AbstractPatternVirtualFileFilter
-{
-   public PatternExcludeVirtualFileFilter(String patternString)
-   {
-      super(patternString);
-   }
-
-   protected boolean doMatch()
-   {
-      return false;
-   }
-}
\ No newline at end of file

Deleted: trunk/system/src/main/java/org/jboss/system/server/profile/basic/PatternIncludeVirtualFileFilter.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profile/basic/PatternIncludeVirtualFileFilter.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system/src/main/java/org/jboss/system/server/profile/basic/PatternIncludeVirtualFileFilter.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.system.server.profile.basic;
-
-/**
- * Pattern include filter.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class PatternIncludeVirtualFileFilter extends AbstractPatternVirtualFileFilter
-{
-   public PatternIncludeVirtualFileFilter(String patternString)
-   {
-      super(patternString);
-   }
-
-   protected boolean doMatch()
-   {
-      return true;
-   }
-}
\ No newline at end of file

Deleted: trunk/system/src/main/java/org/jboss/system/server/profile/basic/XmlIncludeVirtualFileFilter.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profile/basic/XmlIncludeVirtualFileFilter.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system/src/main/java/org/jboss/system/server/profile/basic/XmlIncludeVirtualFileFilter.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -1,37 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.system.server.profile.basic;
-
-import org.jboss.deployers.vfs.spi.structure.modified.AbstractPathNameFilter;
-
-/**
- * Include only .xml files.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class XmlIncludeVirtualFileFilter extends AbstractPathNameFilter
-{
-   public boolean accepts(String path)
-   {
-      return path.endsWith(".xml");
-   }
-}
\ No newline at end of file

Copied: trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/DeploymentMetaDataEntryMetaData.java (from rev 99247, trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/DeploymentClassPathMetaData.java)
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/DeploymentMetaDataEntryMetaData.java	                        (rev 0)
+++ trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/DeploymentMetaDataEntryMetaData.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.system.server.profileservice.attachments;
+
+import javax.xml.bind.annotation.XmlElement;
+
+/**
+ * The DeploymentMetaDataEntryMetaData is the xml representation
+ * of the MetaDataEntry in ContextInfo.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class DeploymentMetaDataEntryMetaData
+{
+   /** The path */
+   private String path;
+
+   /** The type */
+   private String type;
+
+   public DeploymentMetaDataEntryMetaData()
+   {
+   }
+
+   public DeploymentMetaDataEntryMetaData(String path, String type)
+   {
+      this.path = path;
+      this.type = type;
+   }
+
+   @XmlElement(name = "name")
+   public String getPath()
+   {
+      return path;
+   }
+
+   public void setPath(String path)
+   {
+      this.path = path;
+   }
+
+   @XmlElement(name = "type")
+   public String getType()
+   {
+      return type;
+   }
+
+   public void setType(String type)
+   {
+      this.type = type;
+   }
+}
\ No newline at end of file

Modified: trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/DeploymentStructureMetaData.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/DeploymentStructureMetaData.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/DeploymentStructureMetaData.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -27,46 +27,45 @@
 
 /**
  * Basic xml representation helper class of the StructureMetaData.
- * 
+ *
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
  * @version $Revision$
  */
 public class DeploymentStructureMetaData
 {
-
    /** The meta data path */
-   private List<String> metaDataPaths;
-   
+   private List<DeploymentMetaDataEntryMetaData> metaDataPaths;
+
    /** The class paths */
    private List<DeploymentClassPathMetaData> classPaths;
-   
+
    /** The comparator class name */
    private String comparatorClass;
-   
+
    /** The modifcation type */
    private String modificationType;
-   
+
    /** The relative order */
    private int relatativeOrder;
- 
-   
+
+
    @XmlElement(name = "meta-data-path")
-   public List<String> getMetaDataPaths()
+   public List<DeploymentMetaDataEntryMetaData> getMetaDataPaths()
    {
       return metaDataPaths;
    }
-   
-   public void setMetaDataPaths(List<String> metaDataPaths)
+
+   public void setMetaDataPaths(List<DeploymentMetaDataEntryMetaData> metaDataPaths)
    {
       this.metaDataPaths = metaDataPaths;
    }
-   
+
    @XmlElement(name = "class-path")
    public List<DeploymentClassPathMetaData> getClassPaths()
    {
       return classPaths;
    }
-   
+
    public void setClassPaths(List<DeploymentClassPathMetaData> classPaths)
    {
       this.classPaths = classPaths;
@@ -77,32 +76,31 @@
    {
       return comparatorClass;
    }
-   
+
    public void setComparatorClass(String comparatorClass)
    {
       this.comparatorClass = comparatorClass;
    }
-   
+
    @XmlElement(name = "relative-order")
    public int getRelatativeOrder()
    {
       return relatativeOrder;
    }
-   
+
    public void setRelatativeOrder(int relatativeOrder)
    {
       this.relatativeOrder = relatativeOrder;
    }
-   
+
    @XmlElement(name = "modifcation-type")
    public String getModificationType()
    {
       return modificationType;
    }
-   
+
    public void setModificationType(String modificationType)
    {
       this.modificationType = modificationType;
    }
-
 }

Modified: trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/RepositoryAttachmentMetaDataFactory.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/RepositoryAttachmentMetaDataFactory.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system/src/main/java/org/jboss/system/server/profileservice/attachments/RepositoryAttachmentMetaDataFactory.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -26,17 +26,18 @@
 
 import org.jboss.deployers.spi.structure.ClassPathEntry;
 import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
 import org.jboss.managed.api.ManagedDeployment;
 
 /**
  * Common RepositoryAttachmentMetaData operations.
  * 
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
  * @version $Revision$
  */
 public class RepositoryAttachmentMetaDataFactory
 {
-
    public static RepositoryAttachmentMetaData createInstance()
    {
       return new RepositoryAttachmentMetaData();
@@ -94,7 +95,7 @@
       DeploymentStructureMetaData structure = new DeploymentStructureMetaData(); 
       
       // meta data paths
-      structure.setMetaDataPaths(info.getMetaDataPath());
+      structure.setMetaDataPaths(getDeploymentMetaDataEntryMetaData(info));
       // classpath
       structure.setClassPaths(getDeploymentClassPathMetaData(info));
       // comparator
@@ -120,18 +121,35 @@
       return null;
    }
    
+   protected static List<DeploymentMetaDataEntryMetaData> getDeploymentMetaDataEntryMetaData(ContextInfo info)
+   {
+      if(info == null)
+         throw new IllegalArgumentException("context info may not be null.");
+
+      List<MetaDataEntry> metaDatas = info.getMetaDataPath();
+      if(metaDatas == null || metaDatas.isEmpty())
+         return null;
+      
+      List<DeploymentMetaDataEntryMetaData> dmdems = new ArrayList<DeploymentMetaDataEntryMetaData>();
+      for(MetaDataEntry entry : metaDatas)
+         dmdems.add(new DeploymentMetaDataEntryMetaData(entry.getPath(), entry.getType().name()));
+      
+      return dmdems;
+   }
+
    protected static List<DeploymentClassPathMetaData> getDeploymentClassPathMetaData(ContextInfo info)
    {
       if(info == null)
          throw new IllegalArgumentException("context info may not be null.");
-      
-      if(info.getClassPath() == null || info.getClassPath().isEmpty())
+
+      List<ClassPathEntry> path = info.getClassPath();
+      if(path == null || path.isEmpty())
          return null;
-      
+
       List<DeploymentClassPathMetaData> classPath = new ArrayList<DeploymentClassPathMetaData>();
-      for(ClassPathEntry entry : info.getClassPath())
+      for(ClassPathEntry entry : path)
          classPath.add(new DeploymentClassPathMetaData(entry.getPath(), entry.getSuffixes()));
-      
+
       return classPath;
    }
 }

Modified: trunk/system/src/main/java/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system/src/main/java/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -18,17 +18,18 @@
  * 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.system.server.profileservice.persistence.deployer;
 
 import java.io.IOException;
 import java.util.List;
 
 import org.jboss.deployers.spi.structure.ContextInfo;
+import org.jboss.deployers.spi.structure.MetaDataEntry;
 import org.jboss.deployers.spi.structure.StructureMetaData;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.logging.Logger;
-import org.jboss.system.server.profile.basic.XmlIncludeVirtualFileFilter;
+import org.jboss.virtual.plugins.vfs.helpers.IncludeFileNameVirtualFileFilter;
 import org.jboss.virtual.VirtualFile;
 import org.jboss.virtual.VirtualFileFilter;
 
@@ -38,13 +39,13 @@
  */
 public class PersistenceModificationChecker
 {
-   
+
    /** The logger. */
    private static final Logger log = Logger.getLogger(PersistenceModificationChecker.class);
-   
+
    /** The filter. */
-   private static VirtualFileFilter filter = new XmlIncludeVirtualFileFilter();
-   
+   private static VirtualFileFilter filter = new IncludeFileNameVirtualFileFilter(".xml^");
+
    public static boolean hasBeenModified(VFSDeploymentUnit unit, long lastModified) throws Exception
    {
       VirtualFile root = unit.getRoot();
@@ -57,25 +58,25 @@
       StructureMetaData structureMetaData = unit.getAttachment(StructureMetaData.class);
       if(structureMetaData == null)
          return false;
-      
+
       ContextInfo info = structureMetaData.getContext(unit.getSimpleName());
       if(info == null && unit.isTopLevel())
          info = structureMetaData.getContext("");
-      
+
       if(info == null)
          return false;
-      
+
       return hasBeenModifed(root, info, lastModified);
    }
 
    protected static boolean hasBeenModifed(VirtualFile root, ContextInfo contextInfo, long lastModified) throws IOException
    {
-      List<String> metadataPaths = contextInfo.getMetaDataPath();
+      List<MetaDataEntry> metadataPaths = contextInfo.getMetaDataPath();
       if (metadataPaths != null && metadataPaths.isEmpty() == false)
       {
-         for (String metaDataPath : metadataPaths)
+         for (MetaDataEntry metaDataPath : metadataPaths)
          {
-            VirtualFile mdpVF = root.getChild(metaDataPath);
+            VirtualFile mdpVF = root.getChild(metaDataPath.getPath());
             if (mdpVF != null)
             {
                List<VirtualFile> children = mdpVF.getChildren(filter);

Modified: trunk/system/src/main/java/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system/src/main/java/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -37,7 +37,7 @@
 import org.jboss.deployers.spi.attachments.AttachmentsFactory;
 import org.jboss.deployers.spi.attachments.MutableAttachments;
 import org.jboss.deployers.structure.spi.DeploymentContext;
-import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
+import org.jboss.deployers.structure.spi.main.MainDeployerInternals;
 import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentContext;
 import org.jboss.logging.Logger;
@@ -55,7 +55,7 @@
 
 /**
  * The AbstractAttachmentStore.
- * 
+ *
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
  * @version $Revision$
  */
@@ -64,25 +64,25 @@
 
    /** The metadata name */
    public static final String METADATA_NAME = "metadata";
-   
+
    /** The logger. */
    private static final Logger log = Logger.getLogger(AbstractAttachmentStore.class);
-   
+
    /** The vfs deployment factory. */
    private static final VFSDeploymentFactory deploymentFactory = VFSDeploymentFactory.getInstance();
-   
+
    /** The attachment store root. */
    private final URI attachmentStoreRoot;
-   
+
    /** The attachment serializer. */
    private AbstractFileAttachmentsSerializer serializer;
 
    /** The main deployer. */
-   private MainDeployerStructure mainDeployer;
-   
+   private MainDeployerInternals mainDeployer;
+
    /** The persistence factory. */
    private PersistenceFactory persistenceFactory;
-  
+
    protected static URI getURI(File root)
    {
       if(root == null)
@@ -96,35 +96,35 @@
    {
       this(getURI(root));
    }
-   
+
    public AbstractAttachmentStore(URI uri)
    {
       if(uri == null)
          throw new IllegalArgumentException("Null uri.");
-      
+
       this.attachmentStoreRoot = uri;
    }
-   
+
    public URI getAttachmentStoreRoot()
    {
       return this.attachmentStoreRoot;
    }
-  
-   public MainDeployerStructure getMainDeployer()
+
+   public MainDeployerInternals getMainDeployer()
    {
       return mainDeployer;
    }
-   
-   public void setMainDeployer(MainDeployerStructure mainDeployer)
+
+   public void setMainDeployer(MainDeployerInternals mainDeployer)
    {
       this.mainDeployer = mainDeployer;
    }
-   
+
    public AbstractFileAttachmentsSerializer getSerializer()
    {
       return this.serializer;
    }
-   
+
    public void setSerializer(AbstractFileAttachmentsSerializer serializer)
    {
       this.serializer = serializer;
@@ -134,12 +134,12 @@
    {
       return persistenceFactory;
    }
-   
+
    public void setPersistenceFactory(PersistenceFactory persistenceFactory)
    {
       this.persistenceFactory = persistenceFactory;
    }
-   
+
    public Deployment createDeployment(ProfileDeployment deployment) throws Exception
    {
       Deployment mcDeployment = null;
@@ -147,7 +147,7 @@
          mcDeployment = new AbstractDeployment(deployment.getName());
       else
          mcDeployment = deploymentFactory.createVFSDeployment(deployment.getRoot());
-      
+
       // Add the deployment attachments as PredeterminedManagedObjects
       Map<String, Object> attachments = deployment.getAttachments();
       if(attachments != null && attachments.isEmpty() == false)
@@ -159,18 +159,18 @@
       }
       return mcDeployment;
    }
-   
+
    /**
     * Load the attachment metadata for a deployment.
-    * 
+    *
     * @param relativeDeploymentPath the relative path
     * @return the attachment metadata
     */
    protected RepositoryAttachmentMetaData loadAttachmentMetaData(String relativeDeploymentPath)
    {
       // attachments/simpleName - hash/metadata.xml
-      String fixedMetadataPath = getMetaDataPathName(relativeDeploymentPath);   
-               
+      String fixedMetadataPath = getMetaDataPathName(relativeDeploymentPath);
+
       try
       {  // Try to load the repository attachment metadata
          return getSerializer().loadAttachment(fixedMetadataPath, RepositoryAttachmentMetaData.class);
@@ -181,12 +181,12 @@
       }
       return null;
    }
-   
+
    public RepositoryAttachmentMetaData loadMetaData(VirtualFile deploymentRoot) throws Exception
    {
       if(deploymentRoot == null)
          throw new IllegalArgumentException("Null deployment root.");
-      
+
       String deploymentPath = createRelativeDeploymentPath(deploymentRoot);
       return loadAttachmentMetaData(deploymentPath);
    }
@@ -197,7 +197,7 @@
          throw new IllegalArgumentException("null deployment ctx name");
       if(comp == null)
          throw new IllegalArgumentException("null managed component");
-      
+
       saveAttachment(ctx, comp, true);
    }
 
@@ -210,7 +210,7 @@
 
       saveAttachment(ctx, comp, false);
    }
-   
+
    public void saveAttachment(String deploymentName, ManagedComponent component, boolean remove) throws Exception
    {
       VFSDeploymentContext ctx = getDeploymentContext(deploymentName);
@@ -220,7 +220,7 @@
       // Get the root
       VirtualFile root = ctx.getRoot();
       String deploymentPath = createRelativeDeploymentPath(root);
-      
+
       // Load previous saved information
       RepositoryAttachmentMetaData repositoryMetaData = loadAttachmentMetaData(deploymentPath);
       if(repositoryMetaData == null)
@@ -238,23 +238,23 @@
       ManagedObject managedObject = component.getDeployment().getManagedObject(parent.getName());
       if(managedObject == null && parent instanceof ManagedObject)
          managedObject = (ManagedObject) parent;
-      
+
       // Get the current attachment
-      String attachmentName = managedObject.getAttachmentName(); 
+      String attachmentName = managedObject.getAttachmentName();
       List<AttachmentMetaData> attachments = repositoryMetaData.getAttachments();
       if(attachments == null)
       {
          attachments = new ArrayList<AttachmentMetaData>();
          repositoryMetaData.setAttachments(attachments);
       }
-      // Extract the attachment 
+      // Extract the attachment
       AttachmentMetaData attachment = null;
       for(AttachmentMetaData a : attachments)
       {
          if(attachmentName.equals(a.getName()))
             attachment = a;
-      }      
-      
+      }
+
       // Create a new one
       if(attachment == null)
       {
@@ -267,7 +267,7 @@
       // Is attachmentName the same as the className ?
       attachment.setName(attachmentName);
       attachment.setClassName(managedObject.getAttachment().getClass().getName());
-      
+
       // Save the attachment
       String attachmentPath = deploymentPath + attachment.getName();
       // Create the persistence information
@@ -281,14 +281,14 @@
       long lastModified = System.currentTimeMillis();
       attachment.setLastModified(lastModified);
       repositoryMetaData.setLastModified(lastModified);
-      
+
       //  Save the updated repository meta data
       getSerializer().saveAttachment(getMetaDataPathName(deploymentPath), repositoryMetaData);
    }
 
    /**
    * create the xml meta data for persisting the managed object.
-   * 
+   *
    * @param parent the parent managed object.
    * @param the managed object
    * @param handler the persistence handler
@@ -298,7 +298,7 @@
   {
      if(root == null)
         root = new PersistenceRoot();
- 
+
      if(remove)
      {
         root = this.persistenceFactory.removeComponent(root, managedObject, component);
@@ -311,29 +311,29 @@
         root.setName(managedObject.getAttachmentName());
      if(root.getClassName() == null)
         root.setClassName(managedObject.getAttachment().getClass().getName());
-     
+
      return root;
   }
 
-   
-   
+
+
    public PersistenceRoot loadAttachment(VirtualFile deploymentCtx, AttachmentMetaData attachment) throws Exception
    {
       if(deploymentCtx == null)
          throw new IllegalArgumentException("Null deployment root.");
       if(attachment == null)
          throw new IllegalArgumentException("Null attachment");
-      
+
       String deploymentPath = createRelativeDeploymentPath(deploymentCtx);
-      
+
       // Load
       String attachmentPath = deploymentPath + attachment.getName();
       return getSerializer().loadAttachment(attachmentPath, PersistenceRoot.class);
    }
-   
+
    /**
     * Get the metadata path, based on a relative path.
-    * 
+    *
     * @param deploymentPath the relative path to the deployment
     * @return
     */
@@ -341,11 +341,11 @@
    {
       return deploymentPath.endsWith(File.separator) ? deploymentPath + METADATA_NAME : deploymentPath + File.separator + METADATA_NAME;
    }
-   
+
    /**
     * Create the relative path to the persisted deployment attachment meta data.
     * The string is simpleName + "-" + hash (based on the URI of the deployment)
-    * 
+    *
     * @param deployment the deployment
     * @return the relative name
     * @throws Exception
@@ -354,17 +354,17 @@
    {
       if(vf == null)
          throw new IllegalStateException("Null deployment.");
-      
-      // deployment URI 
+
+      // deployment URI
       String pathName = vf.toURI().toString();
       String fileName = vf.getName();
       // Generate hash
       String hash = HashGenerator.createHash(pathName);
       // simple name + "-" + hash
       return fileName + "-" + hash + File.separator;
-      
+
    }
-   
+
    /**
     * Get deployment context.
     *
@@ -388,10 +388,10 @@
    {
       /** The digest. */
       private static MessageDigest digest;
-      
+
       /**
        * Create a hash based on a deployment vfs path name.
-       * 
+       *
        * @param deployment the deployment
        * @return a hash
        * @throws NoSuchAlgorithmException
@@ -415,7 +415,7 @@
          // toString
          return f.toString();
       }
-      
+
       protected static byte[] internalCreateHash(String pathName) throws NoSuchAlgorithmException
       {
          MessageDigest digest = getDigest();
@@ -432,7 +432,7 @@
             digest.reset();
          }
       }
-      
+
       public static MessageDigest getDigest() throws NoSuchAlgorithmException
       {
          if(digest == null)
@@ -441,5 +441,5 @@
          return digest;
       }
    }
- 
+
 }

Modified: trunk/system/src/main/java/org/jboss/system/server/profileservice/repository/AbstractProfileService.java
===================================================================
--- trunk/system/src/main/java/org/jboss/system/server/profileservice/repository/AbstractProfileService.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system/src/main/java/org/jboss/system/server/profileservice/repository/AbstractProfileService.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -18,7 +18,7 @@
  * 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.system.server.profileservice.repository;
 
 import java.util.ArrayList;
@@ -50,7 +50,7 @@
 
 /**
  * The ProfileService.
- * 
+ *
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
  * @version $Revision$
  */
@@ -61,34 +61,34 @@
 
    /** The default profile. */
    private ProfileKey defaultProfile;
-   
+
    /** The registered profiles. */
    private List<ProfileKey> profiles = new CopyOnWriteArrayList<ProfileKey>();
-   
+
    /** The active profiles. */
    private List<ProfileKey> activeProfiles = new CopyOnWriteArrayList<ProfileKey>();
-   
+
    /** The deployment manager. */
    private DeploymentManager deploymentManager;
-   
+
    /** The management view. */
    private ManagementView managementView;
-   
+
    /** The main deployer. */
    private MainDeployerAdapter deployer;
-   
+
    /** The controller. */
    private Controller controller;
-   
+
    /** The deploy state */
-   public static final ControllerState DEPLOY_STATE = new ControllerState("Deploy"); 
-   
+   public static final ControllerState DEPLOY_STATE = ControllerState.newState("Deploy");
+
    /** The profileActions. */
    private Map<ControllerState, AbstractProfileAction> profileActions = new HashMap<ControllerState, AbstractProfileAction>();
-   
+
    /** The Logger. */
    private final static Logger log = Logger.getLogger(AbstractProfileService.class);
-   
+
    public AbstractProfileService(AbstractController controller)
    {
       if(controller == null)
@@ -96,22 +96,22 @@
       // Create a scoped controller
       this.controller = new ScopedProfileServiceController(controller);
    }
-   
+
    public ProfileKey getDefaultProfile()
    {
       return defaultProfile;
    }
-   
+
    public void setDefaultProfile(ProfileKey defaultProfile)
    {
       this.defaultProfile = defaultProfile;
    }
-   
+
    public MainDeployerAdapter getDeployer()
    {
       return deployer;
    }
-   
+
    public void setDeployer(MainDeployerAdapter deployer)
    {
       this.deployer = deployer;
@@ -125,7 +125,7 @@
 
       return this.deploymentManager;
    }
-   
+
    public void setDeploymentManager(DeploymentManager deploymentManager)
    {
       this.deploymentManager = deploymentManager;
@@ -144,20 +144,20 @@
    {
       this.managementView = managementView;
    }
-   
+
    public String[] getDomains()
    {
       SecurityManager sm = System.getSecurityManager();
       if(sm != null)
          sm.checkPermission(PS_RUNTIME_PERMISSION);
 
-      // TODO do we need that ? 
+      // TODO do we need that ?
       Collection<String> domains = new ArrayList<String>();
       for(ProfileKey key : activeProfiles)
          domains.add(key.getDomain());
       return domains.toArray(new String[domains.size()]);
    }
-   
+
    public String[] getProfileDeploymentNames(ProfileKey key) throws NoSuchProfileException
    {
       Profile profile = getActiveProfile(key);
@@ -173,10 +173,10 @@
 
       return Collections.unmodifiableCollection(this.profiles);
    }
-   
+
    /**
     * Obtain the registered profile for the key.
-    * 
+    *
     * @param key - the key for the profile
     * @return the matching profile.
     * @throws NoSuchProfileException if there is no such profile registered.
@@ -194,17 +194,17 @@
       ProfileContext profile = null;
       if(this.profiles.contains(key))
          profile = (ProfileContext) this.controller.getContext(key, null);
-      
+
       // If the key is the default, fallback to the injected default key
       if(profile == null && key.isDefaultKey() && this.defaultProfile != null)
-         profile = (ProfileContext) controller.getContext(this.defaultProfile, null);   
-         
+         profile = (ProfileContext) controller.getContext(this.defaultProfile, null);
+
       if(profile == null)
          throw new NoSuchProfileException("No such profile: " + key);
-      
+
       return profile.getProfile();
    }
-   
+
    public Collection<ProfileKey> getActiveProfileKeys()
    {
       SecurityManager sm = System.getSecurityManager();
@@ -213,10 +213,10 @@
 
       return Collections.unmodifiableCollection(this.activeProfiles);
    }
-   
+
    /**
     * Obtain the active profile for the key.
-    * 
+    *
     * @param key - the key for the profile
     * @return the matching active profile.
     * @throws NoSuchProfileException if there is no such profile active.
@@ -234,20 +234,20 @@
       ProfileContext profile = null;
       if(this.activeProfiles.contains(key))
          profile = (ProfileContext) this.controller.getInstalledContext(key);
-      
+
       // If the key is the default, fallback to the injected default key
       if(profile == null && key.isDefaultKey() && this.defaultProfile != null)
-         profile = (ProfileContext) controller.getInstalledContext(this.defaultProfile);   
-         
+         profile = (ProfileContext) controller.getInstalledContext(this.defaultProfile);
+
       if(profile == null)
          throw new NoSuchProfileException("No such profile: " + key);
-      
+
       return profile.getProfile();
    }
-   
+
    /**
     * Create the profile service actions.
-    * 
+    *
     * @throws Exception
     */
    public void create() throws Exception
@@ -256,27 +256,27 @@
          throw new IllegalStateException("Null controller.");
       if(this.deployer == null)
          throw new IllegalStateException("Null deployer.");
-      
+
       // TODO this should be moved to static actions
       this.profileActions.put(ControllerState.CREATE, new ProfileCreateAction());
       this.profileActions.put(ControllerState.START, new ProfileStartAction());
       this.profileActions.put(DEPLOY_STATE, new ProfileDeployAction(deployer));
       this.profileActions.put(ControllerState.INSTALLED, new ProfileInstallAction());
    }
-   
+
    /**
     * Destroy the profileService.
-    * 
+    *
     */
    public void destroy()
    {
       //
       this.profileActions.clear();
    }
-   
+
    /**
     * Register a Profile.
-    * 
+    *
     * @param profile the profile.
     * @throws Exception
     */
@@ -288,7 +288,7 @@
 
       if(profile == null)
          throw new IllegalArgumentException("Null profile.");
-      
+
       ProfileKey key = profile.getKey();
       if(key == null)
          throw new IllegalArgumentException("Null profile key.");
@@ -297,10 +297,10 @@
          log.debug("Profile already registered: " + profile);
          return;
       }
-      
+
       if(controller.isShutdown())
          throw new IllegalStateException("Controller is shutdown.");
-      
+
       log.debug("registering profile: " + profile);
       ProfileContext context = new ProfileContext(profile, this);
       try
@@ -313,12 +313,12 @@
          throw new RuntimeException(t);
       }
    }
-   
+
    /**
     * Activate a registered profile.
-    * 
+    *
     * @param key the profile key.
-    * @throws NoSuchProfileException if there is no such profile registered. 
+    * @throws NoSuchProfileException if there is no such profile registered.
     * @throws Exception
     */
    public void activateProfile(ProfileKey key) throws Exception
@@ -341,14 +341,14 @@
       try
       {
          log.debug("Activating profile: " + context.getProfile());
-         controller.change(context, ControllerState.INSTALLED);         
+         controller.change(context, ControllerState.INSTALLED);
       }
       catch(Throwable t)
       {
          throw new RuntimeException(t);
       }
    }
-   
+
    public void validateProfile(ProfileKey key) throws Exception
    {
       SecurityManager sm = System.getSecurityManager();
@@ -362,26 +362,26 @@
       ProfileContext profile = null;
       if(this.profiles.contains(key))
          profile = (ProfileContext) this.controller.getContext(key, null);
-      
+
       // If the key is the default, fallback to the injected default key
       if(profile == null && key.isDefaultKey() && this.defaultProfile != null)
-         profile = (ProfileContext) controller.getContext(this.defaultProfile, null);   
-         
+         profile = (ProfileContext) controller.getContext(this.defaultProfile, null);
+
       if(profile == null)
          throw new NoSuchProfileException("No such profile: " + key);
-      
+
       validate(profile);
    }
-   
+
    /**
     * Check if all dependencies are satisfied and the profile was installed successfully.
-    * 
+    *
     * @param context the context to validate
     * @throws Exception
     */
    protected void validate(ControllerContext context) throws Exception
    {
-      // 
+      //
       Set<String> errors = new HashSet<String>();
       Map<Object, String> map = new HashMap<Object, String>();
       // Validate the context, with it's dependencies
@@ -389,7 +389,7 @@
       // Create and throw the Exception
       logErrors(errors, map.values());
    }
-   
+
    public void install(ControllerContext context, ControllerState fromState, ControllerState toState) throws Throwable
    {
       if(context instanceof ProfileContext == false)
@@ -403,7 +403,7 @@
          action.install((ProfileContext) context);
       }
    }
-   
+
    public void uninstall(ControllerContext context, ControllerState fromState, ControllerState toState)
    {
       if(context instanceof ProfileContext == false)
@@ -420,7 +420,7 @@
 
    /**
     * Deactivate the profile.
-    * 
+    *
     * @param key the profile key.
     * @throws NoSuchProfileException if the profile is not active.
     */
@@ -429,16 +429,16 @@
       SecurityManager sm = System.getSecurityManager();
       if(sm != null)
          sm.checkPermission(PS_RUNTIME_PERMISSION);
-      
+
       if(key == null)
          throw new IllegalArgumentException("Null profile key.");
-      
+
       if(this.activeProfiles.contains(key) == false)
          throw new NoSuchProfileException("No active profile for: " + key);
 
       if(controller.isShutdown())
          return;
-      
+
       ControllerContext context = controller.getInstalledContext(key);
       if(context == null)
          throw new IllegalStateException("Profile not installed: "+ key);
@@ -452,10 +452,10 @@
          throw new RuntimeException(t);
       }
    }
-   
+
    /**
     * Unregister a profile.
-    * 
+    *
     * @param key the profile key
     * @throws NoSuchProfileException if the profile is not registered.
     */
@@ -463,24 +463,24 @@
    {
       if(key == null)
          throw new IllegalArgumentException("Null profile key.");
-      
+
       if(this.activeProfiles.contains(key))
          throw new IllegalStateException("Cannot unregister active profile: "+ key);
-      
+
       if(this.profiles.contains(key) == false)
          throw new NoSuchProfileException("Profile not registered: " + key);
-      
+
       log.debug("unregistering profile: " + key);
       if(controller.isShutdown())
          return;
-      
+
       controller.uninstall(key);
       this.profiles.remove(key);
    }
-   
+
    /**
     * Delegates to unregisterProfile(ProfileKey)
-    * 
+    *
     * @param profile
     * @throws NoSuchProfileException if the profile is not registered.
     */
@@ -488,15 +488,15 @@
    {
       if(profile == null)
          throw new IllegalArgumentException("Null profile.");
-      
+
       unregisterProfile(profile.getKey());
    }
-   
+
    /**
     * Validate the context and create the error messages if needed.
-    * 
+    *
     * TODO maybe recurse into dependent contexts.
-    * 
+    *
     * @param ctx the context to validate
     * @param errors a set of errors
     * @param incomplete a set of incomplete contexts
@@ -507,7 +507,7 @@
       {
          JBossStringBuilder builder = new JBossStringBuilder();
          builder.append("Profile: ").append(ctx.getName());
-         builder.append(" in error due to ").append(ctx.getError().toString()); 
+         builder.append(" in error due to ").append(ctx.getError().toString());
          errors.add(builder.toString());
       }
       else
@@ -515,7 +515,7 @@
          Object name = ctx.getName();
          if(incomplete.containsKey(name))
             return;
-         
+
          DependencyInfo dependsInfo = ctx.getDependencyInfo();
          Set<DependencyItem> depends = dependsInfo.getIDependOn(null);
          for (DependencyItem item : depends)
@@ -523,9 +523,9 @@
             ControllerState dependentState = item.getDependentState();
             if (dependentState == null)
                dependentState = ControllerState.INSTALLED;
-            
+
             ControllerState otherState = null;
-            ControllerContext other = null; 
+            ControllerContext other = null;
             Object iDependOn = item.getIDependOn();
 
             if (name.equals(iDependOn) == false)
@@ -573,14 +573,14 @@
                   }
                }
             }
-         }  
+         }
       }
    }
-   
+
    /**
     * This method just groups the errors and incomplete messages and throws an
     * Exception if there are errors or missing dependencies.
-    * 
+    *
     * @param errors a set of errors
     * @param incomplete a set of missing dependencies
     * @throws Exception in case there are errors or missing dependencies
@@ -592,7 +592,7 @@
 
       JBossStringBuilder buffer = new JBossStringBuilder();
       buffer.append("Incompletely deployed:\n");
-      
+
       // Append errors
       if(errors.size() != 0)
       {
@@ -600,7 +600,7 @@
          for(String error : errors)
             buffer.append(error).append('\n');
       }
-      
+
       // Append missing dependencies
       if(incomplete.size() != 0)
       {
@@ -608,13 +608,13 @@
          for(String missing : incomplete)
             buffer.append(missing).append('\n');
       }
-      
+
       // Fail
       throw new IllegalStateException(buffer.toString());
    }
-   
+
    /**
-    * A simple lifecycle action to add/remove a profile to the activeProfiles.  
+    * A simple lifecycle action to add/remove a profile to the activeProfiles.
     */
    private class ProfileInstallAction extends AbstractProfileAction
    {
@@ -629,5 +629,5 @@
          activeProfiles.remove(profile.getKey());
       }
    }
-   
+
 }

Modified: trunk/system-jmx/pom.xml
===================================================================
--- trunk/system-jmx/pom.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system-jmx/pom.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -106,11 +106,11 @@
       <artifactId>jboss-jmx</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
+      <groupId>org.jboss.kernel</groupId>
       <artifactId>jboss-dependency</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
+      <groupId>org.jboss.kernel</groupId>
       <artifactId>jboss-kernel</artifactId>
     </dependency>      
     <dependency>

Modified: trunk/system-jmx/src/main/java/org/jboss/deployment/MainDeployer.java
===================================================================
--- trunk/system-jmx/src/main/java/org/jboss/deployment/MainDeployer.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system-jmx/src/main/java/org/jboss/deployment/MainDeployer.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -43,7 +43,7 @@
 import org.jboss.deployers.client.spi.Deployment;
 import org.jboss.deployers.structure.spi.DeploymentContext;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
+import org.jboss.deployers.structure.spi.main.MainDeployerInternals;
 import org.jboss.deployers.vfs.spi.client.VFSDeployment;
 import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
 import org.jboss.kernel.spi.dependency.KernelController;
@@ -60,7 +60,7 @@
  * Main
  *
  * @deprecated see org.jboss.deployers.spi.deployment.MainDeployer
- * 
+ *
  * @author <a href="mailto:marc.fleury at jboss.org">Marc Fleury</a>
  * @author <a href="mailto:scott.stark at jboss.org">Scott Stark</a>
  * @author <a href="mailto:d_jencks at users.sourceforge.net">David Jencks</a>
@@ -79,14 +79,14 @@
 
    /** The deployment factory */
    private VFSDeploymentFactory deploymentFactory = VFSDeploymentFactory.getInstance();
-   
+
    /**
     * The variable <code>serviceController</code> is used by the
     * checkIncompleteDeployments method to ask for lists of mbeans
     * with deployment problems.
     */
    private ObjectName serviceController;
-   
+
    /** Should local copies be made of resources on the local file system */
    private boolean copyFiles = true;
 
@@ -181,7 +181,7 @@
    {
       return tempDirString;
    }
-  
+
    /**
     * Describe <code>setServiceController</code> method here.
     *
@@ -290,7 +290,7 @@
    {
       undeploy(new URL(urlspec));
    }
-   
+
    /**
     * The <code>undeploy</code> method undeploys a package identified by a URL
     *
@@ -384,7 +384,7 @@
    protected void copy(URL src, File dest) throws IOException
    {
       log.debug("Copying " + src + " -> " + dest);
-      
+
       // Validate that the dest parent directory structure exists
       File dir = dest.getParentFile();
       if (!dir.exists())
@@ -470,7 +470,7 @@
     * Is deployed.
     *
     * @param name the name of the deployment
-    * @return true if deployed, false otherwise 
+    * @return true if deployed, false otherwise
     */
    protected boolean checkDeployed(String name)
    {
@@ -513,7 +513,7 @@
       if (name == null)
          return null;
 
-      MainDeployerStructure structure = (MainDeployerStructure) delegate;
+      MainDeployerInternals structure = (MainDeployerInternals) delegate;
       DeploymentContext dc = structure.getDeploymentContext(name);
       log.debug("getDeploymentContext, url="+url+", dc="+dc);
       return dc;
@@ -533,8 +533,8 @@
       if (name == null)
          return null;
 
-      MainDeployerStructure structure = (MainDeployerStructure) delegate;
-      DeploymentUnit du = structure.getDeploymentUnit(name);
+      DeploymentContext context = getDeploymentContext(url);
+      DeploymentUnit du = context.getDeploymentUnit();
       log.debug("getDeploymentUnit, url="+url+", du="+du);
       return du;
    }

Modified: trunk/system-jmx/src/main/java/org/jboss/system/metadata/ServiceMetaDataParser.java
===================================================================
--- trunk/system-jmx/src/main/java/org/jboss/system/metadata/ServiceMetaDataParser.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system-jmx/src/main/java/org/jboss/system/metadata/ServiceMetaDataParser.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -55,29 +55,29 @@
 {
    /** The log */
    private static final Logger log = Logger.getLogger(ServiceMetaDataParser.class);
-   
+
    /** The element config */
    private Element config;
 
    /** The mode */
    private ControllerMode serverMode;
-   
+
    /**
     * Create a new service meta data parser
-    * 
+    *
     * @param config the xml config
     */
    public ServiceMetaDataParser(Element config)
    {
       if (config == null)
          throw new IllegalArgumentException("Null config");
-      
+
       this.config = config;
    }
 
    /**
     * Rethrow an error as an exception
-    * 
+    *
     * @param context the context
     * @param t the original throwable
     * @return never
@@ -93,15 +93,15 @@
    }
 
    /**
-    * Parse the xml 
-    * 
+    * Parse the xml
+    *
     * @return the list of service meta data
     * @throws Exception for any error
     */
    public List<ServiceMetaData> parse() throws Exception
    {
       List<ServiceMetaData> services = new ArrayList<ServiceMetaData>();
-      
+
       try
       {
          String tagName = config.getTagName();
@@ -132,13 +132,13 @@
       {
          throw rethrow("Unable to parse service configuration", t);
       }
-      
+
       return services;
    }
 
    /**
     * Parse the server element
-    * 
+    *
     * @param serverElement the server element
     * @throws Exception for any error
     */
@@ -155,7 +155,7 @@
 
    /**
     * Internal parse
-    * 
+    *
     * @param services the list of service meta data
     * @param mbeanElement the mbean configuration
     * @param replace whether to replace system properties
@@ -168,10 +168,10 @@
 
       ObjectName mbeanName = parseObjectName(mbeanElement, replace);
       service.setObjectName(mbeanName);
-      
+
       String code = parseCode(mbeanName, mbeanElement);
       service.setCode(code);
-      
+
       ControllerMode mode = parseMode(mbeanName, mbeanElement);
       if (mode == null)
          mode = serverMode;
@@ -179,16 +179,16 @@
 
       ServiceConstructorMetaData constructor = parseConstructor(mbeanName, mbeanElement, replace);
       service.setConstructor(constructor);
-      
+
       String interfaceName = parseInterface(mbeanName, mbeanElement);
       service.setInterfaceName(interfaceName);
-      
+
       String xmbeandd = parseXMBeanDD(mbeanName, mbeanElement);
       service.setXMBeanDD(xmbeandd);
 
       String xmbeanCode = parseXMBeanCode(mbeanName, mbeanElement);
       service.setXMBeanCode(xmbeanCode);
-      
+
       if (xmbeandd != null && xmbeandd.length() == 0)
       {
          Element xmbeanDescriptor = parseXMBeanDescriptor(mbeanName, mbeanElement);
@@ -264,7 +264,7 @@
                   if (value == null)
                      value = new ServiceTextValueMetaData(getElementTextContent(element, trim, replaceAttribute));
                }
-               
+
                ServiceAttributeMetaData attribute = new ServiceAttributeMetaData();
                attribute.setName(attributeName);
                attribute.setReplace(replaceAttribute);
@@ -360,19 +360,19 @@
             annotations.add(amd);
          }
       }
-      
+
       service.setAttributes(attributes);
       service.setDependencies(dependencies);
       service.setAnnotations(annotations);
-      
+
       services.add(service);
-      
+
       return mbeanName;
    }
 
    /**
     * Parse an object name from the given element attribute 'name'.
-    * 
+    *
     * @param mbeanElement the element to parse name from.
     * @return the ObjectName
     * @throws Exception for any error
@@ -392,7 +392,7 @@
 
    /**
     * Parse a class name from the given element attribute 'code'.
-    * 
+    *
     * @param name the mbean name
     * @param mbeanElement the element to parse name from.
     * @return the class name
@@ -405,7 +405,7 @@
 
    /**
     * Parse the mode
-    * 
+    *
     * @param name the mbean name
     * @param mbeanElement the element to parse name from.
     * @return the mode
@@ -424,7 +424,7 @@
 
    /**
     * Parse the constructor element of the given element
-    * 
+    *
     * @param name the mbean name
     * @param mbeanElement the element to parse name from.
     * @param replace whether to replace system properties
@@ -438,7 +438,7 @@
       NodeList list = mbeanElement.getElementsByTagName("constructor");
       if (list.getLength() > 1 && list.item(0).getParentNode() == mbeanElement)
          throw new RuntimeException("only one <constructor> element may be defined for " + name);
-      
+
       if (list.getLength() == 1)
       {
          Element element = (Element) list.item(0);
@@ -464,7 +464,7 @@
             signature[j] = typeName;
             params[j] = value;
          }
-         
+
          result.setParams(params);
          result.setSignature(signature);
       }
@@ -474,7 +474,7 @@
 
    /**
     * Parse the interface name from the given element attribute 'interface'.
-    * 
+    *
     * @param name the mbean name
     * @param mbeanElement the element to parse name from.
     * @return the class name
@@ -491,7 +491,7 @@
 
    /**
     * Parse the xmbean dds from the given element attribute 'xmbean-dd'.
-    * 
+    *
     * @param name the mbean name
     * @param mbeanElement the element to parse name from.
     * @return the xmbean dds location
@@ -508,7 +508,7 @@
 
    /**
     * Parse the xmbean code from the given element attribute 'xmbean-code'.
-    * 
+    *
     * @param name the mbean name
     * @param mbeanElement the element to parse name from.
     * @return the xmbean code
@@ -525,7 +525,7 @@
 
    /**
     * Parse the xmbean descriptor.
-    * 
+    *
     * @param name the mbean name
     * @param mbeanElement the element to parse name from.
     * @return the xmbean descriptor
@@ -550,7 +550,7 @@
       ControllerState requiredState = ControllerState.INSTALLED;
       attr = el.getAttributeNode("state");
       if (attr != null)
-         requiredState = new ControllerState(attr.getValue());
+         requiredState = ControllerState.getInstance(attr.getValue());
       value = new ServiceInjectionValueMetaData(dependency, property, requiredState);
       return value;
    }
@@ -559,14 +559,14 @@
    {
       ServiceValueMetaData value;
       String dependency = el.getAttribute("bean");
-      
+
       String method = el.getAttribute("method");
-      
+
       ControllerState requiredState = ControllerState.INSTALLED;
       Attr attr = el.getAttributeNode("state");
       if (attr != null)
-         requiredState = new ControllerState(attr.getValue());
-      
+         requiredState = ControllerState.getInstance(attr.getValue());
+
       List<ServiceValueFactoryParameterMetaData> parameters = new ArrayList<ServiceValueFactoryParameterMetaData>();
       attr = el.getAttributeNode("parameter");
       if (attr != null)
@@ -589,7 +589,7 @@
             }
          }
       }
-      
+
       ServiceTextValueMetaData defaultValue = null;
       attr = el.getAttributeNode("default");
       if (attr != null)
@@ -606,20 +606,20 @@
       Attr attr = el.getAttributeNode("class");
       if (attr != null)
          parameterType = attr.getValue();
-      
+
       String textValue = null;
       String valueType = null;
-      
+
       Node child = el.getFirstChild();
       if (child.getNodeType() == Node.ELEMENT_NODE)
       {
          Element valueEl = (Element) child;
          if ("value".equals(valueEl.getTagName()))
-         {            
+         {
             valueType = ((Element)child).getAttribute("class");
             if (valueType.length() == 0)
                valueType = null;
-            
+
             textValue = getElementTextContent(valueEl);
             // Deal with any trim/replace from the outer element
             textValue = trimAndReplace(textValue, getTrim(el), getReplace(el));
@@ -632,14 +632,14 @@
       else
       {
          textValue = getElementTextContent(el);
-      }         
-      
+      }
+
       return new ServiceValueFactoryParameterMetaData(textValue, parameterType, valueType);
    }
 
    /**
     * Process a dependency
-    * 
+    *
     * @param mbeanName the surronding mbean
     * @param attributeName the attribute name
     * @param element the element
@@ -651,7 +651,7 @@
    private String processDependency(ObjectName mbeanName, String attributeName, Element element, List<ServiceMetaData> services, boolean replace) throws Exception
    {
       String dependsObjectName = null;
-      
+
       NodeList nl = element.getChildNodes();
       for (int i = 0; i < nl.getLength(); i++)
       {
@@ -685,29 +685,29 @@
     * Get an element's text content, looking for "trim" and "replace" attributes
     * on the element to determine whether to trim the text and/or perform
     * system property substitution.
-    * 
+    *
     * @param element the element
     * @return the concatentation of the text nodes
     * @throws Exception for any error
     */
    public static String getElementTextContent(Element element) throws Exception
    {
-      boolean replace = getReplace(element);      
+      boolean replace = getReplace(element);
       boolean trim = getTrim(element);
-      
+
       String rawText = getRawElementTextContent(element);
       return trimAndReplace(rawText, trim, replace);
    }
-   
+
    public static boolean getTrim(Element element)
-   {      
+   {
       boolean trim = true;
       String trimAttr = element.getAttribute("trim");
       if (trimAttr.length()  > 0)
          trim = Boolean.valueOf(trimAttr).booleanValue();
       return trim;
    }
-   
+
    public static boolean getReplace(Element element)
    {
       boolean replace = true;
@@ -719,7 +719,7 @@
 
    /**
     * Get an elements text content
-    * 
+    *
     * @param element the element
     * @param trim whether to trim
     * @param replace whetehr to replace properties
@@ -729,10 +729,10 @@
    public static String getElementTextContent(Element element, boolean trim, boolean replace) throws Exception
    {
       String rawText = getRawElementTextContent(element);
-      
+
       return trimAndReplace(rawText, trim, replace);
    }
-   
+
    public static String getRawElementTextContent(Element element)
    {
       NodeList nl = element.getChildNodes();
@@ -747,7 +747,7 @@
       }
       return rawText;
    }
-   
+
    public static String trimAndReplace(String rawText, boolean trim, boolean replace)
    {
       if (trim)
@@ -772,7 +772,7 @@
          }
       }
       return rawText;
-      
-   }   
-   
+
+   }
+
 }

Modified: trunk/system-jmx/src/main/java/org/jboss/system/microcontainer/jmx/JMXPropertyAnnotationPlugin.java
===================================================================
--- trunk/system-jmx/src/main/java/org/jboss/system/microcontainer/jmx/JMXPropertyAnnotationPlugin.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system-jmx/src/main/java/org/jboss/system/microcontainer/jmx/JMXPropertyAnnotationPlugin.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -23,6 +23,7 @@
 
 import java.lang.annotation.ElementType;
 
+import org.jboss.aop.microcontainer.aspects.jmx.JMX;
 import org.jboss.beans.info.spi.PropertyInfo;
 import org.jboss.kernel.plugins.annotations.PropertyAware;
 
@@ -31,7 +32,7 @@
  *
  * @author <a href="ales.justin at jboss.com">Ales Justin</a>
  */
-public class JMXPropertyAnnotationPlugin extends JMXAnnotationPlugin<PropertyInfo> implements PropertyAware
+public class JMXPropertyAnnotationPlugin extends JMXAnnotationPlugin<PropertyInfo> implements PropertyAware<JMX>
 {
    protected boolean isElementTypeSupported(ElementType elementType)
    {

Modified: trunk/system-jmx/src/test/java/org/jboss/test/system/metadata/value/valuefactory/test/MockTypeInfo.java
===================================================================
--- trunk/system-jmx/src/test/java/org/jboss/test/system/metadata/value/valuefactory/test/MockTypeInfo.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/system-jmx/src/test/java/org/jboss/test/system/metadata/value/valuefactory/test/MockTypeInfo.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -27,7 +27,7 @@
 
 /**
  * A MockTypeInfo.
- * 
+ *
  * @author Brian Stansberry
  * @version $Revision$
  */
@@ -35,14 +35,19 @@
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = 1L;
-   
+
    private final Class<?> clazz;
-   
+
    public MockTypeInfo(Class<?> clazz)
    {
       this.clazz = clazz;
    }
 
+   public ClassLoader getClassLoader()
+   {
+	   return null;
+   }
+
    public Object convertValue(Object obj) throws Throwable
    {
       // TODO Auto-generated method stub

Modified: trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/WarEjbResolver.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/WarEjbResolver.java	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/WarEjbResolver.java	2010-01-12 16:57:28 UTC (rev 99302)
@@ -24,7 +24,7 @@
 import javax.ejb.EJBLocalObject;
 import javax.naming.NameNotFoundException;
 
-import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
+import org.jboss.deployers.structure.spi.main.MainDeployerInternals;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.ejb.EjbUtil50;
 import org.jboss.ejb3.DeploymentScope;
@@ -41,17 +41,17 @@
 public class WarEjbResolver extends DeploymentEjbResolver
 {
    private VFSDeploymentUnit unit;
-   private MainDeployerStructure mainDeployer;
+   private MainDeployerInternals mainDeployer;
 
    public WarEjbResolver(DeploymentScope deploymentScope, VFSDeploymentUnit unit,
-         MainDeployerStructure mainDeployer)
+         MainDeployerInternals mainDeployer)
    {
       super(deploymentScope, unit.getSimpleName());
       this.unit = unit;
       this.mainDeployer = mainDeployer;
    }
 
-   
+
    @Override
    public String getEjbJndiName(String ejbLink, Class businessIntf)
    {

Modified: trunk/varia/pom.xml
===================================================================
--- trunk/varia/pom.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/varia/pom.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -163,9 +163,9 @@
                 <mkdir dir="target/kernel/jboss-bean.deployer"/>
                 <copy todir="target/kernel/jboss-bean.deployer" filtering="no">
                   <fileset file="target/jboss-bean-deployer.jar"/>
-                  <fileset file="${maven.dependency.org.jboss.microcontainer.jboss-aop-mc-int.jar.path}"/>
-                  <fileset file="${maven.dependency.org.jboss.microcontainer.jboss-dependency.jar.path}"/>
-                  <fileset file="${maven.dependency.org.jboss.microcontainer.jboss-kernel.jar.path}"/>
+                  <fileset file="${maven.dependency.org.jboss.kernel.jboss-aop-mc-int.jar.path}"/>
+                  <fileset file="${maven.dependency.org.jboss.kernel.jboss-dependency.jar.path}"/>
+                  <fileset file="${maven.dependency.org.jboss.kernel.jboss-kernel.jar.path}"/>
                   <fileset dir="target/resources/kernel">
                      <include name="**/*.xml"/>
                   </fileset>
@@ -208,7 +208,7 @@
     </dependency>
     
     <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
+      <groupId>org.jboss.kernel</groupId>
       <artifactId>jboss-dependency</artifactId>
     </dependency>
     
@@ -274,7 +274,7 @@
     </dependency>
     
     <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
+      <groupId>org.jboss.kernel</groupId>
       <artifactId>jboss-kernel</artifactId>
     </dependency>
     

Modified: trunk/webservices/pom.xml
===================================================================
--- trunk/webservices/pom.xml	2010-01-12 16:43:54 UTC (rev 99301)
+++ trunk/webservices/pom.xml	2010-01-12 16:57:28 UTC (rev 99302)
@@ -177,11 +177,11 @@
       </exclusions>
     </dependency>
     <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
+      <groupId>org.jboss.kernel</groupId>
       <artifactId>jboss-dependency</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
+      <groupId>org.jboss.kernel</groupId>
       <artifactId>jboss-kernel</artifactId>
     </dependency>
     <dependency>




More information about the jboss-cvs-commits mailing list