[jboss-cvs] JBossAS SVN: r70929 - in trunk: aspects/src/main/org/jboss/aop/asintegration/jboss5 and 35 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Mar 17 17:01:23 EDT 2008


Author: adrian at jboss.org
Date: 2008-03-17 17:01:22 -0400 (Mon, 17 Mar 2008)
New Revision: 70929

Modified:
   trunk/aspects/build.xml
   trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/JBoss5ClassPoolFactory.java
   trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/VFSClassLoaderDomainRegistry.java
   trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/VFSClassLoaderScopingPolicy.java
   trunk/aspects/src/main/org/jboss/aspects/security/SecurityDomain.java
   trunk/bootstrap/.classpath
   trunk/bootstrap/build.xml
   trunk/build/build-distr.xml
   trunk/build/build-thirdparty.xml
   trunk/cluster/src/main/org/jboss/ha/jmx/HAServiceMBeanSupport.java
   trunk/connector/build.xml
   trunk/deployment/build.xml
   trunk/ejb3/build.xml
   trunk/embedded/.classpath
   trunk/embedded/src/main/java/org/jboss/embedded/ClassLoaderDeployer.java
   trunk/j2se/.classpath
   trunk/main/src/main/org/jboss/system/server/ServerLoader.java
   trunk/messaging/build.xml
   trunk/profileservice/build.xml
   trunk/profileservice/src/main/org/jboss/managed/plugins/factory/AbstractInstanceClassFactory.java
   trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
   trunk/server/build.xml
   trunk/server/src/etc/conf/default/bootstrap-beans.xml
   trunk/server/src/etc/conf/default/bootstrap-repo-beans.xml
   trunk/spring-int/build.xml
   trunk/spring-int/src/main/org/jboss/spring/deployers/SpringParserDeployer.java
   trunk/system-jmx/.classpath
   trunk/system-jmx/build.xml
   trunk/system-jmx/src/main/org/jboss/system/deployers/HackClassloaderMetaDataDeployer.java
   trunk/system-jmx/src/main/org/jboss/system/deployers/ServiceClassLoaderDeployer.java
   trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceMetaDataParser.java
   trunk/system-jmx/src/main/org/jboss/system/server/jmx/JMXKernel.java
   trunk/system-jmx/src/tests/org/jboss/test/system/deployers/support/CLDeployer.java
   trunk/system/.classpath
   trunk/system/build.xml
   trunk/system/src/main/org/jboss/aop/deployers/temp/Hack.java
   trunk/system/src/main/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java
   trunk/testsuite/build.xml
   trunk/testsuite/src/main/org/jboss/test/deployers/seam/test/SeamVFSClassloadingTestCase.java
   trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/WarClassLoaderDeployer.java
   trunk/tomcat/src/resources/war-deployers-all-beans.xml
   trunk/tomcat/src/resources/war-deployers-beans.xml
   trunk/varia/build.xml
   trunk/varia/src/main/org/jboss/varia/deployment/LegacyBeanShellDeployer.java
   trunk/varia/src/main/org/jboss/varia/deployment/LegacyBeanShellScriptDeployer.java
   trunk/webservices/build.xml
   trunk/webservices/src/main/org/jboss/wsf/container/jboss50/DynamicEndpointDeploymentAspect.java
Log:
[JBAS-5319] [JBAS-5314] - Integrate classloading spi along with near latest MC codebase and JBossXB-2.0.0.CR7

Modified: trunk/aspects/build.xml
===================================================================
--- trunk/aspects/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/aspects/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -77,7 +77,6 @@
          <path refid="apache.xerces.classpath"/>
       	<path refid="jboss.metadata.classpath"/>
          <path refid="jboss.microcontainer.classpath"/>
-         <path refid="jboss.jboss.managed.classpath"/>
          <path refid="jboss.jboss.vfs.classpath"/>
          <path refid="jboss.aop.classpath"/>
          <path refid="jboss.jboss.ha.client.classpath"/>

Modified: trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/JBoss5ClassPoolFactory.java
===================================================================
--- trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/JBoss5ClassPoolFactory.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/JBoss5ClassPoolFactory.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -25,18 +25,18 @@
 import java.net.URL;
 import java.util.Map;
 
+import javassist.ClassPool;
+import javassist.scopedpool.ScopedClassPool;
+import javassist.scopedpool.ScopedClassPoolFactory;
+import javassist.scopedpool.ScopedClassPoolRepository;
+
 import org.jboss.aop.classpool.AOPClassPool;
 import org.jboss.aop.classpool.AbstractJBossClassPoolFactory;
 import org.jboss.aop.classpool.ExtraClassPoolFactoryParameters;
 import org.jboss.classloader.spi.ClassLoaderDomain;
 import org.jboss.classloader.spi.ClassLoaderSystem;
-import org.jboss.classloader.spi.base.BaseClassLoader;
 import org.jboss.classloading.spi.RealClassLoader;
-import org.jboss.deployers.plugins.classloading.Module;
-import javassist.ClassPool;
-import javassist.scopedpool.ScopedClassPool;
-import javassist.scopedpool.ScopedClassPoolFactory;
-import javassist.scopedpool.ScopedClassPoolRepository;
+import org.jboss.classloading.spi.dependency.Module;
 
 /**
  * Comment
@@ -56,12 +56,12 @@
       if (!isWebCl && cl instanceof RealClassLoader)
       {
          Module module = props == null ? null : (Module)props.get(Module.class);
-         if (module != null && module.getParentDomain() != null)
+         if (module != null && module.getDeterminedParentDomainName() != null)
          {
             //It is scoped
             ClassLoaderSystem sys = ClassLoaderSystem.getInstance();
-            ClassLoaderDomain domain = sys.getDomain(module.getDomainName());
-            boolean parentFirst = module.getMetadata().isJ2seClassLoadingCompliance();
+            ClassLoaderDomain domain = sys.getDomain(module.getDeterminedDomainName());
+            boolean parentFirst = module.isJ2seClassLoadingCompliance();
             
             return new ScopedJBoss5ClassPool(cl, parent, repository, getTempURL(module), parentFirst, domain);
          }
@@ -75,6 +75,8 @@
       try
       {
          URL tempUrl = module.getDynamicClassRoot();
+         if (tempUrl == null)
+            return null;
          return new URL(tempUrl,  "/classes");
       }
       catch (MalformedURLException e)

Modified: trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/VFSClassLoaderDomainRegistry.java
===================================================================
--- trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/VFSClassLoaderDomainRegistry.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/VFSClassLoaderDomainRegistry.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -28,7 +28,7 @@
 import org.jboss.aop.Domain;
 import org.jboss.classloader.spi.ClassLoaderDomain;
 import org.jboss.classloader.spi.ClassLoaderSystem;
-import org.jboss.deployers.plugins.classloading.Module;
+import org.jboss.classloading.spi.dependency.Module;
 
 /**
  * 
@@ -49,7 +49,7 @@
    {
       ClassLoaderSystem system = ClassLoaderSystem.getInstance();
       
-      String domainName = module.getDomainName();
+      String domainName = module.getDeterminedDomainName();
       ClassLoaderDomain clDomain = system.getDomain(domainName);
       classLoaderDomainsByLoader.put(loader, new WeakReference<ClassLoaderDomain>(clDomain));
       

Modified: trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/VFSClassLoaderScopingPolicy.java
===================================================================
--- trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/VFSClassLoaderScopingPolicy.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/aspects/src/main/org/jboss/aop/asintegration/jboss5/VFSClassLoaderScopingPolicy.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -31,8 +31,8 @@
 import org.jboss.aop.domain.DomainInitializer;
 import org.jboss.classloader.spi.ClassLoaderDomain;
 import org.jboss.classloader.spi.ClassLoaderSystem;
-import org.jboss.deployers.plugins.classloading.Module;
-import org.jboss.deployers.structure.spi.classloading.ClassLoaderMetaData;
+import org.jboss.classloading.spi.dependency.Module;
+import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.logging.Logger;
 
@@ -76,14 +76,13 @@
          ScopedVFSClassLoaderDomain scopedDomain = (ScopedVFSClassLoaderDomain)registry.getRegisteredDomain(loader);
          if (scopedDomain == null)
          {
-            if (module.getParentDomain() != null/* && module.getParentDomain().equals(ClassLoaderSystem.DEFAULT_DOMAIN_NAME)*/)
+            if (module.getParentDomainName() != null/* && module.getParentDomain().equals(ClassLoaderSystem.DEFAULT_DOMAIN_NAME)*/)
             {
                ClassLoaderSystem system = ClassLoaderSystem.getInstance();
-               String domainName = module.getDomainName();
+               String domainName = module.getDeterminedDomainName();
                ClassLoaderDomain domain = system.getDomain(domainName);
       
-               ClassLoaderMetaData cmd = module.getMetadata();
-               boolean parentDelegation = cmd.isJ2seClassLoadingCompliance();
+               boolean parentDelegation = module.isJ2seClassLoadingCompliance();
                String name = String.valueOf(System.identityHashCode(loader));
                
                scopedDomain = new ScopedVFSClassLoaderDomain(loader, name, parentDelegation, AspectManager.getTopLevelAspectManager(), false, domain, registry);
@@ -133,4 +132,4 @@
       return null;
    }
 }
-   
\ No newline at end of file
+   

Modified: trunk/aspects/src/main/org/jboss/aspects/security/SecurityDomain.java
===================================================================
--- trunk/aspects/src/main/org/jboss/aspects/security/SecurityDomain.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/aspects/src/main/org/jboss/aspects/security/SecurityDomain.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -26,7 +26,7 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.jboss.classadapter.spi.Dependency;
+import org.jboss.beans.metadata.api.annotations.Dependency;
 
 /**
  * JDK 1.4 annotation for JBoss security domain

Modified: trunk/bootstrap/.classpath
===================================================================
--- trunk/bootstrap/.classpath	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/bootstrap/.classpath	2008-03-17 21:01:22 UTC (rev 70929)
@@ -4,7 +4,8 @@
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry exported="true" kind="src" path="/main"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/jbossxb/lib/jboss-xml-binding.jar" sourcepath="/thirdparty/jboss/jbossxb/lib/jboss-xml-binding-sources.jar"/>
-	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-container.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-container-sources.jar"/>
+	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-reflect.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-reflect.sources.jar"/>
+	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-mdr.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-mdr.sources.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-dependency.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-dependency-sources.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-kernel.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-kernel-sources.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/common-core/lib/jboss-common-core.jar"/>

Modified: trunk/bootstrap/build.xml
===================================================================
--- trunk/bootstrap/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/bootstrap/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -70,7 +70,6 @@
       <path refid="apache.xerces.classpath"/>
       <path refid="jboss.jbossxb.classpath"/>
       <path refid="jboss.microcontainer.classpath"/>
-      <path refid="jboss.jboss.managed.classpath"/>
       <path refid="jboss.common.core.classpath"/>
       <path refid="jboss.common.logging.spi.classpath"/>
       <path refid="sun.jaxb.classpath"/>

Modified: trunk/build/build-distr.xml
===================================================================
--- trunk/build/build-distr.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/build/build-distr.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -1749,7 +1749,10 @@
       <fileset dir="${jboss.microcontainer.lib}">
         <include name="jboss-aop-mc-int.jar"/>
         <include name="jboss-classloader.jar"/>
-        <include name="jboss-container.jar"/>
+        <include name="jboss-classloading.jar"/>
+        <include name="jboss-classloading-vfs.jar"/>
+        <include name="jboss-reflect.jar"/>
+        <include name="jboss-mdr.jar"/>
         <include name="jboss-dependency.jar"/>
         <include name="jboss-deployers-client.jar"/>
         <include name="jboss-deployers-client-spi.jar"/>
@@ -1761,11 +1764,9 @@
         <include name="jboss-deployers-vfs.jar"/>
         <include name="jboss-deployers-vfs-spi.jar"/>
         <include name="jboss-metatype.jar"/>
+        <include name="jboss-managed.jar"/>
         <include name="jboss-kernel.jar"/>
       </fileset>
-      <fileset dir="${jboss.jboss.managed.lib}">
-        <include name="jboss-managed.jar"/>
-      </fileset>
       <fileset dir="${jboss.jboss.vfs.lib}">
         <include name="jboss-vfs.jar"/>
       </fileset>

Modified: trunk/build/build-thirdparty.xml
===================================================================
--- trunk/build/build-thirdparty.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/build/build-thirdparty.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -101,20 +101,19 @@
     <componentref name="jboss/jboss-ha-server-api" version="1.0.0.GA"/>
     <componentref name="jboss/jboss-jaspi-api" version="1.0-BETA1"/>
     <componentref name="jboss/jboss-javaee" version="5.0.0-SNAPSHOT"/>
-    <componentref name="jboss/jboss-managed" version="2.0.0.snapshot"/>
     <componentref name="jboss/jboss-security-spi" version="2.0.2.Beta5"/>
     <componentref name="jboss/jbosssx" version="2.0.2-SNAPSHOT"/>
     <componentref name="jboss/jbosssx-client" version="2.0.2.Beta5"/>
     <componentref name="jboss/jbossts" version="4.3.0.BETA2"/>
     <componentref name="jboss/jboss-vfs" version="2.0.0.snapshot"/>
     <componentref name="jboss/jbossws" version="snapshot"/>
-    <componentref name="jboss/jbossxb" version="2.0.0.CR6"/>
+    <componentref name="jboss/jbossxb" version="2.0.0.CR7"/>
     <componentref name="jboss/jms-integration-tests" version="1.0.1.GA"/>
     <componentref name="jboss/jnp-client" version="5.0.0.Beta4"/>
     <componentref name="jboss/jnpserver" version="5.0.0.Beta4"/>
     <componentref name="jboss/messaging" version="1.4.1.Beta1"/>
     <componentref name="jboss/metadata" version="1.0.0.Beta6"/>
-    <componentref name="jboss/microcontainer" version="2.0.0.Beta10.1"/>
+    <componentref name="jboss/microcontainer" version="snapshot-temp"/>
     <componentref name="jboss/profiler/jvmti" version="1.0.0.CR5"/>
     <componentref name="jboss/remoting" version="2.4.0.Beta2"/>
     <componentref name="jboss/serialization" version="1.0.3.GA"/>

Modified: trunk/cluster/src/main/org/jboss/ha/jmx/HAServiceMBeanSupport.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/jmx/HAServiceMBeanSupport.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/cluster/src/main/org/jboss/ha/jmx/HAServiceMBeanSupport.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -28,8 +28,8 @@
 import javax.management.Notification;
 import javax.management.ObjectName;
 
-import org.jboss.beans.metadata.api.annotations.FromContext;
 import org.jboss.beans.metadata.api.annotations.Inject;
+import org.jboss.beans.metadata.api.model.FromContext;
 import org.jboss.ha.framework.interfaces.DistributedReplicantManager;
 import org.jboss.ha.framework.interfaces.DistributedState;
 import org.jboss.ha.framework.interfaces.HAPartition;

Modified: trunk/connector/build.xml
===================================================================
--- trunk/connector/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/connector/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -81,7 +81,6 @@
        <path refid="quartz.quartz.classpath"/>
        <path refid="jboss.metadata.classpath"/>       
        <path refid="jboss.microcontainer.classpath"/>
-       <path refid="jboss.jboss.managed.classpath"/>
        <path refid="jboss.jboss.vfs.classpath"/>
        <path refid="sun.jaxb.classpath"/>
        <path refid="sun.jaf.classpath"/>

Modified: trunk/deployment/build.xml
===================================================================
--- trunk/deployment/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/deployment/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -70,7 +70,6 @@
     <path id="library.classpath">
       <path refid="dom4j.dom4j.classpath"/>
       <path refid="jboss.microcontainer.classpath"/>
-      <path refid="jboss.jboss.managed.classpath"/>
       <path refid="jboss.jboss.vfs.classpath"/>
     </path>
 

Modified: trunk/ejb3/build.xml
===================================================================
--- trunk/ejb3/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/ejb3/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -103,7 +103,6 @@
          <path refid="jboss.serialization.classpath"/>
          <path refid="jboss.metadata.classpath"/>         
          <path refid="jboss.microcontainer.classpath"/>
-         <path refid="jboss.jboss.managed.classpath"/>
          <path refid="jboss.jboss.vfs.classpath"/>
          <path refid="quartz.quartz.classpath"/>
          <path refid="jboss.jbossws.classpath"/>

Modified: trunk/embedded/.classpath
===================================================================
--- trunk/embedded/.classpath	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/embedded/.classpath	2008-03-17 21:01:22 UTC (rev 70929)
@@ -15,7 +15,8 @@
 	<classpathentry kind="lib" path="/thirdparty/jboss/common-core/lib/jboss-common-core.jar" sourcepath="/thirdparty/jboss/common-core/lib/jboss-common-core-sources.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/common-logging-spi/lib/jboss-logging-spi.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/common-logging-log4j/lib/jboss-logging-log4j.jar"/>
-	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-container.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-container-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-reflect.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-reflect-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-mdr.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-mdr-sources.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-dependency.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-dependency-sources.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-kernel.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-kernel-sources.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-deployers-core-spi.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-deployers-core-spi-sources.jar"/>

Modified: trunk/embedded/src/main/java/org/jboss/embedded/ClassLoaderDeployer.java
===================================================================
--- trunk/embedded/src/main/java/org/jboss/embedded/ClassLoaderDeployer.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/embedded/src/main/java/org/jboss/embedded/ClassLoaderDeployer.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -22,7 +22,7 @@
 package org.jboss.embedded;
 
 import org.jboss.deployers.spi.deployer.helpers.AbstractTopLevelClassLoaderDeployer;
-import org.jboss.deployers.structure.spi.DeploymentContext;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
 
 /**
  * comment
@@ -33,9 +33,8 @@
  */
 public class ClassLoaderDeployer extends AbstractTopLevelClassLoaderDeployer
 {
-   public ClassLoader createTopLevelClassLoader(DeploymentContext context) throws Exception
+   public ClassLoader createTopLevelClassLoader(DeploymentUnit unit) throws Exception
    {
-      context.setClassLoader(Thread.currentThread().getContextClassLoader());
-      return context.getClassLoader();
+      return Thread.currentThread().getContextClassLoader();
    }
 }

Modified: trunk/j2se/.classpath
===================================================================
--- trunk/j2se/.classpath	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/j2se/.classpath	2008-03-17 21:01:22 UTC (rev 70929)
@@ -8,7 +8,7 @@
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/common-logging-log4j/lib/jboss-logging-log4j.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/oswego-concurrent/lib/concurrent.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/dom4j/lib/dom4j.jar"/>
-	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-container.jar" sourcepath="/thirdparty/jboss/microcontainer/container-src"/>
+	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-reflect.jar" sourcepath="/thirdparty/jboss/microcontainer/jboss-reflect-sources.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/integration/lib/jboss-integration.jar" sourcepath="/thirdparty/jboss/integration/lib/jboss-integration-sources.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/junit/lib/junit.jar"/>
 	<classpathentry kind="output" path="output/eclipse-classes"/>

Modified: trunk/main/src/main/org/jboss/system/server/ServerLoader.java
===================================================================
--- trunk/main/src/main/org/jboss/system/server/ServerLoader.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/main/src/main/org/jboss/system/server/ServerLoader.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -93,9 +93,22 @@
       "jboss-bootstrap.jar",
       // Microcontainer
       "javassist.jar",
-      "jboss-container.jar",
+      "jboss-reflect.jar",
+      "jboss-mdr.jar",
       "jboss-dependency.jar",
       "jboss-kernel.jar",
+      "jboss-metatype.jar",
+      "jboss-managed.jar",
+      // Fixme ClassLoading
+      "jboss-vfs.jar",
+      "jboss-classloading-spi.jar",
+      "jboss-classloader.jar",
+      "jboss-classloading.jar",
+      "jboss-classloading-vfs.jar",
+      // Fixme aop
+      "jboss-aop-jdk50.jar",
+      "jboss-aop-mc-int.jar",
+      "trove.jar",
    };
 
    /** The default server type. */

Modified: trunk/messaging/build.xml
===================================================================
--- trunk/messaging/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/messaging/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -84,8 +84,6 @@
       <path refid="jboss.j2se.classpath"/>
       <path refid="jboss.messaging.classpath"/>      
       <path refid="jboss.systemjmx.classpath"/>      
-      <path refid="jboss.systemjmx.classpath"/>      
-      <path refid="jboss.jboss.managed.classpath"/>      
       <path refid="jboss.microcontainer.classpath"/>      
       <path refid="jboss.jbosssx.classpath"/>      
       <path refid="jboss.jboss.jaspi.api.classpath"/>      

Modified: trunk/profileservice/build.xml
===================================================================
--- trunk/profileservice/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/profileservice/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -74,7 +74,6 @@
       <path refid="jboss.common.core.classpath"/>
       <path refid="jboss.common.logging.spi.classpath"/>
       <path refid="jboss.jboss.vfs.classpath"/>
-      <path refid="jboss.jboss.managed.classpath"/>
       <path refid="jboss.microcontainer.classpath"/>
       <path refid="jboss.remoting.classpath"/>
       <path refid="jboss.system.classpath"/>

Modified: trunk/profileservice/src/main/org/jboss/managed/plugins/factory/AbstractInstanceClassFactory.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/managed/plugins/factory/AbstractInstanceClassFactory.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/profileservice/src/main/org/jboss/managed/plugins/factory/AbstractInstanceClassFactory.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -198,8 +198,8 @@
          {
             Collection cvalue = getAsCollection(value);
             // todo - AJ: changed some generics by best guess
-            ArrayMetaType<GenericValueSupport> moType = new ArrayMetaType<GenericValueSupport>(1, AbstractManagedObjectFactory.MANAGED_OBJECT_META_TYPE);
-            ArrayValueSupport<GenericValueSupport> moArrayValue = new ArrayValueSupport<GenericValueSupport>(moType);
+            ArrayMetaType moType = new ArrayMetaType(1, AbstractManagedObjectFactory.MANAGED_OBJECT_META_TYPE);
+            ArrayValueSupport moArrayValue = new ArrayValueSupport(moType);
             List<GenericValueSupport> tmp = new ArrayList<GenericValueSupport>();
             for(Object element : cvalue)
             {

Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -361,7 +361,7 @@
             MetaType etype = amt.getElementType();
             if (etype == AbstractManagedObjectFactory.MANAGED_OBJECT_META_TYPE)
             {
-               ArrayValue<GenericValue> avalue = (ArrayValue<GenericValue>) prop.getValue();
+               ArrayValue avalue = (ArrayValue) prop.getValue();
                int length = avalue != null ? avalue.getLength() : 0;
                for(int n = 0; n < length; n ++)
                   processGenericValue((GenericValue) avalue.getValue(n), md);
@@ -403,7 +403,7 @@
          MetaValue metaValue = (MetaValue)value;
          if (metaValue.getMetaType().isSimple() == false)
             throw new IllegalArgumentException("Can only get ref from simple value: " + value);
-         SimpleValue<?> svalue = (SimpleValue<?>) metaValue;
+         SimpleValue svalue = (SimpleValue) metaValue;
          return svalue.getValue();
       }
       return value;

Modified: trunk/server/build.xml
===================================================================
--- trunk/server/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/server/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -88,7 +88,6 @@
       <path refid="jboss.jbossws.spi.classpath"/>
       <path refid="jboss.metadata.classpath"/>
       <path refid="jboss.microcontainer.classpath"/>
-      <path refid="jboss.jboss.managed.classpath"/>
       <path refid="jboss.jboss.vfs.classpath"/>
       <path refid="junit.junit.classpath"/>
       <path refid="oswego.concurrent.classpath"/>

Modified: trunk/server/src/etc/conf/default/bootstrap-beans.xml
===================================================================
--- trunk/server/src/etc/conf/default/bootstrap-beans.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/server/src/etc/conf/default/bootstrap-beans.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -1,362 +1,357 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-   The bootstrap of the server. This should only have the minimum
-   needed to bootstrap the mc kernel and profile service.
-   $Id:$
--->
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
-   <!-- All beans use the bootstrap classloader -->
-   <classloader><inject bean="BootstrapClassLoader"/></classloader>
-
-   <!-- TODO Should split this file up and use the new classloader -->
-   <bean name="BootstrapClassLoader" class="org.jboss.system.NoAnnotationURLClassLoader">
-      <classloader><null/></classloader>
-      <constructor factoryClass="org.jboss.system.NoAnnotationURLClassLoader" factoryMethod="createClassLoader">
-        <parameter>
-           <array elementClass="java.net.URL">
-              <!-- VFS -->
-              <value>${jboss.lib.url}/jboss-vfs.jar</value>
-              <!-- ClassLoader -->
-              <value>${jboss.lib.url}/jboss-classloading-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-classloader.jar</value>
-              <value>${jboss.lib.url}/osgi.core.jar</value>
-              <!-- Deployers -->
-              <value>${jboss.lib.url}/jboss-metatype.jar</value>
-              <value>${jboss.lib.url}/jboss-managed.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-core-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-core.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-client-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-client.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-structure-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-impl.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-vfs-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-vfs.jar</value>
-              <!-- System -->
-              <value>${jboss.lib.url}/jboss-system.jar</value>
-              <!-- JMX -->
-              <value>${jboss.lib.url}/jboss-j2se.jar</value>
-              <value>${jboss.lib.url}/jboss-mbeans.jar</value>
-              <value>${jboss.lib.url}/jboss-jmx.jar</value>
-              <value>${jboss.lib.url}/jboss-system-jmx.jar</value>
-              <value>${jboss.lib.url}/dom4j.jar</value>
-              <!-- AOP -->
-              <value>${jboss.lib.url}/jboss-aop-jdk50.jar</value>
-              <value>${jboss.lib.url}/jboss-aop-deployer-jdk50.jar</value>
-              <value>${jboss.lib.url}/jboss-aop-mc-int.jar</value>
-              <!-- Kill once we use the new classloaders -->
-              <value>${jboss.lib.url}/jboss-aop-jboss4-jdk50.jar</value>
-              <value>${jboss.lib.url}/jboss-aop-jboss5.jar</value>
-              <value>${jboss.lib.url}/trove.jar</value>
-              <!-- JAXB - shouldn't this be in endorsed? -->
-              <value>${jboss.lib.url}/activation.jar</value>
-              <value>${jboss.lib.url}/jaxb-api.jar</value>
-              <value>${jboss.lib.url}/jaxb-impl.jar</value>
-              <value>${jboss.lib.url}/stax-api.jar</value>
-              <value>${jboss.lib.url}/wstx.jar</value>
-           </array>
-        </parameter>
-      </constructor>
-   </bean>
-
-   <!-- FIXME REMOVE THIS -->
-   <bean name="AOPMCFIX" class="org.jboss.aop.deployers.temp.Hack">
-      <constructor>
-         <parameter><inject bean="jboss.kernel:service=Kernel"/></parameter>
-      </constructor>
-   </bean>
-
-   <!-- The basic profile service which relies on vfs scanners
-   to determine the profile deployments. This version does not
-   support the full ProfileService spi.
-   -->
-   <bean name="ProfileService" class="org.jboss.system.server.profileservice.basic.ProfileServiceImpl">
-      <constructor>
-         <parameter>${jboss.server.name}</parameter>
-      </constructor>
-      <property name="profileRoot">${jboss.server.home.dir}</property>
-   </bean>
-
-   <bean name="ProfileServiceBootstrap" class="org.jboss.system.server.profileservice.ProfileServiceBootstrap">
-      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
-   </bean>
-
-   <!-- The legacy JMX kernel -->
-   <bean name="JMXKernel" class="org.jboss.system.server.jmx.JMXKernel">
-      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
-      <property name="serverImpl"><inject bean="JBossServer"/></property>
-      <property name="oldClassLoader">false</property>
-   </bean>
-
-
-   <!-- Repository classloader -->
-   <!--bean name="AOPClassLoaderScopingPolicy" class="org.jboss.aop.asintegration.jboss4.RepositoryClassLoaderScopingPolicy"/-->
-   <!-- VFS ClassLoader -->
-   <bean name="AOPClassLoaderScopingPolicy" class="org.jboss.aop.asintegration.jboss5.VFSClassLoaderScopingPolicy"/>
-
-   <!-- Integration -->
-   <bean name="AOPJBossIntegration" class="org.jboss.aop.asintegration.jboss5.JBoss5Integration">
-      <property name="scopingPolicy"><inject bean="AOPClassLoaderScopingPolicy"/></property>
-   </bean>
-   <!--
-      Valid values for the AspectManager bean for use with enableTransformer=true are:
-      * org.jboss.aop.deployers.AspectManagerJDK5 - works with the -javaagent:pluggable-instrumentor.jar switch
-      * org.jboss.aop.deployers.AspectManagerJRockit - works with JRockit and the -Xmanagement:class=org.jboss.aop.hook.JRockitPluggableClassPreProcessor switch
-   -->
-   <bean name="AspectManager" class="org.jboss.aop.deployers.AspectManagerJDK5">
-      <constructor>
-         <parameter><![CDATA[
-	         <aop>
-			      <aspect name="mainDeployer" class="org.jboss.profileservice.aop.MainDeployerAspect"/>
-					   <bind pointcut="execution(* $instanceof{org.jboss.deployers.spi.deployment.MainDeployer}->process(..))">
-				      <advice name="process" aspect="mainDeployer"/>
-				   </bind>
-					<aspect name="persist" class="org.jboss.profileservice.aop.PersistAspect"/>
-					<bind pointcut="execution(* $instanceof{org.jboss.managed.api.ManagedProperty}->setValue(..))">
-				      <advice name="setValue" aspect="persist"/>
-				   </bind>
-				</aop>]]>
-	      </parameter>
-      </constructor>
-
-      <property name="jbossIntegration"><inject bean="AOPJBossIntegration"/></property>
-
-      <property name="enableLoadtimeWeaving">false</property>
-      <!-- only relevant when EnableLoadtimeWeaving is true.
-           When transformer is on, every loaded class gets
-           transformed.  If AOP can't find the class, then it
-           throws an exception.  Sometimes, classes may not have
-           all the classes they reference.  So, the Suppressing
-           is needed.  (i.e. Jboss cache in the default configuration -->
-      <property name="suppressTransformationErrors">true</property>
-      <property name="prune">true</property>
-      <property name="include">org.jboss.test., org.jboss.injbossaop.</property>
-      <property name="exclude">org.jboss.</property>
-      <!-- This avoids instrumentation of hibernate cglib enhanced proxies
-      <property name="ignore">*$$EnhancerByCGLIB$$*</property> -->
-      <property name="optimized">true</property>
-      <property name="verbose">false</property>
-      <!--
-         Available choices for this attribute are:
-            org.jboss.aop.instrument.ClassicInstrumentor (default)
-            org.jboss.aop.instrument.GeneratedAdvisorInstrumentor
-       <property name="instrumentor">org.jboss.aop.instrument.ClassicInstrumentor</property>
-      -->
-   </bean>
-
-   <!-- The MainDeployer -->
-   <bean name="MainDeployer" class="org.jboss.deployers.plugins.main.MainDeployerImpl">
-      <property name="structuralDeployers"><inject bean="StructuralDeployers"/></property>
-      <property name="deployers"><inject bean="Deployers"/></property>
-      <property name="mgtDeploymentCreator"><inject bean="ManagedDeploymentCreator"/></property>
-   </bean>
-
-   <!-- The ManagedDeploymentCreator implementation -->
-   <bean name="ManagedDeploymentCreator" class="org.jboss.deployers.plugins.managed.DefaultManagedDeploymentCreator" />
-
-   <!-- The holder for deployers that determine structure -->
-   <bean name="StructuralDeployers" class="org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl">
-      <property name="structureBuilder">
-         <!-- The consolidator of the structure information -->
-         <bean name="StructureBuilder" class="org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder"/>
-      </property>
-      <!-- Accept any implementor of structure deployer -->
-      <incallback method="addDeployer"/>
-      <uncallback method="removeDeployer"/>
-   </bean>
-
-   <!-- The holder for deployers that do real deployment -->
-   <bean name="Deployers" class="org.jboss.deployers.plugins.deployers.DeployersImpl">
-      <constructor><parameter><inject bean="jboss.kernel:service=KernelController"/></parameter></constructor>
-      <!-- Accept any implementor of deployer -->
-      <incallback method="addDeployer"/>
-      <uncallback method="removeDeployer"/>
-   </bean>
-
-   <!-- A declared structure descriptor deployer -->
-   <bean name="DeclaredStructure" class="org.jboss.deployers.vfs.plugins.structure.explicit.DeclaredStructure"></bean>
-
-   <!-- WAR Structure -->
-   <bean name="WARStructure" class="org.jboss.deployers.vfs.plugins.structure.war.WARStructure">
-       <property name="webInfLibFilter">
-          <!-- We accept all .jar files in WEB-INF/lib -->
-          <bean name="WebInfLibFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixMatchFilter">
-             <constructor><parameter class="java.lang.String">.jar</parameter></constructor>
-          </bean>
-       </property>
-    </bean>
-
-    <!-- JAR Structure -->
-    <bean name="JARStructure" class="org.jboss.deployers.vfs.plugins.structure.jar.JARStructure">
-       <!-- Unless specified the default list of suffixes is .zip, .ear, .jar, ,.rar, .war, .sar, .har, .aop -->
-       <constructor>
-          <parameter>
-             <set elementClass="java.lang.String">
-                <value>.zip</value>
-                <value>.ear</value>
-                <value>.jar</value>
-                <value>.rar</value>
-                <value>.war</value>
-                <value>.sar</value>
-                <value>.har</value>
-                <value>.aop</value>
-                <value>.deployer</value>
-                <value>.beans</value>
-             </set>
-          </parameter>
-       </constructor>
-       <property name="candidateStructureVisitorFactory">
-          <!-- Any file that is not an ordinary directory is a candidate -->
-          <bean name="JARStructureCandidates" class="org.jboss.deployers.vfs.spi.structure.helpers.DefaultCandidateStructureVisitorFactory">
-             <!-- A filter to exclude some obvious non-subdeployments -->
-             <property name="filter">
-                <bean name="JARFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixesExcludeFilter">
-                   <constructor><parameter>
-                      <list elementClass="java.lang.String">
-                         <!-- Exclude class files as subdeployments -->
-                         <value>.class</value>
-                      </list>
-                   </parameter></constructor>
-                </bean>
-             </property>
-          </bean>
-       </property>
-    </bean>
-
-    <!-- File Structure -->
-    <bean name="FileStructure" class="org.jboss.deployers.vfs.plugins.structure.file.FileStructure">
-       <!-- Unless specified the default list of suffixes is -service.xml, -beans.xml, -ds.xml, -aop.xml -->
-       <constructor>
-          <parameter>
-             <set elementClass="java.lang.String">
-                <value>-service.xml</value>
-                <value>-beans.xml</value>
-                <value>-ds.xml</value>
-                <value>-aop.xml</value>
-             </set>
-          </parameter>
-       </constructor>
-    </bean>
-
-    <!-- AOP deployment -->
-    <!-- FIXME Replace with org.jboss.aop.deployers.AspectAppParsingDeployer once AOP is released -->
-    <bean name="AspectAppParsingDeployer" class="org.jboss.aop.asintegration.jboss5.AspectAppParsingDeployer"/>
-    <bean name="AspectDeployer" class="org.jboss.aop.deployers.AspectDeployer">
-       <property name="type">aop</property>
-       <property name="aspectManager"><inject bean="AspectManager" property="aspectManager"/></property>
-   </bean>
-
-   <!-- POJO Deployment -->
-   <bean name="BeanDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanDeployer">
-      <property name="type">beans</property>
-   </bean>
-   <bean name="KernelDeploymentDeployer" class="org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer">
-      <property name="type">beans</property>
-   </bean>
-   <!-- FIXME: Put back to BeanMetaDataDeployer once JBMICROCONT-234 has been added to trunk -->
-   <bean name="BeanMetaDataDeployer" class="org.jboss.system.deployers.TempBeanMetaDataDeployer">
-      <!--bean name="BeanMetaDataDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer"-->
-      <constructor><parameter><inject bean="jboss.kernel:service=Kernel"/></parameter></constructor>
-      <property name="type">beans</property>
-   </bean>
-
-   <!-- JMX Deployment -->
-   <bean name="SARDeployer" class="org.jboss.system.deployers.SARDeployer">
-      <property name="type">sar</property>
-   </bean>
-   <bean name="ServiceDeploymentDeployer" class="org.jboss.system.deployers.ServiceDeploymentDeployer">
-       <property name="type">sar</property>
-   </bean>
-   <bean name="ServiceDeployer" class="org.jboss.system.deployers.ServiceDeployer">
-       <constructor><parameter><inject bean="JMXKernel" property="serviceController"/></parameter></constructor>
-       <property name="type">sar</property>
-   </bean>
-
-   <!-- UnifiedClassLoader -->
-   <!--bean name="ServiceClassLoaderDeployer" class="org.jboss.system.deployers.ServiceClassLoaderDeployer">
-      <constructor><parameter><inject bean="JMXKernel" property="serviceController"/></parameter></constructor>
-   </bean-->
-
-   <!-- VFS ClassLoader -->
-   <bean name="ClassLoaderSystem" class="org.jboss.classloader.spi.ClassLoaderSystem">
-      <constructor factoryClass="org.jboss.classloader.spi.ClassLoaderSystem" factoryMethod="getInstance"/>
-   </bean>
-   <bean name="ClassLoading" class="org.jboss.deployers.plugins.classloading.ClassLoading"/>
-   <bean name="HackClassLoaderMetaDataDeployer" class="org.jboss.system.deployers.HackClassloaderMetaDataDeployer">
-      <property name="classLoading"><inject bean="ClassLoading"/></property>
-   </bean>
-   <bean name="VFSClassLoaderDeployer" class="org.jboss.deployers.vfs.plugins.classloader.VFSTopLevelClassLoaderSystemDeployer">
-      <property name="classLoading"><inject bean="ClassLoading"/></property>
-      <property name="system"><inject bean="ClassLoaderSystem"/></property>
-      <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
-   </bean>
-
-	<!-- MBean for making sure that the underlying AspectManagerService gets registered in JMX -->
-	<bean name="AspectManagerJMXRegistrar" class="org.jboss.aop.deployers.AspectManagerJMXRegistrar">
-	   <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
-	   <property name="aspectManager"><inject bean="AspectManager"/></property>
-	</bean>
-
-   <!-- A filter for excluding files from the scanner -->
-   <bean name="DeploymentFilter" class="org.jboss.virtual.plugins.vfs.helpers.ExtensibleFilter">
-      <!-- Files starting with theses strings are ignored -->
-      <property name="prefixes">#,%,\,,.,_$</property>
-      <!-- Files ending with theses strings are ignored -->
-      <property name="suffixes">#,$,%,~,\,v,.BAK,.bak,.old,.orig,.tmp,.rej,.sh</property>
-      <!-- Files matching with theses strings are ignored -->
-      <property name="matches">.make.state,.nse_depinfo,CVS,CVS.admin,RCS,RCSLOG,SCCS,TAGS,core,tags</property>
-   </bean>
-
-   <!-- Scan for bootstraps -->
-   <bean name="VFSBootstrapScanner" class="org.jboss.system.server.profileservice.VFSBootstrapScannerImpl">
-      <property name="profileService"><inject bean="ProfileService"/></property>
-      <property name="filterInstance"><inject bean="DeploymentFilter"/></property>
-      <property name="URIList">
-         <list elementClass="java.net.URI">
-            <!-- Legacy static conf/jboss-service.xml -->
-            <value>${jboss.server.home.url}conf/jboss-service.xml</value>
-         </list>
-      </property>
-   </bean>
-
-   <!-- Scan for deployers -->
-   <bean name="VFSDeployerScanner" class="org.jboss.system.server.profileservice.VFSDeployerScannerImpl">
-      <property name="profileService"><inject bean="ProfileService"/></property>
-      <property name="filterInstance"><inject bean="DeploymentFilter"/></property>
-      <property name="URIList">
-         <list elementClass="java.net.URI">
-            <!-- Directory for deployers -->
-            <value>${jboss.server.home.url}deployers/</value>
-         </list>
-      </property>
-   </bean>
-
-   <!-- Scan for applications -->
-   <bean name="VFSDeploymentScanner" class="org.jboss.system.server.profileservice.VFSDeploymentScannerImpl">
-      <property name="profileService"><inject bean="ProfileService"/></property>
-      <property name="filterInstance"><inject bean="DeploymentFilter"/></property>
-      <property name="URIList">
-         <list elementClass="java.net.URI">
-            <!-- Standard hot deployment directory -->
-            <value>${jboss.server.home.url}deploy/</value>
-         </list>
-      </property>
-   </bean>
-
-   <!-- Hotdeployment of applications -->
-   <bean name="HDScanner"
-      class="org.jboss.system.server.profileservice.hotdeploy.HDScanner">
-      <property name="mainDeployer"><inject bean="MainDeployer"/></property>
-      <!-- Workaround for JBMICROCONT-176
-      -->
-      <property name="controller"><inject bean="jboss.kernel:service=KernelController"/></property>
-      <!-- Broken due to JBMICROCONT-176
-         <property name="controller"><inject bean="jboss.kernel:service=Kernel" property="controller"/></property>
-      -->
-      <property name="profileService"><inject bean="ProfileService"/></property>
-      <property name="scanPeriod">5000</property>
-      <property name="scanThreadName">HDScanner</property>
-   </bean>
-</deployment>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   The bootstrap of the server. This should only have the minimum
+   needed to bootstrap the mc kernel and profile service.
+   $Id:$
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <!-- All beans use the bootstrap classloader -->
+   <classloader><inject bean="BootstrapClassLoader"/></classloader>
+
+   <!-- TODO Should split this file up and use the new classloader -->
+   <bean name="BootstrapClassLoader" class="org.jboss.system.NoAnnotationURLClassLoader">
+      <classloader><null/></classloader>
+      <constructor factoryClass="org.jboss.system.NoAnnotationURLClassLoader" factoryMethod="createClassLoader">
+        <parameter>
+           <array elementClass="java.net.URL">
+              <!-- Deployers -->
+              <value>${jboss.lib.url}/jboss-deployers-core-spi.jar</value>
+              <value>${jboss.lib.url}/jboss-deployers-core.jar</value>
+              <value>${jboss.lib.url}/jboss-deployers-client-spi.jar</value>
+              <value>${jboss.lib.url}/jboss-deployers-client.jar</value>
+              <value>${jboss.lib.url}/jboss-deployers-structure-spi.jar</value>
+              <value>${jboss.lib.url}/jboss-deployers-spi.jar</value>
+              <value>${jboss.lib.url}/jboss-deployers-impl.jar</value>
+              <value>${jboss.lib.url}/jboss-deployers-vfs-spi.jar</value>
+              <value>${jboss.lib.url}/jboss-deployers-vfs.jar</value>
+              <!-- System -->
+              <value>${jboss.lib.url}/jboss-system.jar</value>
+              <!-- JMX -->
+              <value>${jboss.lib.url}/jboss-j2se.jar</value>
+              <value>${jboss.lib.url}/jboss-mbeans.jar</value>
+              <value>${jboss.lib.url}/jboss-jmx.jar</value>
+              <value>${jboss.lib.url}/jboss-system-jmx.jar</value>
+              <value>${jboss.lib.url}/dom4j.jar</value>
+              <!-- AOP -->
+              <value>${jboss.lib.url}/jboss-aop-deployer-jdk50.jar</value>
+              <value>${jboss.lib.url}/jboss-aop-jboss4-jdk50.jar</value>
+              <value>${jboss.lib.url}/jboss-aop-jboss5.jar</value>
+              <!-- JAXB - shouldn't this be in endorsed? -->
+              <value>${jboss.lib.url}/activation.jar</value>
+              <value>${jboss.lib.url}/jaxb-impl.jar</value>
+              <value>${jboss.lib.url}/stax-api.jar</value>
+              <value>${jboss.lib.url}/wstx.jar</value>
+           </array>
+        </parameter>
+      </constructor>
+   </bean>
+
+   <!-- The basic profile service which relies on vfs scanners
+   to determine the profile deployments. This version does not
+   support the full ProfileService spi.
+   -->
+   <bean name="ProfileService" class="org.jboss.system.server.profileservice.basic.ProfileServiceImpl">
+      <constructor>
+         <parameter>${jboss.server.name}</parameter>
+      </constructor>
+      <property name="profileRoot">${jboss.server.home.dir}</property>
+   </bean>
+
+   <bean name="ProfileServiceBootstrap" class="org.jboss.system.server.profileservice.ProfileServiceBootstrap">
+      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+   </bean>
+
+   <!-- The legacy JMX kernel -->
+   <bean name="JMXKernel" class="org.jboss.system.server.jmx.JMXKernel">
+      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+      <property name="serverImpl"><inject bean="JBossServer"/></property>
+      <property name="oldClassLoader">false</property>
+   </bean>
+
+
+   <!-- Repository classloader -->
+   <!--bean name="AOPClassLoaderScopingPolicy" class="org.jboss.aop.asintegration.jboss4.RepositoryClassLoaderScopingPolicy"/-->
+   <!-- VFS ClassLoader -->
+   <bean name="AOPClassLoaderScopingPolicy" class="org.jboss.aop.asintegration.jboss5.VFSClassLoaderScopingPolicy"/>
+
+   <!-- Integration -->
+   <bean name="AOPJBossIntegration" class="org.jboss.aop.asintegration.jboss5.JBoss5Integration">
+      <property name="scopingPolicy"><inject bean="AOPClassLoaderScopingPolicy"/></property>
+   </bean>
+   <!--
+      Valid values for the AspectManager bean for use with enableTransformer=true are:
+      * org.jboss.aop.deployers.AspectManagerJDK5 - works with the -javaagent:pluggable-instrumentor.jar switch
+      * org.jboss.aop.deployers.AspectManagerJRockit - works with JRockit and the -Xmanagement:class=org.jboss.aop.hook.JRockitPluggableClassPreProcessor switch
+   -->
+   <bean name="AspectManager" class="org.jboss.aop.deployers.AspectManagerJDK5">
+      <constructor>
+         <parameter><![CDATA[
+	         <aop>
+			      <aspect name="mainDeployer" class="org.jboss.profileservice.aop.MainDeployerAspect"/>
+					   <bind pointcut="execution(* $instanceof{org.jboss.deployers.spi.deployment.MainDeployer}->process(..))">
+				      <advice name="process" aspect="mainDeployer"/>
+				   </bind>
+					<aspect name="persist" class="org.jboss.profileservice.aop.PersistAspect"/>
+					<bind pointcut="execution(* $instanceof{org.jboss.managed.api.ManagedProperty}->setValue(..))">
+				      <advice name="setValue" aspect="persist"/>
+				   </bind>
+				</aop>]]>
+	      </parameter>
+      </constructor>
+
+      <property name="jbossIntegration"><inject bean="AOPJBossIntegration"/></property>
+
+      <property name="enableLoadtimeWeaving">false</property>
+      <!-- only relevant when EnableLoadtimeWeaving is true.
+           When transformer is on, every loaded class gets
+           transformed.  If AOP can't find the class, then it
+           throws an exception.  Sometimes, classes may not have
+           all the classes they reference.  So, the Suppressing
+           is needed.  (i.e. Jboss cache in the default configuration -->
+      <property name="suppressTransformationErrors">true</property>
+      <property name="prune">true</property>
+      <property name="include">org.jboss.test., org.jboss.injbossaop.</property>
+      <property name="exclude">org.jboss.</property>
+      <!-- This avoids instrumentation of hibernate cglib enhanced proxies
+      <property name="ignore">*$$EnhancerByCGLIB$$*</property> -->
+      <property name="optimized">true</property>
+      <property name="verbose">false</property>
+      <!--
+         Available choices for this attribute are:
+            org.jboss.aop.instrument.ClassicInstrumentor (default)
+            org.jboss.aop.instrument.GeneratedAdvisorInstrumentor
+       <property name="instrumentor">org.jboss.aop.instrument.ClassicInstrumentor</property>
+      -->
+   </bean>
+
+   <!-- The MainDeployer -->
+   <bean name="MainDeployer" class="org.jboss.deployers.plugins.main.MainDeployerImpl">
+      <property name="structuralDeployers"><inject bean="StructuralDeployers"/></property>
+      <property name="deployers"><inject bean="Deployers"/></property>
+      <property name="mgtDeploymentCreator"><inject bean="ManagedDeploymentCreator"/></property>
+   </bean>
+
+   <!-- The ManagedDeploymentCreator implementation -->
+   <bean name="ManagedDeploymentCreator" class="org.jboss.deployers.plugins.managed.DefaultManagedDeploymentCreator" />
+
+   <!-- The holder for deployers that determine structure -->
+   <bean name="StructuralDeployers" class="org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl">
+      <property name="structureBuilder">
+         <!-- The consolidator of the structure information -->
+         <bean name="StructureBuilder" class="org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder"/>
+      </property>
+      <!-- Accept any implementor of structure deployer -->
+      <incallback method="addDeployer"/>
+      <uncallback method="removeDeployer"/>
+   </bean>
+
+   <!-- The holder for deployers that do real deployment -->
+   <bean name="Deployers" class="org.jboss.deployers.plugins.deployers.DeployersImpl">
+      <constructor><parameter><inject bean="jboss.kernel:service=KernelController"/></parameter></constructor>
+      <!-- Accept any implementor of deployer -->
+      <incallback method="addDeployer"/>
+      <uncallback method="removeDeployer"/>
+   </bean>
+
+   <!-- A declared structure descriptor deployer -->
+   <bean name="DeclaredStructure" class="org.jboss.deployers.vfs.plugins.structure.explicit.DeclaredStructure"></bean>
+
+   <!-- WAR Structure -->
+   <bean name="WARStructure" class="org.jboss.deployers.vfs.plugins.structure.war.WARStructure">
+       <property name="webInfLibFilter">
+          <!-- We accept all .jar files in WEB-INF/lib -->
+          <bean name="WebInfLibFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixMatchFilter">
+             <constructor><parameter class="java.lang.String">.jar</parameter></constructor>
+          </bean>
+       </property>
+    </bean>
+
+    <!-- JAR Structure -->
+    <bean name="JARStructure" class="org.jboss.deployers.vfs.plugins.structure.jar.JARStructure">
+       <!-- Unless specified the default list of suffixes is .zip, .ear, .jar, ,.rar, .war, .sar, .har, .aop -->
+       <constructor>
+          <parameter>
+             <set elementClass="java.lang.String">
+                <value>.zip</value>
+                <value>.ear</value>
+                <value>.jar</value>
+                <value>.rar</value>
+                <value>.war</value>
+                <value>.sar</value>
+                <value>.har</value>
+                <value>.aop</value>
+                <value>.deployer</value>
+                <value>.beans</value>
+             </set>
+          </parameter>
+       </constructor>
+       <property name="candidateStructureVisitorFactory">
+          <!-- Any file that is not an ordinary directory is a candidate -->
+          <bean name="JARStructureCandidates" class="org.jboss.deployers.vfs.spi.structure.helpers.DefaultCandidateStructureVisitorFactory">
+             <!-- A filter to exclude some obvious non-subdeployments -->
+             <property name="filter">
+                <bean name="JARFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixesExcludeFilter">
+                   <constructor><parameter>
+                      <list elementClass="java.lang.String">
+                         <!-- Exclude class files as subdeployments -->
+                         <value>.class</value>
+                      </list>
+                   </parameter></constructor>
+                </bean>
+             </property>
+          </bean>
+       </property>
+    </bean>
+
+    <!-- File Structure -->
+    <bean name="FileStructure" class="org.jboss.deployers.vfs.plugins.structure.file.FileStructure">
+       <!-- Unless specified the default list of suffixes is -service.xml, -beans.xml, -ds.xml, -aop.xml -->
+       <constructor>
+          <parameter>
+             <set elementClass="java.lang.String">
+                <value>-service.xml</value>
+                <value>-beans.xml</value>
+                <value>-ds.xml</value>
+                <value>-aop.xml</value>
+             </set>
+          </parameter>
+       </constructor>
+    </bean>
+
+    <!-- AOP deployment -->
+    <!-- FIXME Replace with org.jboss.aop.deployers.AspectAppParsingDeployer once AOP is released -->
+    <bean name="AspectAppParsingDeployer" class="org.jboss.aop.asintegration.jboss5.AspectAppParsingDeployer"/>
+    <bean name="AspectDeployer" class="org.jboss.aop.deployers.AspectDeployer">
+       <property name="type">aop</property>
+       <property name="aspectManager"><inject bean="AspectManager" property="aspectManager"/></property>
+   </bean>
+
+   <!-- POJO Deployment -->
+   <bean name="BeanDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanDeployer">
+      <property name="type">beans</property>
+   </bean>
+   <bean name="KernelDeploymentDeployer" class="org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer">
+      <property name="type">beans</property>
+   </bean>
+   <bean name="BeanMetaDataDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer">
+      <constructor><parameter><inject bean="jboss.kernel:service=Kernel"/></parameter></constructor>
+      <property name="type">beans</property>
+   </bean>
+
+   <!-- JMX Deployment -->
+   <bean name="SARDeployer" class="org.jboss.system.deployers.SARDeployer">
+      <property name="type">sar</property>
+   </bean>
+   <bean name="ServiceDeploymentDeployer" class="org.jboss.system.deployers.ServiceDeploymentDeployer">
+       <property name="type">sar</property>
+   </bean>
+   <bean name="ServiceDeployer" class="org.jboss.system.deployers.ServiceDeployer">
+       <constructor><parameter><inject bean="JMXKernel" property="serviceController"/></parameter></constructor>
+       <property name="type">sar</property>
+   </bean>
+
+   <!-- UnifiedClassLoader -->
+   <!--bean name="ServiceClassLoaderDeployer" class="org.jboss.system.deployers.ServiceClassLoaderDeployer">
+      <constructor><parameter><inject bean="JMXKernel" property="serviceController"/></parameter></constructor>
+   </bean-->
+
+   <!-- VFS ClassLoader -->
+   <bean name="ClassLoaderSystem" class="org.jboss.classloader.spi.ClassLoaderSystem">
+      <constructor factoryClass="org.jboss.classloader.spi.ClassLoaderSystem" factoryMethod="getInstance"/>
+   </bean>
+   <bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
+      <incallback method="addModule" state="Configured"/>
+      <uncallback method="removeModule" state="Configured"/>
+   </bean>
+   <!-- FIXME Remove this -->
+   <bean name="HackClassLoaderMetaDataDeployer" class="org.jboss.system.deployers.HackClassloaderMetaDataDeployer"/>
+   <bean name="ClassLoadingMetaDataParser" class="org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer">
+      <constructor>
+         <parameter>org.jboss.classloading.spi.metadata.ClassLoadingMetaData</parameter>
+      </constructor>
+      <property name="name">jboss-classloading.xml</property>
+      <property name="buildManagedObject">true</property>
+   </bean>
+   <bean name="ClassLoadingDefaultDeployer" class="org.jboss.deployers.plugins.classloading.ClassLoadingDefaultDeployer">
+      <property name="defaultMetaData">
+         <classloading xmlns="urn:jboss:classloading:1.0" export-all="NON_EMPTY" import-all="true"/>
+      </property>
+   </bean>
+   <bean name="InMemoryClassesDeployer" class="org.jboss.deployers.vfs.plugins.classloader.InMemoryClassesDeployer"/>
+   <bean name="ClassLoaderDescribeDeployer" class="org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderDescribeDeployer">
+      <property name="classLoading"><inject bean="ClassLoading"/></property>
+   </bean>
+   <bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
+      <property name="classLoading"><inject bean="ClassLoading"/></property>
+      <property name="system"><inject bean="ClassLoaderSystem"/></property>
+   </bean>
+
+	<!-- MBean for making sure that the underlying AspectManagerService gets registered in JMX -->
+	<bean name="AspectManagerJMXRegistrar" class="org.jboss.aop.deployers.AspectManagerJMXRegistrar">
+	   <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
+	   <property name="aspectManager"><inject bean="AspectManager"/></property>
+	</bean>
+
+   <!-- A filter for excluding files from the scanner -->
+   <bean name="DeploymentFilter" class="org.jboss.virtual.plugins.vfs.helpers.ExtensibleFilter">
+      <!-- Files starting with theses strings are ignored -->
+      <property name="prefixes">#,%,\,,.,_$</property>
+      <!-- Files ending with theses strings are ignored -->
+      <property name="suffixes">#,$,%,~,\,v,.BAK,.bak,.old,.orig,.tmp,.rej,.sh</property>
+      <!-- Files matching with theses strings are ignored -->
+      <property name="matches">.make.state,.nse_depinfo,CVS,CVS.admin,RCS,RCSLOG,SCCS,TAGS,core,tags</property>
+   </bean>
+
+   <!-- Scan for bootstraps -->
+   <bean name="VFSBootstrapScanner" class="org.jboss.system.server.profileservice.VFSBootstrapScannerImpl">
+      <property name="profileService"><inject bean="ProfileService"/></property>
+      <property name="filterInstance"><inject bean="DeploymentFilter"/></property>
+      <property name="URIList">
+         <list elementClass="java.net.URI">
+            <!-- Legacy static conf/jboss-service.xml -->
+            <value>${jboss.server.home.url}conf/jboss-service.xml</value>
+         </list>
+      </property>
+   </bean>
+
+   <!-- Scan for deployers -->
+   <bean name="VFSDeployerScanner" class="org.jboss.system.server.profileservice.VFSDeployerScannerImpl">
+      <property name="profileService"><inject bean="ProfileService"/></property>
+      <property name="filterInstance"><inject bean="DeploymentFilter"/></property>
+      <property name="URIList">
+         <list elementClass="java.net.URI">
+            <!-- Directory for deployers -->
+            <value>${jboss.server.home.url}deployers/</value>
+         </list>
+      </property>
+   </bean>
+
+   <!-- Scan for applications -->
+   <bean name="VFSDeploymentScanner" class="org.jboss.system.server.profileservice.VFSDeploymentScannerImpl">
+      <property name="profileService"><inject bean="ProfileService"/></property>
+      <property name="filterInstance"><inject bean="DeploymentFilter"/></property>
+      <property name="URIList">
+         <list elementClass="java.net.URI">
+            <!-- Standard hot deployment directory -->
+            <value>${jboss.server.home.url}deploy/</value>
+         </list>
+      </property>
+   </bean>
+
+   <!-- Hotdeployment of applications -->
+   <bean name="HDScanner"
+      class="org.jboss.system.server.profileservice.hotdeploy.HDScanner">
+      <property name="mainDeployer"><inject bean="MainDeployer"/></property>
+      <!-- Workaround for JBMICROCONT-176
+      -->
+      <property name="controller"><inject bean="jboss.kernel:service=KernelController"/></property>
+      <!-- Broken due to JBMICROCONT-176
+         <property name="controller"><inject bean="jboss.kernel:service=Kernel" property="controller"/></property>
+      -->
+      <property name="profileService"><inject bean="ProfileService"/></property>
+      <property name="scanPeriod">5000</property>
+      <property name="scanThreadName">HDScanner</property>
+   </bean>
+</deployment>

Modified: trunk/server/src/etc/conf/default/bootstrap-repo-beans.xml
===================================================================
--- trunk/server/src/etc/conf/default/bootstrap-repo-beans.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/server/src/etc/conf/default/bootstrap-repo-beans.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -16,14 +16,7 @@
       <constructor factoryClass="org.jboss.system.NoAnnotationURLClassLoader" factoryMethod="createClassLoader">
         <parameter>
            <array elementClass="java.net.URL">
-              <!-- VFS -->
-              <value>${jboss.lib.url}/jboss-vfs.jar</value>
-              <!-- ClassLoader -->
-              <value>${jboss.lib.url}/jboss-classloading-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-classloader.jar</value>
               <!-- Deployers -->
-              <value>${jboss.lib.url}/jboss-metatype.jar</value>
-              <value>${jboss.lib.url}/jboss-managed.jar</value>
               <value>${jboss.lib.url}/jboss-deployers-core-spi.jar</value>
               <value>${jboss.lib.url}/jboss-deployers-core.jar</value>
               <value>${jboss.lib.url}/jboss-deployers-client-spi.jar</value>
@@ -42,29 +35,18 @@
               <value>${jboss.lib.url}/jboss-system-jmx.jar</value>
               <value>${jboss.lib.url}/dom4j.jar</value>
               <!-- AOP -->
-              <value>${jboss.lib.url}/jboss-aop-jdk50.jar</value>
               <value>${jboss.lib.url}/jboss-aop-deployer-jdk50.jar</value>
-              <value>${jboss.lib.url}/jboss-aop-mc-int.jar</value>
-              <!-- Kill once we use the new classloaders -->
               <value>${jboss.lib.url}/jboss-aop-jboss4-jdk50.jar</value>
-              <value>${jboss.lib.url}/jboss-aop-jboss5.jar</value>               
-              <value>${jboss.lib.url}/trove.jar</value>
+              <value>${jboss.lib.url}/jboss-aop-jboss5.jar</value>
               <!-- JAXB - shouldn't this be in endorsed? -->
-              <value>${jboss.lib.url}/jaxb-api.jar</value>
+              <value>${jboss.lib.url}/activation.jar</value>
               <value>${jboss.lib.url}/jaxb-impl.jar</value>
               <value>${jboss.lib.url}/stax-api.jar</value>
-              <value>${jboss.lib.url}/activation.jar</value>
+              <value>${jboss.lib.url}/wstx.jar</value>
            </array>
         </parameter>
       </constructor>
    </bean>
-    
-   <!-- FIXME REMOVE THIS -->
-   <bean name="AOPMCFIX" class="org.jboss.aop.deployers.temp.Hack">
-      <constructor>
-         <parameter><inject bean="jboss.kernel:service=Kernel"/></parameter>
-      </constructor>
-   </bean>
     <!--
         Valid values for the AspectManager bean for use with enableTransformer=true are:
         * org.jboss.aop.deployers.AspectManagerJDK5 - works with the -javaagent:pluggable-instrumentor.jar switch
@@ -290,25 +272,37 @@
    </bean>-->
 
    <!-- VFS ClassLoader -->
+   <!-- VFS ClassLoader -->
    <bean name="ClassLoaderSystem" class="org.jboss.classloader.spi.ClassLoaderSystem">
       <constructor factoryClass="org.jboss.classloader.spi.ClassLoaderSystem" factoryMethod="getInstance"/>
    </bean>
-   <bean name="ClassLoading" class="org.jboss.deployers.plugins.classloading.ClassLoading"/>
-   <bean name="HackClassLoaderMetaDataDeployer" class="org.jboss.system.deployers.HackClassloaderMetaDataDeployer">
+   <bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
+      <incallback method="addModule" state="Configured"/>
+      <uncallback method="removeModule" state="Configured"/>
+   </bean>
+   <!-- FIXME Remove this -->
+   <bean name="HackClassLoaderMetaDataDeployer" class="org.jboss.system.deployers.HackClassloaderMetaDataDeployer"/>
+   <bean name="ClassLoadingMetaDataParser" class="org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer">
+      <constructor>
+         <parameter>org.jboss.classloading.spi.metadata.ClassLoadingMetaData</parameter>
+      </constructor>
+      <property name="name">jboss-classloading.xml</property>
+      <property name="buildManagedObject">true</property>
+   </bean>
+   <bean name="ClassLoadingDefaultDeployer" class="org.jboss.deployers.plugins.classloading.ClassLoadingDefaultDeployer">
+      <property name="defaultMetaData">
+         <classloading xmlns="urn:jboss:classloading:1.0" export-all="NON_EMPTY" import-all="true"/>
+      </property>
+   </bean>
+   <bean name="InMemoryClassesDeployer" class="org.jboss.deployers.vfs.plugins.classloader.InMemoryClassesDeployer"/>
+   <bean name="ClassLoaderDescribeDeployer" class="org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderDescribeDeployer">
       <property name="classLoading"><inject bean="ClassLoading"/></property>
    </bean>
-   <bean name="VFSClassLoaderDeployer" class="org.jboss.deployers.vfs.plugins.classloader.VFSTopLevelClassLoaderSystemDeployer">
+   <bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
       <property name="classLoading"><inject bean="ClassLoading"/></property>
       <property name="system"><inject bean="ClassLoaderSystem"/></property>
-      <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
    </bean>
 
-   <!-- MBean for making sure that the underlying AspectManagerService gets registered in JMX -->
-   <bean name="AspectManagerJMXRegistrar" class="org.jboss.aop.deployers.AspectManagerJMXRegistrar">
-      <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
-      <property name="aspectManager"><inject bean="AspectManager"/></property>
-   </bean>
-
    <!-- A filter for excluding files from the scanner -->
    <bean name="DeploymentFilter" class="org.jboss.virtual.plugins.vfs.helpers.ExtensibleFilter">
       <!-- Files starting with theses strings are ignored -->

Modified: trunk/spring-int/build.xml
===================================================================
--- trunk/spring-int/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/spring-int/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -98,7 +98,6 @@
       <path refid="jboss.system.classpath"/>
       <path refid="jboss.systemjmx.classpath"/>
       <path refid="jboss.microcontainer.classpath"/>
-      <path refid="jboss.jboss.managed.classpath"/>
       <path refid="jboss.jboss.vfs.classpath"/>
       <path refid="jboss.jboss.javaee.classpath"/>
     </path>

Modified: trunk/spring-int/src/main/org/jboss/spring/deployers/SpringParserDeployer.java
===================================================================
--- trunk/spring-int/src/main/org/jboss/spring/deployers/SpringParserDeployer.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/spring-int/src/main/org/jboss/spring/deployers/SpringParserDeployer.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -21,8 +21,8 @@
 */
 package org.jboss.spring.deployers;
 
-import org.jboss.deployers.vfs.plugins.structure.file.FileMatcher;
 import org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer;
+import org.jboss.deployers.vfs.spi.deployer.FileMatcher;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.virtual.VirtualFile;
 

Modified: trunk/system/.classpath
===================================================================
--- trunk/system/.classpath	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/system/.classpath	2008-03-17 21:01:22 UTC (rev 70929)
@@ -22,7 +22,7 @@
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-aop-mc-int.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-aop-mc-int-sources.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/trove/lib/trove.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-deployers-vfs.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-deployers-vfs-sources.jar"/>
-	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/jboss-managed/lib/jboss-managed.jar"/>
+	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-managed.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/junit/lib/junit.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/test/lib/jboss-test.jar"/>
 	<classpathentry kind="output" path="output/eclipse-classes"/>

Modified: trunk/system/build.xml
===================================================================
--- trunk/system/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/system/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -75,7 +75,6 @@
       <path refid="jboss.aop.classpath"/>
       <path refid="jboss.jbossxb.classpath"/>
       <path refid="jboss.microcontainer.classpath"/>
-      <path refid="jboss.jboss.managed.classpath"/>
       <path refid="jboss.jboss.vfs.classpath"/>
       <path refid="jboss.common.core.classpath"/>
       <path refid="jboss.common.logging.spi.classpath"/>

Modified: trunk/system/src/main/org/jboss/aop/deployers/temp/Hack.java
===================================================================
--- trunk/system/src/main/org/jboss/aop/deployers/temp/Hack.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/system/src/main/org/jboss/aop/deployers/temp/Hack.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -21,15 +21,8 @@
 */
 package org.jboss.aop.deployers.temp;
 
-import java.lang.reflect.Field;
-
 import org.jboss.aop.microcontainer.beans.xml.AOPBeansSchemaInitializer;
-import org.jboss.aop.microcontainer.integration.AOPDependencyBuilder;
-import org.jboss.aop.microcontainer.integration.AOPJoinpointFactoryBuilder;
-import org.jboss.config.plugins.AbstractConfiguration;
 import org.jboss.kernel.Kernel;
-import org.jboss.kernel.plugins.config.AbstractKernelConfig;
-import org.jboss.kernel.spi.config.KernelConfig;
 import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
 import org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory;
 
@@ -45,21 +38,6 @@
 {
    public Hack(Kernel kernel) throws Exception
    {
-      KernelConfig config = kernel.getConfig();
-      Class<?> clazz = AbstractKernelConfig.class;
-      Field field = clazz.getDeclaredField("configuration");
-      field.setAccessible(true);
-
-      Object object = field.get(config);
-      clazz = AbstractConfiguration.class;
-      field = clazz.getDeclaredField("joinpointFactoryBuilder");
-      field.setAccessible(true);
-      field.set(object, new AOPJoinpointFactoryBuilder());      
-
-      field = clazz.getDeclaredField("dependencyBuilder");
-      field.setAccessible(true);
-      field.set(object, new AOPDependencyBuilder());
-      
       DefaultSchemaResolver resolver = (DefaultSchemaResolver) SingletonSchemaResolverFactory.getInstance().getSchemaBindingResolver();
       resolver.addSchemaInitializer("urn:jboss:aop-beans:1.0", new AOPBeansSchemaInitializer());
       resolver.addSchemaParseAnnotations("urn:jboss:aop-beans:1.0", Boolean.FALSE);

Modified: trunk/system/src/main/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java
===================================================================
--- trunk/system/src/main/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/system/src/main/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -227,8 +227,8 @@
          if (ctx != null)
             cl = ctx.getClassLoader();
       }
-      if (cl != null)
-         thread.setContextClassLoader(cl);
+      //if (cl != null)
+      //   thread.setContextClassLoader(cl);
       try
       {
          
@@ -313,8 +313,8 @@
                log.debug("Unable to get first deployment", e);
             }
          }
-         if (cl != null)
-            thread.setContextClassLoader(cl);
+         //if (cl != null)
+         //   thread.setContextClassLoader(cl);
          try
          {
             // Undeploy the applications

Modified: trunk/system-jmx/.classpath
===================================================================
--- trunk/system-jmx/.classpath	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/system-jmx/.classpath	2008-03-17 21:01:22 UTC (rev 70929)
@@ -9,11 +9,15 @@
 	<classpathentry exported="true" kind="src" path="/system"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-classloader.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-classloader-sources.jar"/>
+	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-classloading.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-classloading-vfs-sources.jar"/>
+	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-classloading-vfs.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-classloading-vfs-sources.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/apache-xerces/lib/resolver.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/apache-xerces/lib/xercesImpl.jar"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/apache-xerces/lib/xml-apis.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/junit/lib/junit.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/test/lib/jboss-test.jar" sourcepath="/home/svn/JBossHead/projects/test/trunk/test/src/main"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-deployers-client.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-deployers-client-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-deployers-impl.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-deployers-impl-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-deployers-vfs.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-deployers-vfs-sources.jar"/>
 	<classpathentry kind="output" path="output/eclipse-classes"/>
 </classpath>

Modified: trunk/system-jmx/build.xml
===================================================================
--- trunk/system-jmx/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/system-jmx/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -75,8 +75,8 @@
       <path refid="oswego.concurrent.classpath"/>
       <path refid="dom4j.dom4j.classpath"/>
       <path refid="jboss.jbossxb.classpath"/>
+      <path refid="sun.jaxb.classpath"/>
       <path refid="jboss.microcontainer.classpath"/>
-      <path refid="jboss.jboss.managed.classpath"/>
       <path refid="jboss.integration.classpath"/>
       <path refid="jboss.jboss.vfs.classpath"/>
       <path refid="jboss.common.core.classpath"/>

Modified: trunk/system-jmx/src/main/org/jboss/system/deployers/HackClassloaderMetaDataDeployer.java
===================================================================
--- trunk/system-jmx/src/main/org/jboss/system/deployers/HackClassloaderMetaDataDeployer.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/system-jmx/src/main/org/jboss/system/deployers/HackClassloaderMetaDataDeployer.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -26,14 +26,13 @@
 
 import javax.management.ObjectName;
 
-import org.jboss.deployers.plugins.classloading.ClassLoading;
+import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
+import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.version.Version;
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer;
+import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.structure.spi.classloading.ClassLoaderMetaData;
-import org.jboss.deployers.structure.spi.classloading.ExportAll;
-import org.jboss.deployers.structure.spi.classloading.Version;
 import org.jboss.mx.loading.LoaderRepositoryFactory.LoaderRepositoryConfig;
 import org.jboss.system.metadata.ServiceDeployment;
 
@@ -46,95 +45,63 @@
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
  * @version $Revision: 1.1 $
  */
-public class HackClassloaderMetaDataDeployer extends AbstractRealDeployer
+public class HackClassloaderMetaDataDeployer extends AbstractSimpleRealDeployer<LoaderRepositoryConfig>
 {
-   private ClassLoading classLoading;
-   
-   public ClassLoading getClassLoading()
-   {
-      return classLoading;
-   }
-
-   public void setClassLoading(ClassLoading classLoading)
-   {
-      this.classLoading = classLoading;
-   }
-
    public HackClassloaderMetaDataDeployer()
    {
-      setStage(DeploymentStages.DESCRIBE);
+      super(LoaderRepositoryConfig.class);
+      setStage(DeploymentStages.POST_PARSE);
+      setOutput(ClassLoadingMetaData.class);
    }
 
-   public void internalDeploy(DeploymentUnit unit) throws DeploymentException
+   public void deploy(DeploymentUnit unit, LoaderRepositoryConfig loaderConfig) throws DeploymentException
    {
-      // Check the loader repository config
-      LoaderRepositoryConfig loaderConfig = unit.getAttachment(LoaderRepositoryConfig.class);
-      if (loaderConfig != null)
+      ClassLoadingMetaData classLoadingMetaData = unit.getAttachment(ClassLoadingMetaData.class);
+      if (classLoadingMetaData != null)
       {
-         log.debug("Using loader repository config: " + loaderConfig.repositoryName);
-         ObjectName name = loaderConfig.repositoryName;
-         if (name != null)
-         {
-            String domain = name.getCanonicalName().trim();
-            if (domain.length() != 0)
-            {
-               ClassLoaderMetaData metaData = new ClassLoaderMetaData();
-               metaData.setName(unit.getName());
-               metaData.setDomain(domain);
-               metaData.setExportAll(ExportAll.NON_EMPTY);
-               metaData.setImportAll(true);
-               metaData.setVersion(Version.DEFAULT_VERSION);
-
-               Properties props = new Properties();
-               String config = loaderConfig.repositoryConfig;
-               try
-               {
-                  if (config != null)
-                  {
-                     ByteArrayInputStream bais = new ByteArrayInputStream(config.getBytes());
-                     props.load(bais);
-                  }
-               }
-               catch (Exception e)
-               {
-                  throw DeploymentException.rethrowAsDeploymentException("Error parsing repository config " + config, e);
-               }
-               String java2ParentDelegation = props.getProperty("java2ParentDelegation");
-               if( java2ParentDelegation == null )
-               {
-                  // Check for previous mis-spelled property name
-                  java2ParentDelegation = props.getProperty("java2ParentDelegaton", "false");
-               }
-               boolean useParentFirst = Boolean.valueOf(java2ParentDelegation).booleanValue();
-               metaData.setJ2seClassLoadingCompliance(useParentFirst);
-               
-               unit.addAttachment(ClassLoaderMetaData.class, metaData);
-            }
-         }
+         log.warn("Not converting LoaderRepositoryConfig to ClassLoadingMetaData for " + unit.getName() + " since it already exists: " + classLoadingMetaData);
+         return;
       }
-      else if(unit.getTopLevel() != unit)
+         
+      log.warn("FIXME Using loader repository config: " + loaderConfig.repositoryName + " for  " + unit.getName() + " use classloading metadata not loader repository config");
+      ObjectName name = loaderConfig.repositoryName;
+      if (name != null)
       {
-         // Check for a parent ClassLoaderMetaData
-         ClassLoaderMetaData parentCMD = unit.getTopLevel().getAttachment(ClassLoaderMetaData.class);
-         if(parentCMD != null)
+         String domain = name.getCanonicalName().trim();
+         if (domain.length() != 0)
          {
-            // Use the parent domain
-            ClassLoaderMetaData metaData = new ClassLoaderMetaData();
+            ClassLoadingMetaData metaData = new ClassLoadingMetaData();
             metaData.setName(unit.getName());
-            metaData.setDomain(parentCMD.getDomain());
+            metaData.setDomain(domain);
             metaData.setExportAll(ExportAll.NON_EMPTY);
             metaData.setImportAll(true);
             metaData.setVersion(Version.DEFAULT_VERSION);
-            unit.addAttachment(ClassLoaderMetaData.class, metaData);
+
+            Properties props = new Properties();
+            String config = loaderConfig.repositoryConfig;
+            try
+            {
+               if (config != null)
+               {
+                  ByteArrayInputStream bais = new ByteArrayInputStream(config.getBytes());
+                  props.load(bais);
+               }
+            }
+            catch (Exception e)
+            {
+               throw DeploymentException.rethrowAsDeploymentException("Error parsing repository config " + config, e);
+            }
+            String java2ParentDelegation = props.getProperty("java2ParentDelegation");
+            if( java2ParentDelegation == null )
+            {
+               // Check for previous mis-spelled property name
+               java2ParentDelegation = props.getProperty("java2ParentDelegaton", "false");
+            }
+            boolean useParentFirst = Boolean.valueOf(java2ParentDelegation).booleanValue();
+            metaData.setJ2seClassLoadingCompliance(useParentFirst);
+            
+            unit.addAttachment(ClassLoadingMetaData.class, metaData);
          }
       }
-
-      classLoading.addDeploymentUnit(unit);
    }
-
-   public void internalUndeploy(DeploymentUnit unit)
-   {
-      if(classLoading != null)
-         classLoading.removeDeploymentUnit(unit);
-   }
 }

Modified: trunk/system-jmx/src/main/org/jboss/system/deployers/ServiceClassLoaderDeployer.java
===================================================================
--- trunk/system-jmx/src/main/org/jboss/system/deployers/ServiceClassLoaderDeployer.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/system-jmx/src/main/org/jboss/system/deployers/ServiceClassLoaderDeployer.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -30,9 +30,8 @@
 
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.deployer.helpers.AbstractTopLevelClassLoaderDeployer;
-import org.jboss.deployers.structure.spi.DeploymentContext;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentContext;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.deployers.vfs.spi.structure.helpers.ClassPathVisitor;
 import org.jboss.mx.loading.LoaderRepositoryFactory;
 import org.jboss.mx.loading.RepositoryClassLoader;
@@ -68,19 +67,18 @@
       this.controller = controller;
    }
 
-   public ClassLoader createTopLevelClassLoader(DeploymentContext context) throws Exception
+   public ClassLoader createTopLevelClassLoader(DeploymentUnit unit) throws Exception
    {
       MBeanServer server = controller.getMBeanServer();
-      DeploymentUnit unit = context.getDeploymentUnit();
 
       VirtualFile root = null;
       URL url = null;
-      if (context instanceof VFSDeploymentContext)
+      if (unit instanceof VFSDeploymentUnit)
       {
-         VFSDeploymentContext vfsContext = (VFSDeploymentContext) context;
+         VFSDeploymentUnit vfsUnit = (VFSDeploymentUnit) unit;
          
          // Try to determine a root url
-         root = vfsContext.getRoot();
+         root = vfsUnit.getRoot();
          try
          {
             if (root != null)
@@ -88,7 +86,7 @@
          }
          catch (Exception ignored)
          {
-            log.debug("Unable to get URL for " + context.getName() + " reason=" + ignored);
+            log.debug("Unable to get URL for " + unit.getName() + " reason=" + ignored);
          }
       }
 
@@ -115,8 +113,8 @@
       // Add in the classpath
       try
       {
-         ClassPathVisitor visitor = new ClassPathVisitor();
-         context.visit(visitor);
+         ClassPathVisitor visitor = new ClassPathVisitor(unit);
+         unit.visit(visitor);
          Set<VirtualFile> classpath = visitor.getClassPath();
          for (VirtualFile path : classpath)
          {
@@ -132,19 +130,19 @@
       }
       catch (Throwable t)
       {
-         internalRemoveClassLoader(context, ucl);
-         throw DeploymentException.rethrowAsDeploymentException("Error creating classloader: " + context.getName(), t);
+         internalRemoveClassLoader(unit, ucl);
+         throw DeploymentException.rethrowAsDeploymentException("Error creating classloader: " + unit.getName(), t);
       }
 
       return ucl;
    }
 
-   public void removeTopLevelClassLoader(DeploymentContext context)
+   public void removeTopLevelClassLoader(DeploymentUnit unit)
    {
-      RepositoryClassLoader ucl = (RepositoryClassLoader) context.getClassLoader();
+      RepositoryClassLoader ucl = (RepositoryClassLoader) unit.getClassLoader();
       if (ucl == null)
          return;
-      internalRemoveClassLoader(context, ucl);
+      internalRemoveClassLoader(unit, ucl);
    }
    
    /**
@@ -153,7 +151,7 @@
     * @param context the deployment context
     * @param ucl the unified classloader
     */
-   private void internalRemoveClassLoader(DeploymentContext context, RepositoryClassLoader ucl)
+   private void internalRemoveClassLoader(DeploymentUnit unit, RepositoryClassLoader ucl)
    {
       MBeanServer server = controller.getMBeanServer();
 
@@ -166,7 +164,7 @@
       }
       catch (Throwable t)
       {
-         log.warn("Error unregistering classloader mbean: " + ucl + " for " + context.getName(), t);
+         log.warn("Error unregistering classloader mbean: " + ucl + " for " + unit.getName(), t);
       }
 
       // Remove the classloader from the loader repository
@@ -176,14 +174,13 @@
       }
       catch (Throwable t)
       {
-         log.warn("Error unregistering ucl: " + ucl + " for " + context.getName(), t);
+         log.warn("Error unregistering ucl: " + ucl + " for " + unit.getName(), t);
       }
 
       // Remove the loader repository
       try
       {
 
-         DeploymentUnit unit = context.getDeploymentUnit();
          ServiceDeployment deployment = unit.getAttachment(ServiceDeployment.class);
          if (deployment != null)
          {
@@ -194,7 +191,7 @@
       }
       catch (Throwable t)
       {
-         log.warn("Error removing classloader from repository: " + ucl + " for " + context.getName(), t);
+         log.warn("Error removing classloader from repository: " + ucl + " for " + unit.getName(), t);
       }
    }
 

Modified: trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceMetaDataParser.java
===================================================================
--- trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceMetaDataParser.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/system-jmx/src/main/org/jboss/system/metadata/ServiceMetaDataParser.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -131,7 +131,7 @@
       {
          modeString = modeString.trim();
          if (modeString.length() != 0)
-            serverMode = new ControllerMode(modeString);
+            serverMode = ControllerMode.getInstance(modeString);
       }
    }
 
@@ -406,7 +406,7 @@
       modeString = modeString.trim();
       if (modeString.length() == 0)
          return null;
-      return new ControllerMode(modeString);
+      return ControllerMode.getInstance(modeString);
    }
 
    /**

Modified: trunk/system-jmx/src/main/org/jboss/system/server/jmx/JMXKernel.java
===================================================================
--- trunk/system-jmx/src/main/org/jboss/system/server/jmx/JMXKernel.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/system-jmx/src/main/org/jboss/system/server/jmx/JMXKernel.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -39,10 +39,12 @@
 import javax.management.ObjectInstance;
 import javax.management.ObjectName;
 
+import org.jboss.classloader.plugins.loader.ClassLoaderToLoaderAdapter;
+import org.jboss.classloader.spi.ClassLoaderDomain;
 import org.jboss.classloader.spi.ClassLoaderSystem;
 import org.jboss.classloading.spi.RealClassLoader;
-import org.jboss.deployers.structure.spi.classloading.ExportAll;
-import org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderPolicy;
+import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy;
 import org.jboss.kernel.Kernel;
 import org.jboss.mx.loading.RepositoryClassLoader;
 import org.jboss.mx.server.ServerConstants;
@@ -175,7 +177,6 @@
       else
          cl = initBootLibraries();
       
-
       // Set ServiceClassLoader as classloader for the construction of
       // the basic system
       try
@@ -496,7 +497,12 @@
    private ClassLoader initBootLibraries() throws Exception
    {
       ClassLoaderSystem system = ClassLoaderSystem.getInstance();
-
+      
+      // FIXME
+      ClassLoaderDomain defaultDomain = system.getDefaultDomain();
+      defaultDomain.setParent(new ClassLoaderToLoaderAdapter(getClass().getClassLoader()));
+      mbeanServer.registerMBean(system, new ObjectName("jboss.classloader:service=ClassLoaderSystem"));
+      
       List<URL> list = getBootURLs();
 
       VirtualFile[] files = new VirtualFile[list.size()];
@@ -511,10 +517,7 @@
       policy.setImportAll(true);
       ClassLoader classLoader = system.registerClassLoaderPolicy(policy);
       if (classLoader instanceof RealClassLoader)
-      {
          bootstrapUCLName = ((RealClassLoader) classLoader).getObjectName();
-         mbeanServer.registerMBean(classLoader, bootstrapUCLName);
-      }
       return classLoader;
    }
 

Modified: trunk/system-jmx/src/tests/org/jboss/test/system/deployers/support/CLDeployer.java
===================================================================
--- trunk/system-jmx/src/tests/org/jboss/test/system/deployers/support/CLDeployer.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/system-jmx/src/tests/org/jboss/test/system/deployers/support/CLDeployer.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -22,14 +22,14 @@
 package org.jboss.test.system.deployers.support;
 
 import org.jboss.deployers.spi.deployer.helpers.AbstractTopLevelClassLoaderDeployer;
-import org.jboss.deployers.structure.spi.DeploymentContext;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
 
 /**
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class CLDeployer extends AbstractTopLevelClassLoaderDeployer
 {
-   protected ClassLoader createTopLevelClassLoader(DeploymentContext deploymentContext) throws Exception
+   protected ClassLoader createTopLevelClassLoader(DeploymentUnit unit) throws Exception
    {
       ClassLoader loader = Thread.currentThread().getContextClassLoader();
       return new JmxCL(loader);

Modified: trunk/testsuite/build.xml
===================================================================
--- trunk/testsuite/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/testsuite/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -149,7 +149,6 @@
 
       <!-- xml binding -->
       <path refid="xmlunit.xmlunit.classpath"/>
-      <path refid="jboss.jboss.managed.classpath"/>
       <path refid="jboss.microcontainer.classpath"/>
 
    	  <!-- For classloader leak tests -->

Modified: trunk/testsuite/src/main/org/jboss/test/deployers/seam/test/SeamVFSClassloadingTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/deployers/seam/test/SeamVFSClassloadingTestCase.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/testsuite/src/main/org/jboss/test/deployers/seam/test/SeamVFSClassloadingTestCase.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -28,8 +28,9 @@
 import java.util.Map;
 
 import junit.framework.Test;
+
 import org.jboss.classloader.spi.ClassLoaderPolicy;
-import org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderPolicy;
+import org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy;
 import org.jboss.mx.loading.UnifiedLoaderRepository3;
 import org.jboss.test.JBossTestCase;
 import org.jboss.virtual.VFS;

Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/WarClassLoaderDeployer.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/WarClassLoaderDeployer.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/WarClassLoaderDeployer.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -21,26 +21,18 @@
  */
 package org.jboss.web.tomcat.service.deployers;
 
-import java.net.URL;
 import java.util.ArrayList;
-import java.util.LinkedHashSet;
 import java.util.List;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.jar.Attributes;
-import java.util.jar.Manifest;
 
-import org.jboss.classloader.spi.ClassLoaderPolicy;
-import org.jboss.deployers.plugins.classloading.AbstractClassLoaderSystemDeployer;
-import org.jboss.deployers.plugins.classloading.Module;
+import org.jboss.classloader.spi.ClassLoaderSystem;
+import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
+import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.version.Version;
 import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.structure.spi.DeploymentContext;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderPolicy;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentContext;
-import org.jboss.logging.Logger;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.vfs.spi.deployer.AbstractSimpleVFSRealDeployer;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.virtual.VFSUtils;
 import org.jboss.virtual.VirtualFile;
 
 /**
@@ -52,37 +44,43 @@
  * @author adrian at jboss.org
  * @version $Revision:$
  */
-public class WarClassLoaderDeployer extends AbstractClassLoaderSystemDeployer
+public class WarClassLoaderDeployer extends AbstractSimpleVFSRealDeployer<JBossWebMetaData>
 {
    /** The parent class loader first model flag */
    private boolean java2ClassLoadingCompliance = false;
+
+   /** Whether to include web-inf in the classpath */
    private boolean includeWebInfInClasspath;
+
    /** Package names that should be ignored for class loading */
-   private Set<String> filteredPackages;
+   private String filteredPackages;
 
    /**
     * Create a new WarClassLoaderDeployer.
     */
    public WarClassLoaderDeployer()
    {
-      super();
-      setInput(JBossWebMetaData.class);
+      super(JBossWebMetaData.class);
+      setStage(DeploymentStages.POST_PARSE);
+      addInput(ClassLoadingMetaData.class);
+      setOutput(ClassLoadingMetaData.class);
    }
 
    public boolean isJava2ClassLoadingCompliance()
    {
       return java2ClassLoadingCompliance;
    }
+   
    public void setJava2ClassLoadingCompliance(boolean flag)
    {
       this.java2ClassLoadingCompliance = flag;
    }
 
-   public Set<String> getFilteredPackages()
+   public String getFilteredPackages()
    {
       return filteredPackages;
    }
-   public void setFilteredPackages(Set<String> pkgs)
+   public void setFilteredPackages(String pkgs)
    {
       this.filteredPackages = pkgs;
    }
@@ -96,99 +94,61 @@
       this.includeWebInfInClasspath = includeWebInfInClasspath;
    }
 
-   
    @Override
-   public void deploy(DeploymentUnit unit) throws DeploymentException
+   public void deploy(VFSDeploymentUnit unit, JBossWebMetaData metaData) throws DeploymentException
    {
-      if(unit.isAttachmentPresent(JBossWebMetaData.class))
-         super.deploy(unit);
+      // Ignore if it already has classloading
+      if (unit.isAttachmentPresent(ClassLoadingMetaData.class))
+         return;
+      
+      // FIXME This should be in the WAR structure deployer
+      if (includeWebInfInClasspath)
+      {
+         VirtualFile webInf = getWebInf(unit);
+         if (webInf != null)
+         {
+            ArrayList<VirtualFile> classPath = new ArrayList<VirtualFile>();
+            List<VirtualFile> unitClassPath = unit.getClassPath();
+            if (unitClassPath != null)
+               classPath.addAll(unitClassPath);
+            if (classPath.contains(webInf) == false)
+               classPath.add(webInf);
+            unit.setClassPath(classPath);
+         }
+      }
+      
+      // Create a classloading metadata
+      ClassLoadingMetaData classLoadingMetaData = new ClassLoadingMetaData();
+      classLoadingMetaData.setName(unit.getName());
+      classLoadingMetaData.setDomain(unit.getName());
+      classLoadingMetaData.setParentDomain(ClassLoaderSystem.DEFAULT_DOMAIN_NAME);
+      classLoadingMetaData.setExportAll(ExportAll.NON_EMPTY);
+      classLoadingMetaData.setImportAll(true);
+      classLoadingMetaData.setVersion(Version.DEFAULT_VERSION);
+      classLoadingMetaData.setJ2seClassLoadingCompliance(java2ClassLoadingCompliance);
+      classLoadingMetaData.setExcludedPackages(filteredPackages);
+      unit.addAttachment(ClassLoadingMetaData.class, classLoadingMetaData);
    }
 
    @Override
-   public void undeploy(DeploymentUnit unit)
+   public void undeploy(VFSDeploymentUnit unit, JBossWebMetaData metaData)
    {
-      if(unit.isAttachmentPresent(JBossWebMetaData.class))
-         super.undeploy(unit);
-   }
-
-   @Override
-   protected ClassLoaderPolicy createClassLoaderPolicy(DeploymentContext context, Module module)
-      throws Exception
-   {
-      VFSClassLoaderPolicy policy = null;
-      try
+      
+      // FIXME This should be in the WAR structure deployer
+      if (includeWebInfInClasspath)
       {
-         if(context instanceof VFSDeploymentContext)
+         VirtualFile webInf = getWebInf(unit);
+         if (webInf != null)
          {
-            VFSDeploymentContext vfscontext = (VFSDeploymentContext) context;
-            ArrayList<VirtualFile> paths = new ArrayList<VirtualFile>();
-            if(vfscontext.getClassPath() != null)
-               paths.addAll(vfscontext.getClassPath());
-            LinkedHashSet<VirtualFile> cpSet = new LinkedHashSet<VirtualFile>();
-            // Add the manifest classpath, bug
-            VirtualFile war = vfscontext.getRoot();
-            // TODO: restore when JBMICROCONT-232 is fixed.
-            // VFSUtils.addManifestLocations(war, paths);
-            // Add the WEB-INF if requested
-            VirtualFile webInf = vfscontext.getFile("WEB-INF");
-            if(includeWebInfInClasspath && webInf != null)
-               cpSet.add(webInf);
-            // Process the war manifest
-            addManifestLocations(war, paths, log);
-            if(paths != null)
-               cpSet.addAll(paths);
-
-            VirtualFile[] warFiles = new VirtualFile[cpSet.size()];
-            cpSet.toArray(warFiles);
-            policy = new VFSClassLoaderPolicy(module.getName(), warFiles);
-            policy.setExportAll(module.getExportAll());
-            policy.setImportAll(module.isImportAll());
-            policy.setExcludedPackages(filteredPackages);
+            List<VirtualFile> classPath = unit.getClassPath();
+            if (classPath != null)
+               classPath.remove(webInf);
          }
       }
-      catch(Exception e)
-      {
-         log.warn("Failed to create war ClassLoaderPolicy", e);
-      }
-      return policy;
    }
 
-   public static void addManifestLocations(VirtualFile file, List<VirtualFile> paths, Logger log)
-      throws Exception
+   protected VirtualFile getWebInf(VFSDeploymentUnit unit)
    {
-      Manifest manifest = VFSUtils.getManifest(file);
-      if (manifest != null)
-      {
-         VirtualFile parent = file.getParent();
-         URL parentURL = parent != null ? parent.toURL() : file.toURL();
-
-         Attributes mainAttributes = manifest.getMainAttributes();
-         String classPath = mainAttributes.getValue(Attributes.Name.CLASS_PATH);
-         if(classPath == null)
-            return;
-
-         StringTokenizer tokenizer = new StringTokenizer(classPath);
-         while (tokenizer.hasMoreTokens())
-         {
-            String path = tokenizer.nextToken();
-            try
-            {
-               String parentPath = parentURL.toString();
-               if(parentPath.endsWith("/") == false)
-                  parentPath += "/";
-               VirtualFile pathvf = parent.getChild(path);
-               if(pathvf != null)
-               {
-                  paths.add(pathvf);
-                  // Recursively process the target
-                  addManifestLocations(pathvf, paths, log);
-               }
-            }
-            catch (Exception e)
-            {
-               log.debug("Manifest Class-Path entry " + path + " ignored for " + file.getPathName() + " reason=" + e);
-            }
-         }
-      }      
+      return unit.getFile("WEB-INF");
    }
 }

Modified: trunk/tomcat/src/resources/war-deployers-all-beans.xml
===================================================================
--- trunk/tomcat/src/resources/war-deployers-all-beans.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/tomcat/src/resources/war-deployers-all-beans.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -19,27 +19,10 @@
    <!-- Allow for war local class loaders: in testing -->
    <bean name="WarClassLoaderDeployer" class="org.jboss.web.tomcat.service.deployers.WarClassLoaderDeployer">
       <property name="relativeOrder">-1</property>
-      <property name="classLoading"><inject bean="ClassLoading"/></property>
-      <property name="system"><inject bean="ClassLoaderSystem"/></property>
-      <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
       
       <property name="includeWebInfInClasspath">true</property>
+      <property name="filteredPackages">javax.servlet,org.apache.commons.logging</property>
       
-      <!-- The list of package prefixes that should not be loaded without
-         delegating to the parent class loader before trying the web app
-         class loader. The packages listed here are those tha are used by
-         the web container implementation and cannot be overriden. The format
-         is a comma separated list of the package names. There cannot be any
-         whitespace between the package prefixes.
-         This setting only applies when UseJBossWebLoader=false.
-      -->
-      <property name="filteredPackages">
-         <set>
-            <value>javax.servlet</value>
-            <value>org.apache.commons.logging</value>
-         </set>
-      </property>
-      
    </bean>
 
    <!-- 

Modified: trunk/tomcat/src/resources/war-deployers-beans.xml
===================================================================
--- trunk/tomcat/src/resources/war-deployers-beans.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/tomcat/src/resources/war-deployers-beans.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -19,27 +19,10 @@
    <!-- Allow for war local class loaders: in testing -->
    <bean name="WarClassLoaderDeployer" class="org.jboss.web.tomcat.service.deployers.WarClassLoaderDeployer">
       <property name="relativeOrder">-1</property>
-      <property name="classLoading"><inject bean="ClassLoading"/></property>
-      <property name="system"><inject bean="ClassLoaderSystem"/></property>
-      <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
       
       <property name="includeWebInfInClasspath">true</property>
+      <property name="filteredPackages">javax.servlet,org.apache.commons.logging</property>
       
-      <!-- The list of package prefixes that should not be loaded without
-         delegating to the parent class loader before trying the web app
-         class loader. The packages listed here are those tha are used by
-         the web container implementation and cannot be overriden. The format
-         is a comma separated list of the package names. There cannot be any
-         whitespace between the package prefixes.
-         This setting only applies when UseJBossWebLoader=false.
-      -->
-      <property name="filteredPackages">
-         <set>
-            <value>javax.servlet</value>
-            <value>org.apache.commons.logging</value>
-         </set>
-      </property>
-      
    </bean>
         
    <!-- 

Modified: trunk/varia/build.xml
===================================================================
--- trunk/varia/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/varia/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -94,7 +94,6 @@
       <path refid="juddi.juddi.classpath"/>
       <path refid="jboss.metadata.classpath"/>
       <path refid="jboss.microcontainer.classpath"/>
-      <path refid="jboss.jboss.managed.classpath"/>
       <path refid="jboss.jbossws.classpath"/>
       <path refid="jboss.jbossxb.classpath"/>
       <path refid="jboss.integration.classpath"/>

Modified: trunk/varia/src/main/org/jboss/varia/deployment/LegacyBeanShellDeployer.java
===================================================================
--- trunk/varia/src/main/org/jboss/varia/deployment/LegacyBeanShellDeployer.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/varia/src/main/org/jboss/varia/deployment/LegacyBeanShellDeployer.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -22,8 +22,8 @@
 package org.jboss.varia.deployment;
 
 import org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer;
+import org.jboss.deployers.vfs.spi.deployer.FileMatcher;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.deployers.vfs.plugins.structure.file.FileMatcher;
 import org.jboss.virtual.VirtualFile;
 
 /**

Modified: trunk/varia/src/main/org/jboss/varia/deployment/LegacyBeanShellScriptDeployer.java
===================================================================
--- trunk/varia/src/main/org/jboss/varia/deployment/LegacyBeanShellScriptDeployer.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/varia/src/main/org/jboss/varia/deployment/LegacyBeanShellScriptDeployer.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -142,6 +142,6 @@
     */
    public void setMode(String mode)
    {
-      this.mode = new ControllerMode(mode);
+      this.mode = ControllerMode.getInstance(mode);;
    }
 }

Modified: trunk/webservices/build.xml
===================================================================
--- trunk/webservices/build.xml	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/webservices/build.xml	2008-03-17 21:01:22 UTC (rev 70929)
@@ -76,7 +76,6 @@
       <path refid="jboss.jboss.ejb3.ext.api.classpath" />   
       <path refid="jboss.jboss.ejb3.interceptors.classpath" />   
       <path refid="jboss.jboss.javaee.classpath"/>
-      <path refid="jboss.jboss.managed.classpath"/>
       <path refid="jboss.jboss.security.spi.classpath"/>
       <path refid="jboss.jboss.vfs.classpath"/>
       <path refid="jboss.jbosssx.classpath"/>

Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/DynamicEndpointDeploymentAspect.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/DynamicEndpointDeploymentAspect.java	2008-03-17 20:55:42 UTC (rev 70928)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/DynamicEndpointDeploymentAspect.java	2008-03-17 21:01:22 UTC (rev 70929)
@@ -29,9 +29,8 @@
 import org.jboss.deployers.client.spi.DeployerClient;
 import org.jboss.deployers.client.spi.DeploymentFactory;
 import org.jboss.deployers.spi.attachments.MutableAttachments;
-import org.jboss.deployers.spi.structure.ContextInfo;
 import org.jboss.deployers.structure.spi.ClassLoaderFactory;
-import org.jboss.deployers.structure.spi.DeploymentContext;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.web.jboss.JBossWebMetaData;
 import org.jboss.wsf.spi.deployment.Deployment;
@@ -109,12 +108,12 @@
 
    private static class ContextClassLoaderFactory implements ClassLoaderFactory
    {
-      public ClassLoader createClassLoader(DeploymentContext context) throws Exception
+      public ClassLoader createClassLoader(DeploymentUnit unit) throws Exception
       {
          return Thread.currentThread().getContextClassLoader();
       }
 
-      public void removeClassLoader(DeploymentContext context) throws Exception
+      public void removeClassLoader(DeploymentUnit unit) throws Exception
       {
       }
    }




More information about the jboss-cvs-commits mailing list