[jboss-cvs] JBossAS SVN: r99368 - in projects/ejb3/branches/vfs3-int: async-impl and 51 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jan 13 16:41:39 EST 2010


Author: johnbailey
Date: 2010-01-13 16:41:36 -0500 (Wed, 13 Jan 2010)
New Revision: 99368

Added:
   projects/ejb3/branches/vfs3-int/deployers/src/main/java/org/jboss/ejb3/deployers/EJBsDeployer.java
   projects/ejb3/branches/vfs3-int/deployers/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml
   projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/timerservice/
   projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/timerservice/MockTimerService.java
   projects/ejb3/branches/vfs3-int/metadata-deployers/
   projects/ejb3/branches/vfs3-int/metadata-deployers/pom.xml
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers/JBossMetaDataResolvedJNDINameDeployer.java
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources/META-INF/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources/META-INF/ejb3-metadata-deployers-jboss-beans.xml
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/test/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/test/java/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/test/resources/
   projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/deployer/
   projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/deployer/SingletonContainerDeployer.java
   projects/ejb3/branches/vfs3-int/singleton/src/main/resources/
   projects/ejb3/branches/vfs3-int/singleton/src/main/resources/META-INF/
   projects/ejb3/branches/vfs3-int/singleton/src/main/resources/META-INF/ejb3-singleton-jboss-beans.xml
   projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/MockEjb3DeploymentDeployer.java
   projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/SimpleClassLoaderDeployer.java
   projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/VDFServer.java
   projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/VDFServerImpl.java
   projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/
   projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit/
   projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit/SingletonContainerDeployerTestCase.java
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/classloader.xml
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml
Removed:
   projects/ejb3/branches/vfs3-int/api/
   projects/ejb3/branches/vfs3-int/deployers/src/main/resources/META-INF/jboss-beans.xml
   projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/timerservice/MockTimerService.java
   projects/ejb3/branches/vfs3-int/metadata-deployers/pom.xml
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers/JBossMetaDataResolvedJNDINameDeployer.java
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources/META-INF/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources/META-INF/ejb3-metadata-deployers-jboss-beans.xml
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/test/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/test/java/
   projects/ejb3/branches/vfs3-int/metadata-deployers/src/test/resources/
   projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/deployer/SingletonContainerDeployer.java
   projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/metadata/
   projects/ejb3/branches/vfs3-int/singleton/src/main/resources/META-INF/
   projects/ejb3/branches/vfs3-int/singleton/src/main/resources/META-INF/ejb3-singleton-jboss-beans.xml
   projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit/
   projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit/SingletonContainerDeployerTestCase.java
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml
   projects/ejb3/branches/vfs3-int/testsuite/src/test/java/org/jboss/ejb3/test/singleton/
   projects/ejb3/branches/vfs3-int/testsuite/src/test/resources/test/singleton/
Modified:
   projects/ejb3/branches/vfs3-int/async-impl/pom.xml
   projects/ejb3/branches/vfs3-int/build/pom.xml
   projects/ejb3/branches/vfs3-int/core/pom.xml
   projects/ejb3/branches/vfs3-int/core/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml
   projects/ejb3/branches/vfs3-int/deployers/src/main/java/org/jboss/ejb3/deployers/EjbMetadataJndiPolicyDecoratorDeployer.java
   projects/ejb3/branches/vfs3-int/ejb3_1/pom.xml
   projects/ejb3/branches/vfs3-int/embedded/pom.xml
   projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/JBossEJBContainer.java
   projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/JBossEJBContainerProvider.java
   projects/ejb3/branches/vfs3-int/embedded/src/main/resources/deploy/ejb-deployers-beans.xml
   projects/ejb3/branches/vfs3-int/embedded/src/test/java/org/jboss/ejb3/embedded/test/common/AbstractEmbeddedTestCase.java
   projects/ejb3/branches/vfs3-int/embedded/src/test/java/org/jboss/ejb3/embedded/test/jpa/unit/PhoneBookTestCase.java
   projects/ejb3/branches/vfs3-int/endpoint-deployer/pom.xml
   projects/ejb3/branches/vfs3-int/jpa-int/pom.xml
   projects/ejb3/branches/vfs3-int/nointerface/
   projects/ejb3/branches/vfs3-int/nointerface/pom.xml
   projects/ejb3/branches/vfs3-int/pom.xml
   projects/ejb3/branches/vfs3-int/proxy-impl/pom.xml
   projects/ejb3/branches/vfs3-int/singleton/pom.xml
   projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/SingletonContainer.java
   projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/simple/unit/SimpleSingletonTestCase.java
   projects/ejb3/branches/vfs3-int/singleton/src/test/resources/log4j.xml
   projects/ejb3/branches/vfs3-int/testsuite/build-test.xml
   projects/ejb3/branches/vfs3-int/transactions/pom.xml
Log:
Merged in changes from trunk -r 98870:99346

Modified: projects/ejb3/branches/vfs3-int/async-impl/pom.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/async-impl/pom.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/async-impl/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -9,7 +9,7 @@
   <parent>
     <groupId>org.jboss.ejb3</groupId>
     <artifactId>jboss-ejb3-build</artifactId>
-    <version>1.0.3</version>
+    <version>1.0.9-SNAPSHOT</version>
     <relativePath>../build/pom.xml</relativePath>
   </parent>
 
@@ -80,7 +80,7 @@
   <properties>
   
     <!-- Versioning -->
-    <version.org.jboss.ejb3_jboss.ejb3.api>3.1.1-SNAPSHOT</version.org.jboss.ejb3_jboss.ejb3.api>
+    <version.org.jboss.javaee_jboss.ejb.api_3.1>1.0-alpha-1</version.org.jboss.javaee_jboss.ejb.api_3.1>
     <version.org.jboss.ejb3_jboss.ejb3.async.spi>2.0.0-SNAPSHOT</version.org.jboss.ejb3_jboss.ejb3.async.spi>
     <version.org.jboss.ejb3_jboss.ejb3.interceptors>1.0.0</version.org.jboss.ejb3_jboss.ejb3.interceptors>
     <version.org.jboss.security_jboss.security>2.0.2.SP6</version.org.jboss.security_jboss.security>
@@ -101,11 +101,11 @@
       <version>${version.org.jboss.ejb3_jboss.ejb3.async.spi}</version>
     </dependency>
     
-    <!-- org.jboss.ejb3:jboss-ejb3-interceptors -->
+    <!-- org.jboss.javaee:jboss-ejb-api_3.1 -->
     <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-api</artifactId>
-      <version>${version.org.jboss.ejb3_jboss.ejb3.api}</version>
+      <groupId>org.jboss.javaee</groupId>
+      <artifactId>jboss-ejb-api_3.1</artifactId>
+      <version>${version.org.jboss.javaee_jboss.ejb.api_3.1}</version>
     </dependency>
     
     <!-- org.jboss.ejb3:jboss-ejb3-interceptors -->

Modified: projects/ejb3/branches/vfs3-int/build/pom.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/build/pom.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/build/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -104,12 +104,13 @@
     <version.junit_junit>4.4</version.junit_junit>
     <version.org.jboss.aop_jboss-aop>2.1.0-SNAPSHOT</version.org.jboss.aop_jboss-aop>
     <version.org.jboss.aop_jboss-aop-aspects>2.1.0-SNAPSHOT</version.org.jboss.aop_jboss-aop-aspects>
-    <version.org.jboss.common.core>2.2.14.GA</version.org.jboss.common.core>
+    <version.org.jboss.common.core>2.2.17.GA</version.org.jboss.common.core>
     <version.org.jboss.deployers>2.2.0-SNAPSHOT</version.org.jboss.deployers>
     <version.org.jboss.jbossxb>2.0.1.GA</version.org.jboss.jbossxb>
     <version.org.jboss.microcontainer>2.0.8.GA</version.org.jboss.microcontainer>
     <version.org.jboss.reflect>2.0.2.GA</version.org.jboss.reflect>
     <version.org.jboss.ws_jbossws-spi>1.0.3.GA</version.org.jboss.ws_jbossws-spi>
+    <version.org.jboss.javaee_jboss-ejb-api_3.1>1.0-alpha-1</version.org.jboss.javaee_jboss-ejb-api_3.1>
 
     <!-- Miscellaneous -->
     <jvmargs />
@@ -178,6 +179,8 @@
                 <exclude>org.jboss.ejb3:jboss-ejb3-proxy</exclude>
                 <!-- EJBTHREE-1865 Use org.hibernate:hibernate-core-->
                 <exclude>org.hibernate:hibernate</exclude>
+                <!-- EJBTHREE-1984  Use org.jboss.javaee:jboss-ejb-api_3.1-->
+                <exclude>org.jboss.ejb3:jboss-ejb3-api</exclude>
               </excludes>
             </bannedDependencies>
             <requireMavenVersion>
@@ -345,7 +348,7 @@
       <dependency>
         <groupId>org.jboss</groupId>
         <artifactId>jboss-mdr</artifactId>
-        <version>2.0.0.CR3</version>
+        <version>2.2.0-SNAPSHOT</version>
       </dependency>
 
       <dependency>
@@ -417,6 +420,12 @@
 
       <dependency>
         <groupId>org.jboss.javaee</groupId>
+        <artifactId>jboss-ejb-api_3.1</artifactId>
+        <version>${version.org.jboss.javaee_jboss-ejb-api_3.1}</version>
+      </dependency>
+
+      <dependency>
+        <groupId>org.jboss.javaee</groupId>
         <artifactId>jboss-persistence-api</artifactId>
         <version>3.0.0.CR1</version>
       </dependency>

Modified: projects/ejb3/branches/vfs3-int/core/pom.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/core/pom.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/core/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -17,7 +17,7 @@
   <!-- Artifact Information -->
   <artifactId>jboss-ejb3-core</artifactId>
   <packaging>jar</packaging>
-  <version>1.1.23-SNAPSHOT</version>
+  <version>1.2.0-SNAPSHOT</version>
   <name>JBoss EJB 3.0 Core</name>
   <url>http://labs.jboss.com/jbossejb3</url>
   <description>JBoss EJB 3.0 Core</description>
@@ -216,6 +216,10 @@
           <groupId>org.jboss.javaee</groupId>
           <artifactId>jboss-javaee</artifactId>
         </exclusion>
+        <exclusion>
+          <groupId>org.jboss.javaee</groupId>
+          <artifactId>jboss-ejb-api_3.1</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
 

Modified: projects/ejb3/branches/vfs3-int/core/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/core/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/core/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -9,257 +9,9 @@
     <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
 
    <bean name="MessageDestinationReferenceResolver" class="org.jboss.ejb3.resolvers.DefaultMessageDestinationReferenceResolver"/>
-   
-   <bean name="Ejb3DependenciesDeployer" class="org.jboss.ejb3.deployers.Ejb3DependenciesDeployer">
-      <!-- TODO: allow for configuration
-      <property name="dependencies">
-         <dependency xmlns="urn:jboss:dependency:1.0">
-            <item>javax.transaction.TransactionManager</item>
-         </dependency>
-      </property>
-      -->
-   </bean>
-   
-   <bean name="Ejb3Deployer" class="org.jboss.ejb3.deployers.Ejb3Deployer">
-      <install bean="ManagedDeploymentCreator" method="addVersionedAttachmentType">
-         <parameter>
-            <value>org.jboss.metadata.ejb.jboss.JBossMetaData</value>
-         </parameter>
-         <parameter>
-            <value>ejb3x</value>
-         </parameter>
-         <parameter>
-            <value>3.*</value>
-         </parameter>
-         <parameter>
-            <value>getEjbVersion</value>
-         </parameter>
-      </install>
-      <uninstall bean="ManagedDeploymentCreator" method="removeVersionedAttachmentType">
-         <parameter>
-            <value>org.jboss.metadata.ejb.jboss.JBossMetaData</value>
-         </parameter>
-         <parameter>
-            <value>ejb3x</value>
-         </parameter>
-      </uninstall>
-      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
-      <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
-      <property name="cacheFactoryRegistry"><inject bean="EJB3CacheFactoryRegistry" /></property>
-      <property name="poolFactoryRegistry"><inject bean="EJB3PoolFactoryRegistry" /></property>
-      <property name="persistenceManagerFactoryRegistry"><inject bean="EJB3PersistenceManagerFactoryRegistry" /></property>
-      <!-- Should war deployments be scanned for annotated ejbs -->
-      <property name="scanWars">false</property>
-      
-      <!-- 
-   
-      Configure the deployer to optionally require a deployment 
-      descriptor for deployable units.  By turning this switch to "true", 
-      "META-INF/jboss.xml" or the EJB3 Deployment Descriptor "META-INF/ejb-jar.xml" 
-      will be required for deployment, enabling a performance increace in deployment by
-      not scanning for annotations in non-deployable EJB3 JARs.
-      
-      Default for this value is "false".
-      
-      -->
-      <property name="deploymentDescriptorRequired">false</property>
-      
-      <property name="ignoredJarsSet">
-         <set elementClass="java.lang.String">
-            <value>snmp-adaptor.jar</value>
-            <value>otherimages.jar</value>
-            <value>applet.jar</value>
-            <value>jcommon.jar</value>
-            <value>console-mgr-classes.jar</value>
-            <value>jfreechart.jar</value>
-            <value>juddi-service.jar</value>
-            <value>wsdl4j.jar</value>
-            <value>commons-collections.jar</value>
-            <value>commons-pool.jar</value>
-            <value>juddi.jar</value>
-            <value>commons-discovery.jar</value>
-            <value>uddi4j.jar</value>
-            <value>axis.jar</value>
-            <value>commons-dbcp.jar</value>
-            <value>jboss-juddiaxis.jar</value>
-            <value>trove.jar</value>
-            <value>javassist.jar</value>
-            <value>jboss-aop-jdk50.jar</value>
-            <value>jboss-aspect-library-jdk50.jar</value>
-            <value>ejb3-persistence.jar</value>
-            <value>commons-validator-1.1.3.jar</value>
-            <value>commons-collections.jar</value>
-            <value>commons-fileupload.jar</value>
-            <value>commons-pool.jar</value>
-            <value>hibernate-entitymanager.jar</value>
-            <value>jboss-ejb3x.jar</value>
-            <value>commons-digester-1.6.jar</value>
-            <value>cglib-2.1.1.jar</value>
-            <value>commons-discovery.jar</value>
-            <value>jboss-annotations-ejb3.jar</value>
-            <value>jaxen-1.1-beta-4.jar</value>
-            <value>hibernate-annotations.jar</value>
-            <value>commons-httpclient.jar</value>
-            <value>commons-logging.jar</value>
-            <value>commons-vfs.jar</value>
-            <value>hibernate3.jar</value>
-            <value>commons-logging-api.jar</value>
-            <value>asm.jar</value>
-            <value>asm-attrs.jar</value>
-            <value>commons-lang-2.0.jar</value>
-            <value>commons-beanutils.jar</value>
-            <value>jboss-ejb3.jar</value>
-            <value>dom4j.jar</value>
-            <value>commons-codec-1.2.jar</value>
-            <value>wsdl4j.jar</value>
-            <value>xmlsec.jar</value>
-            <value>jbossws.jar</value>
-            <value>jboss-bean-deployer.jar</value>
-            <value>jboss-microcontainer.jar</value>
-            <value>jboss-dependency.jar</value>
-            <value>jboss-container.jar</value>
-            <value>tomcat-coyote.jar</value>
-            <value>commons-collections.jar</value>
-            <value>myfaces.jar</value>
-            <value>jstl.jar</value>
-            <value>commons-digester-1.6.jar</value>
-            <value>myfaces-impl.jar</value>
-            <value>commons-beanutils.jar</value>
-            <value>myfaces-jsf-api.jar</value>
-            <value>commons-codec-1.2.jar</value>
-            <value>catalina-optional.jar</value>
-            <value>tomcat-util.jar</value>
-            <value>jasper-compiler.jar</value>
-            <value>commons-el.jar</value>
-            <value>jasper-compiler-jdt.jar</value>
-            <value>tomcat-http.jar</value>
-            <value>catalina-manager.jar</value>
-            <value>jasper-runtime.jar</value>
-            <value>tomcat55-service.jar</value>
-            <value>servlets-invoker.jar</value>
-            <value>catalina.jar</value>
-            <value>naming-resources.jar</value>
-            <value>servlets-default.jar</value>
-            <value>tomcat-ajp.jar</value>
-            <value>commons-modeler.jar</value>
-            <value>tomcat-apr.jar</value>
-            <value>servlets-webdav.jar</value>
-         </set>
-      </property>
-      <depends>AspectLibrary</depends>
-   </bean>
-   
-   <bean name="AppClientParsingDeployer" class="org.jboss.ejb3.deployers.AppClientParsingDeployer">
-      <!-- TODO: check depends -->
-      <depends>AspectLibrary</depends>
-   </bean>
-   
-   <bean name="JBossClientParsingDeployer" class="org.jboss.ejb3.deployers.JBossClientParsingDeployer">
-      <depends>AppClientParsingDeployer</depends>
-   </bean>
-   <bean name="MergedJBossClientMetaDataDeployer" class="org.jboss.ejb3.deployers.MergedJBossClientMetaDataDeployer">
-      <depends>AppClientParsingDeployer</depends>
-   </bean>
 
-   <bean name="Ejb3ClientDeployer" class="org.jboss.ejb3.deployers.Ejb3ClientDeployer">
-      <install bean="ManagedDeploymentCreator" method="addAttachmentType">
-         <parameter>
-            <value>org.jboss.metadata.client.jboss.JBossClientMetaData</value>
-         </parameter>
-         <parameter>
-            <value>car</value>
-         </parameter>
-      </install>
-      <uninstall bean="ManagedDeploymentCreator" method="removeAttachmentType">
-         <parameter>
-            <value>org.jboss.metadata.client.jboss.JBossClientMetaData</value>
-         </parameter>
-      </uninstall>
-      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
-      <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
-      <!-- TODO: check depends -->
-      <depends>AspectLibrary</depends>
-   </bean>
-   
-   <!-- EJB3 Cache Factory Registry -->
-   <bean name="EJB3CacheFactoryRegistry" class="org.jboss.ejb3.cache.CacheFactoryRegistry">
-      <property name="factories">
-         <!-- Define each of the registered factories -->
-         <map class="java.util.HashMap" keyClass="java.lang.String"
-            valueClass="java.lang.Class">
-            <!-- NoPassivationCache -->
-            <entry>
-               <key>NoPassivationCache</key>
-               <value>org.jboss.ejb3.cache.NoPassivationCacheFactory</value>
-            </entry>
-            <!-- SimpleStatefulCache -->
-            <entry>
-               <key>SimpleStatefulCache</key>
-               <value>org.jboss.ejb3.cache.simple.SimpleStatefulCacheFactory</value>
-            </entry>
-            <!-- StatefulTreeCache -->
-            <entry>
-               <key>StatefulTreeCache</key>
-               <value>org.jboss.ejb3.cache.tree.StatefulTreeCacheFactory</value>
-            </entry>
-         </map>
-      </property>
-   </bean>
-   
-   <!-- EJB3 Pool Factory Registry -->
-   <bean name="EJB3PoolFactoryRegistry" class="org.jboss.ejb3.pool.PoolFactoryRegistry">
-      <property name="factories">
-         <!-- Define each of the registered factories -->
-         <map class="java.util.HashMap" keyClass="java.lang.String"
-            valueClass="java.lang.Class">
-            <!-- ThreadlocalPool -->
-            <entry>
-               <key>ThreadlocalPool</key>
-               <value>org.jboss.ejb3.pool.ThreadlocalPoolFactory</value>
-            </entry>
-            <!-- StrictMaxPool -->
-            <entry>
-               <key>StrictMaxPool</key>
-               <value>org.jboss.ejb3.pool.StrictMaxPoolFactory</value>
-            </entry>
-         </map>
-      </property>
-   </bean>
-   
-   <!-- EJB3 Persistence Manager Factory Registry -->
-   <bean name="EJB3PersistenceManagerFactoryRegistry" class="org.jboss.ejb3.cache.persistence.PersistenceManagerFactoryRegistry">
-      <property name="factories">
-         <!-- Define each of the registered factories -->
-         <map class="java.util.HashMap" keyClass="java.lang.String"
-            valueClass="java.lang.Class">
-            <!-- StatefulSessionFilePersistenceManager -->
-            <entry>
-               <key>StatefulSessionFilePersistenceManager</key>
-               <value>org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManagerFactory</value>
-            </entry>
-         </map>
-      </property>
-   </bean>
-   
    <bean name="JNDIKernelRegistryPlugin" class="org.jboss.ejb3.kernel.JNDIKernelRegistryPlugin"/>
-   
-   <!-- Persistence Unit deployers -->
-   <bean name="PersistenceUnitParsingDeployer" class="org.jboss.ejb3.deployers.PersistenceUnitParsingDeployer">
-      <install bean="ManagedDeploymentCreator" method="addAttachmentType">
-         <parameter>
-            <value>org.jboss.metadata.jpa.spec.PersistenceMetaData</value>
-         </parameter>
-         <parameter>
-            <value>par</value>
-         </parameter>
-      </install>
-      <uninstall bean="ManagedDeploymentCreator" method="removeAttachmentType">
-         <parameter>
-            <value>org.jboss.metadata.jpa.spec.PersistenceMetaData</value>
-         </parameter>
-      </uninstall>
-   </bean>
-
+
    <!-- 
     
     JNDI Registrars

Copied: projects/ejb3/branches/vfs3-int/deployers/src/main/java/org/jboss/ejb3/deployers/EJBsDeployer.java (from rev 99346, projects/ejb3/trunk/deployers/src/main/java/org/jboss/ejb3/deployers/EJBsDeployer.java)
===================================================================
--- projects/ejb3/branches/vfs3-int/deployers/src/main/java/org/jboss/ejb3/deployers/EJBsDeployer.java	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/deployers/src/main/java/org/jboss/ejb3/deployers/EJBsDeployer.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,135 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ejb3.deployers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.helpers.AbstractComponentDeployer;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeploymentVisitor;
+import org.jboss.deployers.spi.deployer.helpers.DeploymentVisitor;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.common.deployers.spi.AttachmentNames;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+
+/**
+ * Create components out of EJB 3 JBossMetaData.
+ * 
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class EJBsDeployer extends AbstractComponentDeployer<JBossMetaData, JBossEnterpriseBeanMetaData>
+{
+   private static final Logger log = Logger.getLogger(EJBsDeployer.class);
+   
+   private static final JBossDeploymentVisitor deploymentVisitor = new JBossDeploymentVisitor();
+   
+   /**
+    * 
+    */
+   public EJBsDeployer()
+   {
+      // Since we don't set component visitor
+      addInput(deploymentVisitor.getVisitorType());
+      setOutput(deploymentVisitor.getComponentType());
+      
+      // for ordering
+      addInput(AttachmentNames.PROCESSED_METADATA);
+      
+      setDeploymentVisitor(deploymentVisitor);
+   }
+   
+   private static class JBossDeploymentVisitor extends AbstractDeploymentVisitor<JBossEnterpriseBeanMetaData, JBossMetaData>
+   {
+      @Override
+      public Class<JBossEnterpriseBeanMetaData> getComponentType()
+      {
+         return JBossEnterpriseBeanMetaData.class;
+      }
+
+      @Override
+      protected List<? extends JBossEnterpriseBeanMetaData> getComponents(JBossMetaData deployment)
+      {
+         return new ArrayList<JBossEnterpriseBeanMetaData>(deployment.getEnterpriseBeans());
+      }
+
+      @Override
+      protected String getComponentName(JBossEnterpriseBeanMetaData attachment)
+      {
+         return JBossEnterpriseBeanMetaData.class.getName() + "." + attachment.getEjbName();
+      }
+
+      public Class<JBossMetaData> getVisitorType()
+      {
+         return JBossMetaData.class;
+      }
+   }
+   
+   @Override
+   protected <U> void deploy(DeploymentUnit unit, DeploymentVisitor<U> visitor) throws DeploymentException
+   {
+      // I only want a single attachment deployed
+      
+      U deployment = unit.getAttachment(visitor.getVisitorType());
+      try
+      {
+         visitor.deploy(unit, deployment);
+      }
+      catch(Throwable t)
+      {
+         throw DeploymentException.rethrowAsDeploymentException("Error deploying: " + unit.getName(), t);
+      }
+   }
+   
+   @Override
+   public void internalDeploy(DeploymentUnit unit) throws DeploymentException
+   {
+      if(!isValid(unit))
+         return;
+      
+      log.debug("Processing " + unit);
+      
+      super.internalDeploy(unit);
+   }
+   
+   @Override
+   public void internalUndeploy(DeploymentUnit unit)
+   {
+      // if we don't check then undeploy will be done for stuff that was never deployed.
+      if(!isValid(unit))
+         return;
+      
+      super.internalUndeploy(unit);
+   }
+   
+   protected boolean isValid(DeploymentUnit unit)
+   {
+      // for good measure, we only do this for EJB 3 deployments
+      JBossMetaData md = unit.getAttachment(JBossMetaData.class);
+      if(md == null || !md.isEJB3x())
+         return false;
+      return true;
+   }
+}

Modified: projects/ejb3/branches/vfs3-int/deployers/src/main/java/org/jboss/ejb3/deployers/EjbMetadataJndiPolicyDecoratorDeployer.java
===================================================================
--- projects/ejb3/branches/vfs3-int/deployers/src/main/java/org/jboss/ejb3/deployers/EjbMetadataJndiPolicyDecoratorDeployer.java	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/deployers/src/main/java/org/jboss/ejb3/deployers/EjbMetadataJndiPolicyDecoratorDeployer.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -38,7 +38,10 @@
  *
  * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
  * @version $Revision: $
+ * @deprecated Since 1.1.0 of ejb3-deployers. Decoration of {@link JBossMetaData} is deprecated.
+ *              Use jndi name resolvers instead.
  */
+ at Deprecated
 public class EjbMetadataJndiPolicyDecoratorDeployer extends AbstractDeployer
 {
 

Copied: projects/ejb3/branches/vfs3-int/deployers/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml (from rev 99346, projects/ejb3/trunk/deployers/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml)
===================================================================
--- projects/ejb3/branches/vfs3-int/deployers/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/deployers/src/main/resources/META-INF/ejb3-deployers-jboss-beans.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+    <!--  We don't want the AOPDependencyBuilder  -->
+    <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
+    
+    <!-- EJB3 ProcessorChain Deployer -->
+    <bean name="Ejb3MetadataProcessingDeployer"    class="org.jboss.ejb3.deployers.Ejb3MetadataProcessingDeployer">
+        <!-- Allow for addition/removal of processor factories -->
+        <incallback method="addProcessorFactory"/>
+        <uncallback method="removeProcessorFactory" />
+        
+        <!-- A validator chain for validating the processed metadata -->
+        <property name="validatorChain"><inject bean="EJBMetadataValidatorChain"/></property>
+    </bean>
+    
+    <!-- Validator chain for validating EJB3 metadata (right now uses default validators which
+    are not configured here -->
+    <bean name="EJBMetadataValidatorChain" class="org.jboss.metadata.validation.chain.ejb.jboss.JBossMetaDataValidatorChain"/>
+    
+    <!--  EJBsDeployer -->
+    <bean name="EJBsDeployer" class="org.jboss.ejb3.deployers.EJBsDeployer"/>
+    
+    <!-- Processor factory for setting the implicit default business local interface(JBMETA-122) -->
+    <bean name="SetDefaultLocalBusinessInterfaceProcessorFactory" 
+    class="org.jboss.ejb3.deployers.metadata.processor.SetDefaultLocalBusinessInterfaceProcessorFactory"/>
+
+    <!-- Processor factory for setting default ClusterConfig (JBMETA-133, EJBTHREE-1539)-->
+    <bean name="ClusterConfigDefaultValueProcessorFactory" 
+    class="org.jboss.ejb3.deployers.metadata.processor.ClusterConfigDefaultValueProcessorFactory"/>
+    
+    <!-- Processor factory for setting  explicit local JNDI name from @LocalBinding.jndiBinding (JBMETA-143) -->
+    <bean name="SetExplicitLocalJNDINameProcessorFactory" 
+    class="org.jboss.ejb3.deployers.metadata.processor.SetExplicitLocalJNDINameProcessorFactory"/>
+    
+</deployment>
\ No newline at end of file

Deleted: projects/ejb3/branches/vfs3-int/deployers/src/main/resources/META-INF/jboss-beans.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/deployers/src/main/resources/META-INF/jboss-beans.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/deployers/src/main/resources/META-INF/jboss-beans.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
-    <!--  We don't want the AOPDependencyBuilder  -->
-    <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
-    
-    <!-- EJB3 ProcessorChain Deployer -->
-    <bean name="Ejb3MetadataProcessingDeployer"    class="org.jboss.ejb3.deployers.Ejb3MetadataProcessingDeployer">
-        <!-- Allow for addition/removal of processor factories -->
-        <incallback method="addProcessorFactory"/>
-        <uncallback method="removeProcessorFactory"/>
-        
-        <!-- A validator chain for validating the processed metadata -->
-        <property name="validatorChain"><inject bean="EJBMetadataValidatorChain"/></property>
-    </bean>
-    
-    <!-- Validator chain for validating EJB3 metadata (right now uses default validators which
-    are not configured here -->
-    <bean name="EJBMetadataValidatorChain" class="org.jboss.metadata.validation.chain.ejb.jboss.JBossMetaDataValidatorChain"/>
-    
-    <!-- Processor factory for setting the implicit default business local interface(JBMETA-122) -->
-    <bean name="SetDefaultLocalBusinessInterfaceProcessorFactory" 
-    class="org.jboss.ejb3.deployers.metadata.processor.SetDefaultLocalBusinessInterfaceProcessorFactory"/>
-
-    <!-- Processor factory for setting default ClusterConfig (JBMETA-133, EJBTHREE-1539)-->
-    <bean name="ClusterConfigDefaultValueProcessorFactory" 
-    class="org.jboss.ejb3.deployers.metadata.processor.ClusterConfigDefaultValueProcessorFactory"/>
-    
-    <!-- Processor factory for setting  explicit local JNDI name from @LocalBinding.jndiBinding (JBMETA-143) -->
-    <bean name="SetExplicitLocalJNDINameProcessorFactory" 
-    class="org.jboss.ejb3.deployers.metadata.processor.SetExplicitLocalJNDINameProcessorFactory"/>
-        
-    <!-- EJB3 JNDI Policy Decorator Deployer -->
-    <bean name="EjbMetadataJndiPolicyDecoratorDeployer" class="org.jboss.ejb3.deployers.EjbMetadataJndiPolicyDecoratorDeployer" />
-    
-</deployment>
\ No newline at end of file

Modified: projects/ejb3/branches/vfs3-int/ejb3_1/pom.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/ejb3_1/pom.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/ejb3_1/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -36,7 +36,7 @@
     
     <version.org.jboss.ejb3_cache>1.0.0</version.org.jboss.ejb3_cache>
     <version.org.jboss.ejb3_common>1.0.1</version.org.jboss.ejb3_common>
-    <version.org.jboss.ejb3_core>1.1.22</version.org.jboss.ejb3_core>
+    <version.org.jboss.ejb3_core>1.1.23-SNAPSHOT</version.org.jboss.ejb3_core>
     <version.org.jboss.ejb3_deployers>1.0.0</version.org.jboss.ejb3_deployers>
     <version.org.jboss.ejb3_endpoint>0.1.0</version.org.jboss.ejb3_endpoint>
     <version.org.jboss.ejb3_ext-api>1.0.0</version.org.jboss.ejb3_ext-api>

Modified: projects/ejb3/branches/vfs3-int/embedded/pom.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/embedded/pom.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/embedded/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.jboss.ejb3</groupId>
     <artifactId>jboss-ejb3-build</artifactId>
-    <version>1.0.2</version>
+    <version>1.0.9-SNAPSHOT</version>
     <relativePath>../build/pom.xml</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -187,9 +187,8 @@
       <version>0.1.1</version>
     </dependency>
     <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-api</artifactId>
-      <version>3.1.0</version>
+      <groupId>org.jboss.javaee</groupId>
+      <artifactId>jboss-ejb-api_3.1</artifactId>
     </dependency>
     <dependency>
       <groupId>org.jboss.ejb3</groupId>
@@ -216,6 +215,10 @@
           <groupId>org.jboss</groupId>
           <artifactId>jboss-vfs</artifactId>
         </exclusion>
+        <exclusion>
+          <groupId>xml-apis</groupId>
+          <artifactId>xml-apis</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
@@ -292,6 +295,13 @@
       <artifactId>junit</artifactId>
       <scope>test</scope>
     </dependency>
+    <!-- Needed for Hibernate -->
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-simple</artifactId>
+      <version>1.5.10</version>
+      <scope>runtime</scope>
+    </dependency>
     
     <!-- For Arjuna / JBoss Transaction -->
     <dependency>

Modified: projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/JBossEJBContainer.java
===================================================================
--- projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/JBossEJBContainer.java	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/JBossEJBContainer.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -29,7 +29,7 @@
 import java.util.List;
 import java.util.Map;
 
-import javax.ejb.EJBContainer;
+import javax.ejb.embeddable.EJBContainer;
 
 import org.jboss.bootstrap.spi.mc.config.MCServerConfig;
 import org.jboss.bootstrap.spi.mc.config.MCServerConfigFactory;
@@ -44,7 +44,6 @@
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.vfs.spi.client.VFSDeployment;
 import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
-import org.jboss.ejb3.api.spi.EJBContainerWrapper;
 import org.jboss.kernel.Kernel;
 import org.jboss.kernel.spi.dependency.KernelController;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
@@ -62,33 +61,36 @@
 
    // stage 0
    private ClassLoader classLoader;
-   
+
    // stage 1
    private MCServer server;
 
    // stage 2
    private Kernel kernel;
+
    private MainDeployer mainDeployer;
 
    public static JBossEJBContainer on(EJBContainer container)
    {
-      if(container == null)
+      if (container == null)
          throw new IllegalArgumentException("container is null");
-      if(container instanceof EJBContainerWrapper)
-         return on(((EJBContainerWrapper) container).getDelegate());
-      if(container instanceof JBossEJBContainer)
+//      if (container instanceof EJBContainerWrapper)
+//         return on(((EJBContainerWrapper) container).getDelegate());
+      if (container instanceof JBossEJBContainer)
          return (JBossEJBContainer) container;
       throw new IllegalArgumentException(container + " is not an instance of JBossEJBContainer");
    }
-   
+
    public JBossEJBContainer(Map<?, ?> properties, String... modules) throws Throwable
    {
       try
       {
-         VirtualFile roots[] = { };
-         classLoader = ClassLoaderSystem.getInstance().registerClassLoaderPolicy(VFSClassLoaderPolicy.createVFSClassLoaderPolicy("preboot-cl", roots));
+         VirtualFile roots[] =
+         {};
+         classLoader = ClassLoaderSystem.getInstance().registerClassLoaderPolicy(
+               VFSClassLoaderPolicy.createVFSClassLoaderPolicy("preboot-cl", roots));
          URL confURL = classLoader.getResource("conf");
-         if(confURL == null)
+         if (confURL == null)
             throw new IllegalStateException("can't find a 'conf' directory on the classpath of " + classLoader);
          MCServerConfig config = MCServerConfigFactory.createServerConfig(classLoader);
          // To Bootstrap the home is where bootstrap.xml lives
@@ -101,16 +103,16 @@
          try
          {
             server.start();
-            
+
             // we're at stage 2
             kernel = server.getKernel();
             mainDeployer = getBean("MainDeployer", ControllerState.INSTALLED, MainDeployer.class);
-   
+
             deployDeployDirectory();
-            
+
             // TODO: I need a cunning plan
             deployMain("ejb3-interceptors-aop.xml");
-   
+
             deployModules(modules);
          }
          finally
@@ -118,7 +120,7 @@
             Thread.currentThread().setContextClassLoader(oldCl);
          }
       }
-      catch(Throwable t)
+      catch (Throwable t)
       {
          close();
          throw t;
@@ -129,32 +131,33 @@
    public void close()
    {
       // TODO: why does this not happen on mainDeployer.stop?
-      if(mainDeployer != null)
+      if (mainDeployer != null)
       {
          mainDeployer.prepareShutdown();
          mainDeployer.shutdown();
          mainDeployer = null;
       }
-      
-      if(server != null)
+
+      if (server != null)
       {
-         within(classLoader, new Runnable() {
+         within(classLoader, new Runnable()
+         {
             public void run()
             {
                try
                {
                   server.shutdown();
                }
-               catch(Exception e)
+               catch (Exception e)
                {
                   log.warn("Failed to shutdown server " + server, e);
                }
             }
          });
       }
-      
+
       kernel = null;
-      
+
       ClassLoaderSystem.getInstance().unregisterClassLoader(classLoader);
    }
 
@@ -165,10 +168,10 @@
       mainDeployer.checkComplete(deployment);
       return deployment;
    }
-   
+
    public void deploy(Deployment... deployments) throws DeploymentException, IOException
    {
-      for(Deployment deployment : deployments)
+      for (Deployment deployment : deployments)
       {
          deploy(deployment);
       }
@@ -184,16 +187,16 @@
    protected void deployDeployDirectory() throws DeploymentException, URISyntaxException
    {
       URL deployDirURL = classLoader.getResource("deploy");
-      if(deployDirURL == null)
+      if (deployDirURL == null)
       {
          // We can function without it, but to what extend?
          log.warn("Can't find a deploy directory resource on class loader " + classLoader);
          return;
       }
-      
+
       List<Deployment> deployments = new ArrayList<Deployment>();
       VirtualFile deployDir = VFS.getChild(deployDirURL);
-      for(VirtualFile child : deployDir.getChildren())
+      for (VirtualFile child : deployDir.getChildren())
       {
          VFSDeployment deployment = VFSDeploymentFactory.getInstance().createVFSDeployment(child);
          log.info("Deploying " + deployment.getName());
@@ -211,10 +214,10 @@
    private void deployModules(String modules[]) throws MalformedURLException, URISyntaxException, DeploymentException
    {
       // TODO: deploy the world!
-      if(modules == null)
+      if (modules == null)
          return;
 
-      for(String module : modules)
+      for (String module : modules)
       {
          deploy(new URL(module));
       }
@@ -245,7 +248,8 @@
     * @throws ClassCastException when the bean can not be cast to the expected type
     * @throws IllegalStateException when the bean does not exist at that state
     */
-   protected <T> T getBean(final Object name, final ControllerState state, final Class<T> expected) throws ClassCastException, IllegalStateException
+   protected <T> T getBean(final Object name, final ControllerState state, final Class<T> expected)
+         throws ClassCastException, IllegalStateException
    {
       if (expected == null)
          throw new IllegalArgumentException("Null expected");
@@ -261,7 +265,8 @@
     * @return the context
     * @throws IllegalStateException when the context does not exist at that state
     */
-   protected KernelControllerContext getControllerContext(final Object name, final ControllerState state) throws IllegalStateException
+   protected KernelControllerContext getControllerContext(final Object name, final ControllerState state)
+         throws IllegalStateException
    {
       KernelController controller = kernel.getController();
       KernelControllerContext context = (KernelControllerContext) controller.getContext(name, state);
@@ -273,7 +278,7 @@
    private URL getResource(String name) throws IllegalArgumentException
    {
       URL url = classLoader.getResource(name);
-      if(url == null)
+      if (url == null)
          throw new IllegalArgumentException("No resource named " + name + " found on " + classLoader);
       return url;
    }
@@ -287,7 +292,8 @@
     * @return the context
     * @throws IllegalStateException when the context does not exist at that state
     */
-   protected KernelControllerContext handleNotFoundContext(Controller controller, Object name, ControllerState state) throws IllegalStateException
+   protected KernelControllerContext handleNotFoundContext(Controller controller, Object name, ControllerState state)
+         throws IllegalStateException
    {
       throw new IllegalStateException("Bean not found " + name + " at state " + state + " in controller " + controller);
    }

Modified: projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/JBossEJBContainerProvider.java
===================================================================
--- projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/JBossEJBContainerProvider.java	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/JBossEJBContainerProvider.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -24,8 +24,8 @@
 import java.util.Collection;
 import java.util.Map;
 
-import javax.ejb.EJBContainer;
 import javax.ejb.EJBException;
+import javax.ejb.embeddable.EJBContainer;
 import javax.ejb.spi.EJBContainerProvider;
 
 
@@ -42,7 +42,7 @@
          String modules[] = null;
          if(properties != null)
          {
-            Object o = properties.get(EJBContainer.EMBEDDABLE_MODULES_PROPERTY);
+            Object o = properties.get(EJBContainer.MODULES);
             if(o != null)
             {
                if(o instanceof String)
@@ -50,7 +50,7 @@
                else if(o instanceof Collection)
                   modules = toStringArray(o);
                else
-                  throw new EJBException("Illegal type of " + EJBContainer.EMBEDDABLE_MODULES_PROPERTY + " (" + o.getClass().getName() + ") (EJB 3.1 22.2.2.2)");
+                  throw new EJBException("Illegal type of " + EJBContainer.MODULES + " (" + o.getClass().getName() + ") (EJB 3.1 22.2.2.2)");
             }
          }
          return new JBossEJBContainer(properties, modules);

Copied: projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/timerservice (from rev 99346, projects/ejb3/trunk/embedded/src/main/java/org/jboss/ejb3/embedded/timerservice)

Deleted: projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/timerservice/MockTimerService.java
===================================================================
--- projects/ejb3/trunk/embedded/src/main/java/org/jboss/ejb3/embedded/timerservice/MockTimerService.java	2010-01-13 16:44:19 UTC (rev 99346)
+++ projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/timerservice/MockTimerService.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -1,66 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2009, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
-  *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ejb3.embedded.timerservice;
-
-import javax.ejb.TimerService;
-
-import org.jboss.ejb3.timerservice.spi.TimedObjectInvoker;
-import org.jboss.ejb3.timerservice.spi.TimerServiceFactory;
-
-/**
- * Used to fulfill autowiring dependencies present in ejb3-core
- * strictly within the context of EJB3 Embeddded.  Should be replaced 
- * with a working implementation should the need become available. 
- *
- * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
- * @version $Revision: $
- */
- at Deprecated
-public class MockTimerService implements TimerServiceFactory
-{
-
-   /**
-    * @see org.jboss.ejb3.timerservice.spi.TimerServiceFactory#createTimerService(org.jboss.ejb3.timerservice.spi.TimedObjectInvoker)
-    */
-   @Override
-   public TimerService createTimerService(final TimedObjectInvoker arg0)
-   {
-      return null;
-   }
-
-   /**
-    * @see org.jboss.ejb3.timerservice.spi.TimerServiceFactory#restoreTimerService(javax.ejb.TimerService)
-    */
-   @Override
-   public void restoreTimerService(final TimerService arg0)
-   {
-   }
-
-   /**
-    * @see org.jboss.ejb3.timerservice.spi.TimerServiceFactory#suspendTimerService(javax.ejb.TimerService)
-    */
-   @Override
-   public void suspendTimerService(final TimerService arg0)
-   {
-   }
-
-}

Copied: projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/timerservice/MockTimerService.java (from rev 99346, projects/ejb3/trunk/embedded/src/main/java/org/jboss/ejb3/embedded/timerservice/MockTimerService.java)
===================================================================
--- projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/timerservice/MockTimerService.java	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/embedded/src/main/java/org/jboss/ejb3/embedded/timerservice/MockTimerService.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+  *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ejb3.embedded.timerservice;
+
+import javax.ejb.TimerService;
+
+import org.jboss.ejb3.timerservice.spi.TimedObjectInvoker;
+import org.jboss.ejb3.timerservice.spi.TimerServiceFactory;
+
+/**
+ * Used to fulfill autowiring dependencies present in ejb3-core
+ * strictly within the context of EJB3 Embeddded.  Should be replaced 
+ * with a working implementation should the need become available. 
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+ at Deprecated
+public class MockTimerService implements TimerServiceFactory
+{
+
+   /**
+    * @see org.jboss.ejb3.timerservice.spi.TimerServiceFactory#createTimerService(org.jboss.ejb3.timerservice.spi.TimedObjectInvoker)
+    */
+   @Override
+   public TimerService createTimerService(final TimedObjectInvoker arg0)
+   {
+      return null;
+   }
+
+   /**
+    * @see org.jboss.ejb3.timerservice.spi.TimerServiceFactory#restoreTimerService(javax.ejb.TimerService)
+    */
+   @Override
+   public void restoreTimerService(final TimerService arg0)
+   {
+   }
+
+   /**
+    * @see org.jboss.ejb3.timerservice.spi.TimerServiceFactory#suspendTimerService(javax.ejb.TimerService)
+    */
+   @Override
+   public void suspendTimerService(final TimerService arg0)
+   {
+   }
+
+}

Modified: projects/ejb3/branches/vfs3-int/embedded/src/main/resources/deploy/ejb-deployers-beans.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/embedded/src/main/resources/deploy/ejb-deployers-beans.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/embedded/src/main/resources/deploy/ejb-deployers-beans.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -133,23 +133,27 @@
 
    <!-- SFSB JNDI Registrar -->
    <bean name="org.jboss.ejb3.JndiRegistrar.Session.SFSBJndiRegistrar"
-      class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatefulSessionRegistrar">
+      class="org.jboss.ejb3.proxy.impl.jndiregistrar.JndiStatefulSessionRegistrar">
       <constructor>
          <parameter>
-            org.jboss.ejb3.proxy.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
+            org.jboss.ejb3.proxy.impl.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
          </parameter>
       </constructor>
    </bean>
 
    <!-- SLSB JNDI Registrar -->
    <bean name="org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar"
-      class="org.jboss.ejb3.proxy.jndiregistrar.JndiStatelessSessionRegistrar">
+      class="org.jboss.ejb3.proxy.impl.jndiregistrar.JndiStatelessSessionRegistrar">
       <constructor>
          <parameter>
-            org.jboss.ejb3.proxy.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
+            org.jboss.ejb3.proxy.impl.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
          </parameter>
       </constructor>
    </bean>
+  
+    <!-- EJB Reference Resolver -->
+    <bean name="org.jboss.ejb3.EjbReferenceResolver"
+      class="org.jboss.ejb3.core.resolvers.ScopedEJBReferenceResolver" />
 
    <!-- We could have directly used the org.jboss.ejb3.Ejb3Registry as a MC bean
         and added the "register" and "unregister" methods as callbacks, but since
@@ -165,4 +169,9 @@
       <uncallback method="removeContainer"/>
     </bean>
 
+  
+    <!-- Timer Service Factory -->
+    <bean name="org.jboss.ejb3.TimerServiceFactory"
+      class="org.jboss.ejb3.embedded.timerservice.MockTimerService" />
+
 </deployment>
\ No newline at end of file

Modified: projects/ejb3/branches/vfs3-int/embedded/src/test/java/org/jboss/ejb3/embedded/test/common/AbstractEmbeddedTestCase.java
===================================================================
--- projects/ejb3/branches/vfs3-int/embedded/src/test/java/org/jboss/ejb3/embedded/test/common/AbstractEmbeddedTestCase.java	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/embedded/src/test/java/org/jboss/ejb3/embedded/test/common/AbstractEmbeddedTestCase.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -30,10 +30,10 @@
 import java.lang.reflect.Field;
 import java.util.Properties;
 
-import javax.ejb.EJBContainer;
+import javax.ejb.embeddable.EJBContainer;
 
 import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.ejb3.proxy.remoting.ProxyRemotingUtils;
+import org.jboss.ejb3.proxy.impl.remoting.ProxyRemotingUtils;
 import org.jboss.metadata.rar.jboss.mcf.NonXADataSourceDeploymentMetaData;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;

Modified: projects/ejb3/branches/vfs3-int/embedded/src/test/java/org/jboss/ejb3/embedded/test/jpa/unit/PhoneBookTestCase.java
===================================================================
--- projects/ejb3/branches/vfs3-int/embedded/src/test/java/org/jboss/ejb3/embedded/test/jpa/unit/PhoneBookTestCase.java	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/embedded/src/test/java/org/jboss/ejb3/embedded/test/jpa/unit/PhoneBookTestCase.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -32,7 +32,7 @@
 import java.io.IOException;
 import java.util.Properties;
 
-import javax.ejb.EJBContainer;
+import javax.ejb.embeddable.EJBContainer;
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
 

Modified: projects/ejb3/branches/vfs3-int/endpoint-deployer/pom.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/endpoint-deployer/pom.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/endpoint-deployer/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -150,7 +150,7 @@
     <dependency>
       <groupId>org.jboss.ejb3</groupId>
       <artifactId>jboss-ejb3-embedded</artifactId>
-      <version>1.0.0-Alpha-2</version>
+      <version>1.0.0-SNAPSHOT</version>
       <scope>test</scope>
       <exclusions>
         <!-- comes in through org.jboss.aop:jboss-aop-asintegration-core -->

Modified: projects/ejb3/branches/vfs3-int/jpa-int/pom.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/jpa-int/pom.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/jpa-int/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -6,7 +6,8 @@
   <parent>
     <groupId>org.jboss.ejb3</groupId>
     <artifactId>jboss-ejb3-build</artifactId>
-    <version>1.0.8-SNAPSHOT</version>
+    <version>1.0.8</version>
+    <relativePath>../build/pom.xml</relativePath>
   </parent>
 
   <modelVersion>4.0.0</modelVersion>

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers (from rev 99346, projects/ejb3/trunk/metadata-deployers)

Deleted: projects/ejb3/branches/vfs3-int/metadata-deployers/pom.xml
===================================================================
--- projects/ejb3/trunk/metadata-deployers/pom.xml	2010-01-13 16:44:19 UTC (rev 99346)
+++ projects/ejb3/branches/vfs3-int/metadata-deployers/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -1,162 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <!-- Parent -->
-  <parent>
-    <groupId>org.jboss.ejb3</groupId>
-    <artifactId>jboss-ejb3-build</artifactId>
-    <version>1.0.9-SNAPSHOT</version>
-    <relativePath>../build/pom.xml</relativePath>
-  </parent>
-
-  <!-- POM Model Version -->
-  <modelVersion>4.0.0</modelVersion>
-
-  <!-- Artifact Information -->
-  <artifactId>jboss-ejb3-metadata-deployers</artifactId>
-  <packaging>jar</packaging>
-  <version>1.0.0-SNAPSHOT</version>
-  <name>JBoss EJB3 Metadata deployers</name>
-  <url>http://labs.jboss.com/jbossejb3</url>
-  <description>Virtual deployment framework based JBossMetaData (JBMETA 2.x) deployers</description>
-
-  <properties>
-      <version.org.jboss.deployers>2.0.8.GA</version.org.jboss.deployers>
-      <version.org.jboss.ejb3_deployers>1.1.0-SNAPSHOT</version.org.jboss.ejb3_deployers>
-      <version.org.jboss.microcontainer>2.0.8.GA</version.org.jboss.microcontainer>
-      <version.org.jboss_jbossxb>2.0.1.GA</version.org.jboss_jbossxb>
-      <version.metadata_ejb>2.0.0-SNAPSHOT</version.metadata_ejb>
-  </properties>
-
- <build>
- 
-
-   <plugins>
-        <!-- Enforce JDK6 -->
-	<plugin>
-		<artifactId>maven-enforcer-plugin</artifactId>
-		<executions>
-			<!--  Enforce JDK6 -->
-			<execution>
-				<id>enforce-jdk6</id>
-				<goals>
-					<goal>enforce</goal>
-				</goals>
-				<configuration>
-					<rules>
-						<requireJavaVersion>
-							<version>1.6</version>
-						</requireJavaVersion>
-					</rules>
-				</configuration>
-			</execution>
-		</executions>
-        </plugin>
-
-        <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <forkMode>once</forkMode>
-              <jvm>${JAVA_HOME}/bin/java</jvm>
-                <argLine>-Dxb.builder.useUnorderedSequence=true</argLine>
-            </configuration>
-        </plugin>
-
-
-        <plugin>
-            <artifactId>maven-compiler-plugin</artifactId>
-            <configuration>
-              <source>1.6</source>
-              <target>1.6</target>
-              <executable>${JAVA_HOME}/bin/javac</executable>
-            </configuration>
-        </plugin>
-
-    </plugins>
-
-  </build>
-
-
- <!-- Dependencies -->
-  <dependencies>
-
-    <!-- JUnit support -->
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-
-
-  <!-- JBoss logging -->
-   <dependency>
-        <groupId>org.jboss.logging</groupId>
-        <artifactId>jboss-logging-spi</artifactId>
-    </dependency>
-
-   <!--  JBoss Metadata -->
-   <dependency>
-      <groupId>org.jboss.metadata</groupId>
-      <artifactId>jboss-metadata-ejb</artifactId>
-      <version>${version.metadata_ejb}</version>
-      <exclusions>
-        <exclusion>
-            <groupId>org.jboss</groupId>
-            <artifactId>jbossxb</artifactId>
-        </exclusion>
-        <exclusion>
-            <groupId>org.jboss</groupId>
-            <artifactId>jboss-mdr</artifactId>
-        </exclusion>
-        <exclusion>
-            <groupId>org.jboss</groupId>
-            <artifactId>jboss-reflect</artifactId>
-        </exclusion>
-        <exclusion>
-            <groupId>org.jboss</groupId>
-            <artifactId>jboss-vfs</artifactId>
-        </exclusion>
-
-      </exclusions>
-    </dependency>
-    
-    <!-- JBoss deployers -->
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-core-spi</artifactId>
-      <version>${version.org.jboss.deployers}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-impl</artifactId>
-      <version>${version.org.jboss.deployers}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-vfs</artifactId>
-      <version>${version.org.jboss.deployers}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.deployers</groupId>
-      <artifactId>jboss-deployers-structure-spi</artifactId>
-      <version>${version.org.jboss.deployers}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-deployers</artifactId>
-      <version>${version.org.jboss.ejb3_deployers}</version>
-      <exclusions>
-        <exclusion>
-            <groupId>org.jboss.metadata</groupId>
-            <artifactId>jboss-metadata</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    </dependencies>
-    
-</project>

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/pom.xml (from rev 99346, projects/ejb3/trunk/metadata-deployers/pom.xml)
===================================================================
--- projects/ejb3/branches/vfs3-int/metadata-deployers/pom.xml	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/metadata-deployers/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,162 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <!-- Parent -->
+  <parent>
+    <groupId>org.jboss.ejb3</groupId>
+    <artifactId>jboss-ejb3-build</artifactId>
+    <version>1.0.9-SNAPSHOT</version>
+    <relativePath>../build/pom.xml</relativePath>
+  </parent>
+
+  <!-- POM Model Version -->
+  <modelVersion>4.0.0</modelVersion>
+
+  <!-- Artifact Information -->
+  <artifactId>jboss-ejb3-metadata-deployers</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0.0-SNAPSHOT</version>
+  <name>JBoss EJB3 Metadata deployers</name>
+  <url>http://labs.jboss.com/jbossejb3</url>
+  <description>Virtual deployment framework based JBossMetaData (JBMETA 2.x) deployers</description>
+
+  <properties>
+      <version.org.jboss.deployers>2.0.8.GA</version.org.jboss.deployers>
+      <version.org.jboss.ejb3_deployers>1.1.0-SNAPSHOT</version.org.jboss.ejb3_deployers>
+      <version.org.jboss.microcontainer>2.0.8.GA</version.org.jboss.microcontainer>
+      <version.org.jboss_jbossxb>2.0.1.GA</version.org.jboss_jbossxb>
+      <version.metadata_ejb>2.0.0-SNAPSHOT</version.metadata_ejb>
+  </properties>
+
+ <build>
+ 
+
+   <plugins>
+        <!-- Enforce JDK6 -->
+	<plugin>
+		<artifactId>maven-enforcer-plugin</artifactId>
+		<executions>
+			<!--  Enforce JDK6 -->
+			<execution>
+				<id>enforce-jdk6</id>
+				<goals>
+					<goal>enforce</goal>
+				</goals>
+				<configuration>
+					<rules>
+						<requireJavaVersion>
+							<version>1.6</version>
+						</requireJavaVersion>
+					</rules>
+				</configuration>
+			</execution>
+		</executions>
+        </plugin>
+
+        <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <configuration>
+              <forkMode>once</forkMode>
+              <jvm>${JAVA_HOME}/bin/java</jvm>
+                <argLine>-Dxb.builder.useUnorderedSequence=true</argLine>
+            </configuration>
+        </plugin>
+
+
+        <plugin>
+            <artifactId>maven-compiler-plugin</artifactId>
+            <configuration>
+              <source>1.6</source>
+              <target>1.6</target>
+              <executable>${JAVA_HOME}/bin/javac</executable>
+            </configuration>
+        </plugin>
+
+    </plugins>
+
+  </build>
+
+
+ <!-- Dependencies -->
+  <dependencies>
+
+    <!-- JUnit support -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+
+
+
+  <!-- JBoss logging -->
+   <dependency>
+        <groupId>org.jboss.logging</groupId>
+        <artifactId>jboss-logging-spi</artifactId>
+    </dependency>
+
+   <!--  JBoss Metadata -->
+   <dependency>
+      <groupId>org.jboss.metadata</groupId>
+      <artifactId>jboss-metadata-ejb</artifactId>
+      <version>${version.metadata_ejb}</version>
+      <exclusions>
+        <exclusion>
+            <groupId>org.jboss</groupId>
+            <artifactId>jbossxb</artifactId>
+        </exclusion>
+        <exclusion>
+            <groupId>org.jboss</groupId>
+            <artifactId>jboss-mdr</artifactId>
+        </exclusion>
+        <exclusion>
+            <groupId>org.jboss</groupId>
+            <artifactId>jboss-reflect</artifactId>
+        </exclusion>
+        <exclusion>
+            <groupId>org.jboss</groupId>
+            <artifactId>jboss-vfs</artifactId>
+        </exclusion>
+
+      </exclusions>
+    </dependency>
+    
+    <!-- JBoss deployers -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-core-spi</artifactId>
+      <version>${version.org.jboss.deployers}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-impl</artifactId>
+      <version>${version.org.jboss.deployers}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-vfs</artifactId>
+      <version>${version.org.jboss.deployers}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-structure-spi</artifactId>
+      <version>${version.org.jboss.deployers}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-deployers</artifactId>
+      <version>${version.org.jboss.ejb3_deployers}</version>
+      <exclusions>
+        <exclusion>
+            <groupId>org.jboss.metadata</groupId>
+            <artifactId>jboss-metadata</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    </dependencies>
+    
+</project>

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src (from rev 99346, projects/ejb3/trunk/metadata-deployers/src)

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/main)

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/main/java)

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/main/java/org)

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/main/java/org/jboss)

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3 (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/main/java/org/jboss/ejb3)

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/main/java/org/jboss/ejb3/metadata)

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers)

Deleted: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers/JBossMetaDataResolvedJNDINameDeployer.java
===================================================================
--- projects/ejb3/trunk/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers/JBossMetaDataResolvedJNDINameDeployer.java	2010-01-13 16:44:19 UTC (rev 99346)
+++ projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers/JBossMetaDataResolvedJNDINameDeployer.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -1,155 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ejb3.metadata.deployers;
-
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.ejb3.deployers.Ejb3MetadataProcessingDeployer;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
-import org.jboss.metadata.ejb.jboss.jndi.resolver.impl.JNDIPolicyBasedJNDINameResolverFactory;
-import org.jboss.metadata.ejb.jboss.jndi.resolver.spi.SessionBeanJNDINameResolver;
-import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.DefaultJNDIBindingPolicyFactory;
-import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
-
-/**
- * JBossMetaDataResolvedJNDINameDeployer
- * 
- * Responsible for setting the resolved JNDI names on the metadata, so 
- * that the code relying on calls like metadata.getJNDIName will 
- * get the resolved jndi name.
- * 
- * Note that this deployer is here to provide backward compatibility
- * and any new code which expects resolved JNDI names, is expected
- * to use the JNDI name resolvers (ex: an implementation of {@link SessionBeanJNDINameResolver})  
- *
- * Calls to 
- * <ul>
- *  <li>{@link JBossSessionBeanMetaData#getJndiName()}</li>
- *  <li>{@link JBossSessionBeanMetaData#getLocalJndiName()} </li>
- *  <li> {@link JBossSessionBeanMetaData#getLocalHomeJndiName()} </li>
- *  <li> {@link JBossSessionBeanMetaData#getHomeJndiName()} </li>
- * </ul>
- * will return the corresponding resolved jndi names, after this deployer processes the metadata 
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
-public class JBossMetaDataResolvedJNDINameDeployer extends AbstractDeployer
-{
-
-   /**
-    * Logger
-    */
-   private static final Logger logger = Logger.getLogger(JBossMetaDataResolvedJNDINameDeployer.class);
-
-   /**
-    * Deployer Output flag signaling that this deployer has been run
-    */
-   public static final String OUTPUT = JBossMetaDataResolvedJNDINameDeployer.class.getSimpleName();
-
-   /**
-    * Constructor; sets deployment stage and requisite input/output chain
-    */
-   public JBossMetaDataResolvedJNDINameDeployer()
-   {
-      // Set the Stage to post-CL
-      this.setStage(DeploymentStages.PRE_REAL);
-
-      // Input is the JBossMetaData post-merge
-      this.addInput(Ejb3MetadataProcessingDeployer.OUTPUT);
-
-      // Output is a flag upon which other deployers may rely
-      this.addOutput(OUTPUT);
-   }
-
-   /**
-    * @see org.jboss.deployers.spi.deployer.Deployer#deploy(org.jboss.deployers.structure.spi.DeploymentUnit)
-    */
-   public void deploy(DeploymentUnit du) throws DeploymentException
-   {
-      // Obtain the Merged Metadata
-      JBossMetaData md = du.getAttachment(Ejb3MetadataProcessingDeployer.OUTPUT, JBossMetaData.class);
-
-      // If metadata's not present as an attachment, return
-      if (md == null)
-      {
-         return;
-      }
-
-      // If this is not an EJB3 Deployment, return
-      if (!md.isEJB3x())
-      {
-         return;
-      }
-
-      // Decorate
-      logger.debug("Decorating EJB3 beans in unit " + du + " with JNDI Policy");
-      JBossEnterpriseBeansMetaData beans = md.getEnterpriseBeans();
-      if (beans == null)
-      {
-         return;
-      }
-      DefaultJndiBindingPolicy jndiBindingPolicy = DefaultJNDIBindingPolicyFactory.getDefaultJNDIBindingPolicy();
-      for (JBossEnterpriseBeanMetaData bean : beans)
-      {
-         // let's only do this for SLSB, SFSB and @Service
-         // Ignore Entity beans or MDB
-         if (bean.isSession() || bean.isService())
-         {
-            JBossSessionBeanMetaData sessionBean = (JBossSessionBeanMetaData) bean;
-            SessionBeanJNDINameResolver sessionBeanJNDINameResolver = JNDIPolicyBasedJNDINameResolverFactory.getJNDINameResolver(sessionBean, jndiBindingPolicy);
-            // set jndi-name (default remote business jndi-name)
-            String defaultBusinessRemoteJNDIName = sessionBeanJNDINameResolver.resolveRemoteBusinessDefaultJNDIName(sessionBean);
-            if (defaultBusinessRemoteJNDIName != null)
-            {
-               sessionBean.setJndiName(defaultBusinessRemoteJNDIName);
-            }
-            // set local-jndi-name
-            String defaultBusinessLocalJNDIName = sessionBeanJNDINameResolver.resolveLocalBusinessDefaultJNDIName(sessionBean);
-            if (defaultBusinessLocalJNDIName != null)
-            {
-               sessionBean.setLocalJndiName(defaultBusinessLocalJNDIName);
-            }
-            // set local-home-jndi-name
-            String localHomeJNDIName = sessionBeanJNDINameResolver.resolveLocalHomeJNDIName(sessionBean);
-            if (localHomeJNDIName != null)
-            {
-               sessionBean.setLocalHomeJndiName(localHomeJNDIName);
-            }
-            // set remote-home-jndi-name
-            String remoteHomeJNDIName = sessionBeanJNDINameResolver.resolveRemoteHomeJNDIName(sessionBean);
-            if (remoteHomeJNDIName != null)
-            {
-               sessionBean.setHomeJndiName(remoteHomeJNDIName);
-            }
-         }
-      }
-      // Output
-      du.addAttachment(OUTPUT, true, Boolean.class);
-   }
-}

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers/JBossMetaDataResolvedJNDINameDeployer.java (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers/JBossMetaDataResolvedJNDINameDeployer.java)
===================================================================
--- projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers/JBossMetaDataResolvedJNDINameDeployer.java	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/java/org/jboss/ejb3/metadata/deployers/JBossMetaDataResolvedJNDINameDeployer.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,155 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.metadata.deployers;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.deployers.Ejb3MetadataProcessingDeployer;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.jndi.resolver.impl.JNDIPolicyBasedJNDINameResolverFactory;
+import org.jboss.metadata.ejb.jboss.jndi.resolver.spi.SessionBeanJNDINameResolver;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.DefaultJNDIBindingPolicyFactory;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
+
+/**
+ * JBossMetaDataResolvedJNDINameDeployer
+ * 
+ * Responsible for setting the resolved JNDI names on the metadata, so 
+ * that the code relying on calls like metadata.getJNDIName will 
+ * get the resolved jndi name.
+ * 
+ * Note that this deployer is here to provide backward compatibility
+ * and any new code which expects resolved JNDI names, is expected
+ * to use the JNDI name resolvers (ex: an implementation of {@link SessionBeanJNDINameResolver})  
+ *
+ * Calls to 
+ * <ul>
+ *  <li>{@link JBossSessionBeanMetaData#getJndiName()}</li>
+ *  <li>{@link JBossSessionBeanMetaData#getLocalJndiName()} </li>
+ *  <li> {@link JBossSessionBeanMetaData#getLocalHomeJndiName()} </li>
+ *  <li> {@link JBossSessionBeanMetaData#getHomeJndiName()} </li>
+ * </ul>
+ * will return the corresponding resolved jndi names, after this deployer processes the metadata 
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class JBossMetaDataResolvedJNDINameDeployer extends AbstractDeployer
+{
+
+   /**
+    * Logger
+    */
+   private static final Logger logger = Logger.getLogger(JBossMetaDataResolvedJNDINameDeployer.class);
+
+   /**
+    * Deployer Output flag signaling that this deployer has been run
+    */
+   public static final String OUTPUT = JBossMetaDataResolvedJNDINameDeployer.class.getSimpleName();
+
+   /**
+    * Constructor; sets deployment stage and requisite input/output chain
+    */
+   public JBossMetaDataResolvedJNDINameDeployer()
+   {
+      // Set the Stage to post-CL
+      this.setStage(DeploymentStages.PRE_REAL);
+
+      // Input is the JBossMetaData post-merge
+      this.addInput(Ejb3MetadataProcessingDeployer.OUTPUT);
+
+      // Output is a flag upon which other deployers may rely
+      this.addOutput(OUTPUT);
+   }
+
+   /**
+    * @see org.jboss.deployers.spi.deployer.Deployer#deploy(org.jboss.deployers.structure.spi.DeploymentUnit)
+    */
+   public void deploy(DeploymentUnit du) throws DeploymentException
+   {
+      // Obtain the Merged Metadata
+      JBossMetaData md = du.getAttachment(Ejb3MetadataProcessingDeployer.OUTPUT, JBossMetaData.class);
+
+      // If metadata's not present as an attachment, return
+      if (md == null)
+      {
+         return;
+      }
+
+      // If this is not an EJB3 Deployment, return
+      if (!md.isEJB3x())
+      {
+         return;
+      }
+
+      // Decorate
+      logger.debug("Decorating EJB3 beans in unit " + du + " with JNDI Policy");
+      JBossEnterpriseBeansMetaData beans = md.getEnterpriseBeans();
+      if (beans == null)
+      {
+         return;
+      }
+      DefaultJndiBindingPolicy jndiBindingPolicy = DefaultJNDIBindingPolicyFactory.getDefaultJNDIBindingPolicy();
+      for (JBossEnterpriseBeanMetaData bean : beans)
+      {
+         // let's only do this for SLSB, SFSB and @Service
+         // Ignore Entity beans or MDB
+         if (bean.isSession() || bean.isService())
+         {
+            JBossSessionBeanMetaData sessionBean = (JBossSessionBeanMetaData) bean;
+            SessionBeanJNDINameResolver sessionBeanJNDINameResolver = JNDIPolicyBasedJNDINameResolverFactory.getJNDINameResolver(sessionBean, jndiBindingPolicy);
+            // set jndi-name (default remote business jndi-name)
+            String defaultBusinessRemoteJNDIName = sessionBeanJNDINameResolver.resolveRemoteBusinessDefaultJNDIName(sessionBean);
+            if (defaultBusinessRemoteJNDIName != null)
+            {
+               sessionBean.setJndiName(defaultBusinessRemoteJNDIName);
+            }
+            // set local-jndi-name
+            String defaultBusinessLocalJNDIName = sessionBeanJNDINameResolver.resolveLocalBusinessDefaultJNDIName(sessionBean);
+            if (defaultBusinessLocalJNDIName != null)
+            {
+               sessionBean.setLocalJndiName(defaultBusinessLocalJNDIName);
+            }
+            // set local-home-jndi-name
+            String localHomeJNDIName = sessionBeanJNDINameResolver.resolveLocalHomeJNDIName(sessionBean);
+            if (localHomeJNDIName != null)
+            {
+               sessionBean.setLocalHomeJndiName(localHomeJNDIName);
+            }
+            // set remote-home-jndi-name
+            String remoteHomeJNDIName = sessionBeanJNDINameResolver.resolveRemoteHomeJNDIName(sessionBean);
+            if (remoteHomeJNDIName != null)
+            {
+               sessionBean.setHomeJndiName(remoteHomeJNDIName);
+            }
+         }
+      }
+      // Output
+      du.addAttachment(OUTPUT, true, Boolean.class);
+   }
+}

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/main/resources)

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources/META-INF (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/main/resources/META-INF)

Deleted: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources/META-INF/ejb3-metadata-deployers-jboss-beans.xml
===================================================================
--- projects/ejb3/trunk/metadata-deployers/src/main/resources/META-INF/ejb3-metadata-deployers-jboss-beans.xml	2010-01-13 16:44:19 UTC (rev 99346)
+++ projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources/META-INF/ejb3-metadata-deployers-jboss-beans.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
-    <bean name="JBossMetaDataResolvedJNDINameDeployer" class="org.jboss.ejb3.metadata.deployers.JBossMetaDataResolvedJNDINameDeployer" />
-    
-</deployment>
\ No newline at end of file

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources/META-INF/ejb3-metadata-deployers-jboss-beans.xml (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/main/resources/META-INF/ejb3-metadata-deployers-jboss-beans.xml)
===================================================================
--- projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources/META-INF/ejb3-metadata-deployers-jboss-beans.xml	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/metadata-deployers/src/main/resources/META-INF/ejb3-metadata-deployers-jboss-beans.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+    <bean name="JBossMetaDataResolvedJNDINameDeployer" class="org.jboss.ejb3.metadata.deployers.JBossMetaDataResolvedJNDINameDeployer" />
+    
+</deployment>
\ No newline at end of file

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/test (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/test)

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/test/java (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/test/java)

Copied: projects/ejb3/branches/vfs3-int/metadata-deployers/src/test/resources (from rev 99346, projects/ejb3/trunk/metadata-deployers/src/test/resources)


Property changes on: projects/ejb3/branches/vfs3-int/nointerface
___________________________________________________________________
Name: svn:ignore
   + target-eclipse
eclipse-target
target
output


Modified: projects/ejb3/branches/vfs3-int/nointerface/pom.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/nointerface/pom.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/nointerface/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -192,11 +192,9 @@
 
       <!-- The EJB3.1 API support (ex: @LocalBean) -->
       <dependency>
-       <groupId>org.jboss.ejb3</groupId>
-       <artifactId>jboss-ejb3-api</artifactId>
-       <version>3.1.1-SNAPSHOT</version>
+       <groupId>org.jboss.javaee</groupId>
+       <artifactId>jboss-ejb-api_3.1</artifactId>
       </dependency>
-
     
         <dependency>
           <groupId>org.jboss.naming</groupId>

Modified: projects/ejb3/branches/vfs3-int/pom.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/pom.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -35,7 +35,6 @@
   <!-- Aggregate Modules -->
   <modules>
     <module>aop-deployers</module>
-    <module>api</module>
     <module>async-impl</module>
     <module>async-spi</module>
     <module>as-int</module>

Modified: projects/ejb3/branches/vfs3-int/proxy-impl/pom.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/proxy-impl/pom.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/proxy-impl/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -7,7 +7,7 @@
   <parent>
     <groupId>org.jboss.ejb3</groupId>
     <artifactId>jboss-ejb3-build</artifactId>
-    <version>1.0.8-SNAPSHOT</version>
+    <version>1.0.8</version>
   </parent>
 
   <!-- Model Version -->

Modified: projects/ejb3/branches/vfs3-int/singleton/pom.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/pom.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/singleton/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -24,6 +24,18 @@
   <url>http://labs.jboss.com/jbossejb3</url>
   <description>
   </description>
+  
+  <properties>
+      <version.org.jboss.deployers>2.0.8.GA</version.org.jboss.deployers>
+      <version.org.jboss.ejb3_deployers>1.1.0-SNAPSHOT</version.org.jboss.ejb3_deployers>
+      <version.org.jboss.microcontainer>2.0.9.GA</version.org.jboss.microcontainer>
+      <version.org.jboss_jbossxb>2.0.1.GA</version.org.jboss_jbossxb>
+      <version.javassist>3.7.1.GA</version.javassist>
+      <version.org.jboss.ejb3_jboss-ejb3-test>1.0.0</version.org.jboss.ejb3_jboss-ejb3-test>
+      <version.metadata_ejb>2.0.0-SNAPSHOT</version.metadata_ejb>
+      <version.metadata_ear>2.0.0.Alpha</version.metadata_ear>
+      <version.org.jboss.bootstrap>2.0.0-alpha-3</version.org.jboss.bootstrap>
+  </properties>
 
   <build>
     <plugins>
@@ -61,6 +73,7 @@
         <configuration>
           <forkMode>once</forkMode>
           <jvm>${JDK6_HOME}/bin/java</jvm>
+          <argLine>-Dxb.builder.useUnorderedSequence=true</argLine>
         </configuration>
       </plugin>
     </plugins>
@@ -73,42 +86,200 @@
       <scope>test</scope>
     </dependency>
 
+    <!-- MC -->
     <dependency>
+      <groupId>org.jboss.microcontainer</groupId>
+      <artifactId>jboss-kernel</artifactId>
+      <version>${version.org.jboss.microcontainer}</version>
+      <exclusions>
+        <exclusion>
+            <groupId>org.jboss</groupId>
+            <artifactId>jbossxb</artifactId>
+        </exclusion>
+        <exclusion>
+            <groupId>org.jboss</groupId>
+            <artifactId>jboss-mdr</artifactId>
+        </exclusion>
+        <exclusion>
+            <groupId>org.jboss</groupId>
+            <artifactId>jboss-reflect</artifactId>
+        </exclusion>
+        <exclusion>
+            <groupId>org.jboss</groupId>
+            <artifactId>jboss-vfs</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    
+    <!-- javax.ejb.* -->
+    <dependency>
+      <groupId>org.jboss.javaee</groupId>
+      <artifactId>jboss-ejb-api_3.1</artifactId>
+      <version>1.0-alpha-1</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-core</artifactId>
+      <version>1.1.22</version>
+      <!-- I hate to add these exclusions everywhere -->
+      <exclusions>
+        <exclusion>
+            <groupId>org.jboss.metadata</groupId>
+            <artifactId>jboss-metadata</artifactId>
+        </exclusion>
+        <exclusion>
+            <groupId>org.jboss.microcontainer</groupId>
+            <artifactId>jboss-kernel</artifactId>
+        </exclusion>
+        <exclusion>
+            <groupId>org.jboss</groupId>
+            <artifactId>jboss-mdr</artifactId>
+        </exclusion>
+        <exclusion>
+            <groupId>org.jboss</groupId>
+            <artifactId>jboss-reflect</artifactId>
+        </exclusion>
+        <exclusion>
+            <groupId>org.jboss</groupId>
+            <artifactId>jboss-vfs</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    
+    <!-- Get rid of this! it's required for ServiceMBeanSupport class
+    which is being extended by EJB3Deployment -->
+    <dependency>
+      <groupId>org.jboss.jbossas</groupId>
+      <artifactId>jboss-as-system-jmx</artifactId>
+      <version>5.0.0.CR2</version>
+        <exclusions>
+            <exclusion>
+                <groupId>org.jboss.microcontainer</groupId>
+                <artifactId>jboss-kernel</artifactId>
+            </exclusion>
+            <exclusion>
+                <groupId>org.jboss.man</groupId>
+                <artifactId>jboss-managed</artifactId>
+            </exclusion>
+            <exclusion>
+                <groupId>org.jboss.man</groupId>
+                <artifactId>jboss-metatype</artifactId>
+            </exclusion>
+            <exclusion>
+                <groupId>org.jboss</groupId>
+                <artifactId>jboss-vfs</artifactId>
+            </exclusion>
+        </exclusions>
+    </dependency>
+    
+    <!-- EJB metadata -->
+    <dependency>
+      <groupId>org.jboss.metadata</groupId>
+      <artifactId>jboss-metadata-ejb</artifactId>
+      <version>2.0.0-SNAPSHOT</version>
+    </dependency>
+    
+    
+    
+    <!-- JBoss deployers -->
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-core-spi</artifactId>
+      <version>${version.org.jboss.deployers}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-structure-spi</artifactId>
+      <version>${version.org.jboss.deployers}</version>
+    </dependency>
+    
+    
+
+    <!-- **************************** -->
+    <!-- Test dependencies -->    
+    <!-- **************************** -->
+    
+    <!-- 
+        VDF support
+     -->
+    <dependency>
       <groupId>org.jboss.bootstrap</groupId>
-      <artifactId>jboss-bootstrap</artifactId>
-      <version>1.0.0-Beta-1</version>
+      <artifactId>jboss-bootstrap-impl-mc</artifactId>
+      <version>${version.org.jboss.bootstrap}</version>
       <scope>test</scope>
     </dependency>
+    
+    <dependency>
+        <groupId>org.jboss.shrinkwrap</groupId>
+        <artifactId>shrinkwrap-impl-base</artifactId>
+        <version>1.0.0-alpha-2</version>
+        <scope>test</scope>
+    </dependency>
+    
 
+    <!-- **************************** -->
+    <!-- Runtime dependencies -->    
+    <!-- **************************** -->
+    
     <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-api</artifactId>
-      <version>3.1.1-SNAPSHOT</version>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-impl</artifactId>
+      <version>${version.org.jboss.deployers}</version>
+      <scope>runtime</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-vfs</artifactId>
+      <version>${version.org.jboss.deployers}</version>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.deployers</groupId>
+      <artifactId>jboss-deployers-vfs-spi</artifactId>
+      <version>${version.org.jboss.deployers}</version>
+      <scope>runtime</scope>
+    </dependency>
+    
+    <dependency>
+      <groupId>org.jboss</groupId>
+      <artifactId>jbossxb</artifactId>
+      <version>${version.org.jboss_jbossxb}</version>
+      <scope>runtime</scope>
+    </dependency>
 
+      
     <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-core</artifactId>
-      <version>1.1.3-SNAPSHOT</version>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-common-core</artifactId>
+      <version>2.2.14.GA</version>
+      <scope>runtime</scope>
     </dependency>
     
+
     <dependency>
-      <groupId>org.jboss.ejb3</groupId>
-      <artifactId>jboss-ejb3-test</artifactId>
-      <version>1.0.0</version>
+        <groupId>org.jboss</groupId>
+        <artifactId>jboss-reflect</artifactId>
+        <version>2.0.2.GA</version>
+        <scope>runtime</scope>
     </dependency>
     
     <!-- this needs to be removed - EJBTHREE-1343 -->
     <dependency>
       <groupId>org.jboss.jbossas</groupId>
       <artifactId>jboss-as-server</artifactId>
-      <version>5.0.1.GA</version>
+      <version>5.0.0.CR2</version>
       <exclusions>
         <exclusion>
           <groupId>jboss</groupId>
           <artifactId>jboss-remoting</artifactId>
         </exclusion>
+        <!-- jboss-as-server must not dictate the JPA API -->
         <exclusion>
+          <groupId>org.hibernate</groupId>
+          <artifactId>ejb3-persistence</artifactId>
+        </exclusion>
+        <exclusion>
           <groupId>org.jboss</groupId>
           <artifactId>jboss-metadata</artifactId>
         </exclusion>
@@ -126,13 +297,15 @@
           <artifactId>jbossws-native-jaxws</artifactId>
         </exclusion>
       </exclusions>
-      <scope>provided</scope>
+      <scope>runtime</scope>
     </dependency>
     
-    <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
-      <artifactId>jmx-mc-int</artifactId>
-      <version>2.2.0-SNAPSHOT</version>
+     <dependency>
+        <groupId>org.jboss.ejb3</groupId>
+        <artifactId>jboss-ejb3-deployers</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <scope>runtime</scope>
     </dependency>
+    
   </dependencies>
 </project>

Modified: projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/SingletonContainer.java
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/SingletonContainer.java	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/SingletonContainer.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -37,6 +37,8 @@
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 
 /**
+ * TODO: Experiment on moving away from AOP
+ * 
  * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
  * @version $Revision: $
  */
@@ -44,6 +46,12 @@
 {
    private BeanContext<SingletonContainer> instance;
    
+   /**
+    * Represents the AOP domain name for a singleton container
+    */
+   // TODO: Will be removed when AOP usage is removed
+   public static final String SINGLETON_CONTAINER_AOP_DOMAIN = "Singleton Bean";
+   
    public SingletonContainer(ClassLoader cl, String beanClassName, String ejbName, Domain domain,
          Hashtable ctxProperties, Ejb3Deployment deployment, JBossSessionBeanMetaData beanMetaData)
       throws ClassNotFoundException

Copied: projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/deployer (from rev 99346, projects/ejb3/trunk/singleton/src/main/java/org/jboss/ejb3/singleton/deployer)

Deleted: projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/deployer/SingletonContainerDeployer.java
===================================================================
--- projects/ejb3/trunk/singleton/src/main/java/org/jboss/ejb3/singleton/deployer/SingletonContainerDeployer.java	2010-01-13 16:44:19 UTC (rev 99346)
+++ projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/deployer/SingletonContainerDeployer.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -1,214 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ejb3.singleton.deployer;
-
-import java.util.Hashtable;
-
-import org.jboss.aop.AspectManager;
-import org.jboss.aop.Domain;
-import org.jboss.aop.DomainDefinition;
-import org.jboss.beans.metadata.spi.BeanMetaData;
-import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.ejb3.Ejb3Deployment;
-import org.jboss.ejb3.common.deployers.spi.AttachmentNames;
-import org.jboss.ejb3.singleton.SingletonContainer;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossSessionBean31MetaData;
-import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
-import org.jboss.metadata.ejb.spec.SessionType;
-
-/**
- * SingleContainerDeployer
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
-public class SingletonContainerDeployer extends AbstractSimpleRealDeployer<JBossEnterpriseBeanMetaData>
-{
-
-   /**
-    * Logger
-    */
-   private static Logger logger = Logger.getLogger(SingletonContainerDeployer.class);
-   
-   /**
-    * Constructor
-    */
-   public SingletonContainerDeployer()
-   {
-      super(JBossEnterpriseBeanMetaData.class);
-
-      setComponentsOnly(true);
-      addOutput(BeanMetaData.class);
-
-      // ordering
-      addInput(Ejb3Deployment.class);
-      addInput(AttachmentNames.PROCESSED_METADATA);
-   }
-
-   /* (non-Javadoc)
-    * @see org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer#deploy(org.jboss.deployers.structure.spi.DeploymentUnit, java.lang.Object)
-    */
-   @Override
-   public void deploy(DeploymentUnit unit, JBossEnterpriseBeanMetaData beanMetaData) throws DeploymentException
-   {
-      if (!(beanMetaData instanceof JBossSessionBeanMetaData))
-      {
-         return;
-      }
-      // we are only interested in EJB3.1
-      if (!beanMetaData.getJBossMetaData().isEJB31())
-      {
-         if (logger.isTraceEnabled())
-         {
-            logger.trace("Ignoring non-EJB3.1 bean " + beanMetaData.getName());
-         }
-         return;
-      }
-      JBossSessionBean31MetaData sessionBean = (JBossSessionBean31MetaData) beanMetaData;
-      // we are only concerned with Singleton beans
-      if (!sessionBean.isSingleton())
-      {
-         if (logger.isTraceEnabled())
-         {
-            logger.trace("Ignoring non-singleton bean " + sessionBean.getName());
-         }
-         return;
-      }
-      
-      // Create a singleton container
-      ClassLoader classLoader = unit.getClassLoader();
-      // TODO: Once we move away from AOP, remove this.
-      // Note that we intentionally do NOT allow overriding the domain name
-      // through the bean metadata (annotation/xml) for singleton beans, since
-      // we are moving away from AOP stuff, for new components 
-      DomainDefinition singletonContainerAOPDomain = AspectManager.instance().getContainer(
-            SingletonContainer.SINGLETON_CONTAINER_AOP_DOMAIN);
-      if (singletonContainerAOPDomain == null)
-      {
-         throw new DeploymentException(SingletonContainer.SINGLETON_CONTAINER_AOP_DOMAIN
-               + " AOP domain not configured - cannot deploy EJB named " + beanMetaData.getEjbName() + " in unit "
-               + unit);
-      }
-      Hashtable<String, String> ctxProperties = new Hashtable<String, String>();
-      Ejb3Deployment ejb3Deployment = unit.getAttachment(Ejb3Deployment.class);
-      if (ejb3Deployment == null)
-      {
-         throw new DeploymentException("Could not find " + Ejb3Deployment.class + " for creating singleton container for bean "
-               + sessionBean.getEjbName() + " in unit " + unit);
-      }
-      SingletonContainer singletonContainer = null;
-      try
-      {
-         singletonContainer = new SingletonContainer(classLoader, sessionBean.getEjbClass(), sessionBean.getEjbName(),
-               (Domain) singletonContainerAOPDomain.getManager(), ctxProperties, ejb3Deployment, sessionBean);
-      }
-      catch (ClassNotFoundException cnfe)
-      {
-         throw new DeploymentException("Could not find class during deployment of bean named "
-               + sessionBean.getEjbName() + " in unit " + unit, cnfe);
-      }
-      // deploy the singleton container as a MC bean
-      String singletonContainerMCBeanName = sessionBean.getContainerName();
-      BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(singletonContainerMCBeanName,
-            SingletonContainer.class.getName());
-      builder.setConstructorValue(singletonContainer);
-
-      // Add the singleton container MC bean as an attachment
-      unit.addAttachment(BeanMetaData.class + ":" + singletonContainerMCBeanName, builder.getBeanMetaData());
-
-   }
-
-   //   /**
-   //    * Ultimately, the container name should come from the <code>sessionBeanMetadata</code>.
-   //    * However because of the current behaviour where the container on its start sets the containername
-   //    * in the metadata, its not possible to get this information even before the container is started.
-   //    *
-   //    * Hence let's for the time being create the container name from all the information that we have
-   //    * in the <code>unit</code>
-   //    *
-   //    * @param unit The deployment unit
-   //    * @param sessionBeanMetadata Session bean metadata
-   //    * @return Returns the container name for the bean corresponding to the <code>sessionBeanMetadata</code> in the <code>unit</code>
-   //    *
-   //    * @throws MalformedObjectNameException
-   //    */
-   //   private String getContainerName(DeploymentUnit unit, JBossSessionBeanMetaData sessionBeanMetadata)
-   //         throws MalformedObjectNameException
-   //   {
-   //      // TODO the base ejb3 jmx object name comes from Ejb3Module.BASE_EJB3_JMX_NAME, but
-   //      // we don't need any reference to ejb3-core. Right now just hard code here, we need
-   //      // a better way/place for this later
-   //      StringBuilder containerName = new StringBuilder("jboss.j2ee:service=EJB3" + ",");
-   //
-   //      // Get the top level unit for this unit (ex: the top level might be an ear and this unit might be the jar
-   //      // in that ear
-   //      DeploymentUnit toplevelUnit = unit.getTopLevel();
-   //      if (toplevelUnit != null)
-   //      {
-   //         // if top level is an ear, then create the name with the ear reference
-   //         if (isEar(toplevelUnit))
-   //         {
-   //            containerName.append("ear=");
-   //            containerName.append(toplevelUnit.getSimpleName());
-   //            containerName.append(",");
-   //
-   //         }
-   //      }
-   //      // now work on the passed unit, to get the jar name
-   //      if (unit.getSimpleName() == null)
-   //      {
-   //         containerName.append("*");
-   //      }
-   //      else
-   //      {
-   //         containerName.append("jar=");
-   //         containerName.append(unit.getSimpleName());
-   //      }
-   //      // now the ejbname
-   //      containerName.append(",name=");
-   //      containerName.append(sessionBeanMetadata.getEjbName());
-   //
-   //      if (logger.isTraceEnabled())
-   //      {
-   //         logger.trace("Container name generated for ejb = " + sessionBeanMetadata.getEjbName() + " in unit " + unit
-   //               + " is " + containerName);
-   //      }
-   //      ObjectName containerJMXName = new ObjectName(containerName.toString());
-   //      return containerJMXName.getCanonicalName();
-   //   }
-   //   
-   //   /**
-   //    * Returns true if this <code>unit</code> represents an .ear deployment
-   //    *
-   //    * @param unit
-   //    * @return
-   //    */
-   //   private boolean isEar(DeploymentUnit unit)
-   //   {
-   //      return unit.getSimpleName().endsWith(".ear") || unit.getAttachment(JBossAppMetaData.class) != null;
-   //   }
-}

Copied: projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/deployer/SingletonContainerDeployer.java (from rev 99346, projects/ejb3/trunk/singleton/src/main/java/org/jboss/ejb3/singleton/deployer/SingletonContainerDeployer.java)
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/deployer/SingletonContainerDeployer.java	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/singleton/src/main/java/org/jboss/ejb3/singleton/deployer/SingletonContainerDeployer.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,214 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.singleton.deployer;
+
+import java.util.Hashtable;
+
+import org.jboss.aop.AspectManager;
+import org.jboss.aop.Domain;
+import org.jboss.aop.DomainDefinition;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.Ejb3Deployment;
+import org.jboss.ejb3.common.deployers.spi.AttachmentNames;
+import org.jboss.ejb3.singleton.SingletonContainer;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBean31MetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.spec.SessionType;
+
+/**
+ * SingleContainerDeployer
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class SingletonContainerDeployer extends AbstractSimpleRealDeployer<JBossEnterpriseBeanMetaData>
+{
+
+   /**
+    * Logger
+    */
+   private static Logger logger = Logger.getLogger(SingletonContainerDeployer.class);
+   
+   /**
+    * Constructor
+    */
+   public SingletonContainerDeployer()
+   {
+      super(JBossEnterpriseBeanMetaData.class);
+
+      setComponentsOnly(true);
+      addOutput(BeanMetaData.class);
+
+      // ordering
+      addInput(Ejb3Deployment.class);
+      addInput(AttachmentNames.PROCESSED_METADATA);
+   }
+
+   /* (non-Javadoc)
+    * @see org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer#deploy(org.jboss.deployers.structure.spi.DeploymentUnit, java.lang.Object)
+    */
+   @Override
+   public void deploy(DeploymentUnit unit, JBossEnterpriseBeanMetaData beanMetaData) throws DeploymentException
+   {
+      if (!(beanMetaData instanceof JBossSessionBeanMetaData))
+      {
+         return;
+      }
+      // we are only interested in EJB3.1
+      if (!beanMetaData.getJBossMetaData().isEJB31())
+      {
+         if (logger.isTraceEnabled())
+         {
+            logger.trace("Ignoring non-EJB3.1 bean " + beanMetaData.getName());
+         }
+         return;
+      }
+      JBossSessionBean31MetaData sessionBean = (JBossSessionBean31MetaData) beanMetaData;
+      // we are only concerned with Singleton beans
+      if (!sessionBean.isSingleton())
+      {
+         if (logger.isTraceEnabled())
+         {
+            logger.trace("Ignoring non-singleton bean " + sessionBean.getName());
+         }
+         return;
+      }
+      
+      // Create a singleton container
+      ClassLoader classLoader = unit.getClassLoader();
+      // TODO: Once we move away from AOP, remove this.
+      // Note that we intentionally do NOT allow overriding the domain name
+      // through the bean metadata (annotation/xml) for singleton beans, since
+      // we are moving away from AOP stuff, for new components 
+      DomainDefinition singletonContainerAOPDomain = AspectManager.instance().getContainer(
+            SingletonContainer.SINGLETON_CONTAINER_AOP_DOMAIN);
+      if (singletonContainerAOPDomain == null)
+      {
+         throw new DeploymentException(SingletonContainer.SINGLETON_CONTAINER_AOP_DOMAIN
+               + " AOP domain not configured - cannot deploy EJB named " + beanMetaData.getEjbName() + " in unit "
+               + unit);
+      }
+      Hashtable<String, String> ctxProperties = new Hashtable<String, String>();
+      Ejb3Deployment ejb3Deployment = unit.getAttachment(Ejb3Deployment.class);
+      if (ejb3Deployment == null)
+      {
+         throw new DeploymentException("Could not find " + Ejb3Deployment.class + " for creating singleton container for bean "
+               + sessionBean.getEjbName() + " in unit " + unit);
+      }
+      SingletonContainer singletonContainer = null;
+      try
+      {
+         singletonContainer = new SingletonContainer(classLoader, sessionBean.getEjbClass(), sessionBean.getEjbName(),
+               (Domain) singletonContainerAOPDomain.getManager(), ctxProperties, ejb3Deployment, sessionBean);
+      }
+      catch (ClassNotFoundException cnfe)
+      {
+         throw new DeploymentException("Could not find class during deployment of bean named "
+               + sessionBean.getEjbName() + " in unit " + unit, cnfe);
+      }
+      // deploy the singleton container as a MC bean
+      String singletonContainerMCBeanName = sessionBean.getContainerName();
+      BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(singletonContainerMCBeanName,
+            SingletonContainer.class.getName());
+      builder.setConstructorValue(singletonContainer);
+
+      // Add the singleton container MC bean as an attachment
+      unit.addAttachment(BeanMetaData.class + ":" + singletonContainerMCBeanName, builder.getBeanMetaData());
+
+   }
+
+   //   /**
+   //    * Ultimately, the container name should come from the <code>sessionBeanMetadata</code>.
+   //    * However because of the current behaviour where the container on its start sets the containername
+   //    * in the metadata, its not possible to get this information even before the container is started.
+   //    *
+   //    * Hence let's for the time being create the container name from all the information that we have
+   //    * in the <code>unit</code>
+   //    *
+   //    * @param unit The deployment unit
+   //    * @param sessionBeanMetadata Session bean metadata
+   //    * @return Returns the container name for the bean corresponding to the <code>sessionBeanMetadata</code> in the <code>unit</code>
+   //    *
+   //    * @throws MalformedObjectNameException
+   //    */
+   //   private String getContainerName(DeploymentUnit unit, JBossSessionBeanMetaData sessionBeanMetadata)
+   //         throws MalformedObjectNameException
+   //   {
+   //      // TODO the base ejb3 jmx object name comes from Ejb3Module.BASE_EJB3_JMX_NAME, but
+   //      // we don't need any reference to ejb3-core. Right now just hard code here, we need
+   //      // a better way/place for this later
+   //      StringBuilder containerName = new StringBuilder("jboss.j2ee:service=EJB3" + ",");
+   //
+   //      // Get the top level unit for this unit (ex: the top level might be an ear and this unit might be the jar
+   //      // in that ear
+   //      DeploymentUnit toplevelUnit = unit.getTopLevel();
+   //      if (toplevelUnit != null)
+   //      {
+   //         // if top level is an ear, then create the name with the ear reference
+   //         if (isEar(toplevelUnit))
+   //         {
+   //            containerName.append("ear=");
+   //            containerName.append(toplevelUnit.getSimpleName());
+   //            containerName.append(",");
+   //
+   //         }
+   //      }
+   //      // now work on the passed unit, to get the jar name
+   //      if (unit.getSimpleName() == null)
+   //      {
+   //         containerName.append("*");
+   //      }
+   //      else
+   //      {
+   //         containerName.append("jar=");
+   //         containerName.append(unit.getSimpleName());
+   //      }
+   //      // now the ejbname
+   //      containerName.append(",name=");
+   //      containerName.append(sessionBeanMetadata.getEjbName());
+   //
+   //      if (logger.isTraceEnabled())
+   //      {
+   //         logger.trace("Container name generated for ejb = " + sessionBeanMetadata.getEjbName() + " in unit " + unit
+   //               + " is " + containerName);
+   //      }
+   //      ObjectName containerJMXName = new ObjectName(containerName.toString());
+   //      return containerJMXName.getCanonicalName();
+   //   }
+   //   
+   //   /**
+   //    * Returns true if this <code>unit</code> represents an .ear deployment
+   //    *
+   //    * @param unit
+   //    * @return
+   //    */
+   //   private boolean isEar(DeploymentUnit unit)
+   //   {
+   //      return unit.getSimpleName().endsWith(".ear") || unit.getAttachment(JBossAppMetaData.class) != null;
+   //   }
+}

Copied: projects/ejb3/branches/vfs3-int/singleton/src/main/resources (from rev 99346, projects/ejb3/trunk/singleton/src/main/resources)

Copied: projects/ejb3/branches/vfs3-int/singleton/src/main/resources/META-INF (from rev 99346, projects/ejb3/trunk/singleton/src/main/resources/META-INF)

Deleted: projects/ejb3/branches/vfs3-int/singleton/src/main/resources/META-INF/ejb3-singleton-jboss-beans.xml
===================================================================
--- projects/ejb3/trunk/singleton/src/main/resources/META-INF/ejb3-singleton-jboss-beans.xml	2010-01-13 16:44:19 UTC (rev 99346)
+++ projects/ejb3/branches/vfs3-int/singleton/src/main/resources/META-INF/ejb3-singleton-jboss-beans.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
-    <!--  We don't want the AOPDependencyBuilder  -->
-    <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
-    
-    <!-- EJB3.1 Singleton bean container deployer -->
-    <bean name="SingletonContainerDeployer" class="org.jboss.ejb3.singleton.deployer.SingletonContainerDeployer"/>
-    
-</deployment>
\ No newline at end of file

Copied: projects/ejb3/branches/vfs3-int/singleton/src/main/resources/META-INF/ejb3-singleton-jboss-beans.xml (from rev 99346, projects/ejb3/trunk/singleton/src/main/resources/META-INF/ejb3-singleton-jboss-beans.xml)
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/main/resources/META-INF/ejb3-singleton-jboss-beans.xml	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/singleton/src/main/resources/META-INF/ejb3-singleton-jboss-beans.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+    <!--  We don't want the AOPDependencyBuilder  -->
+    <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
+    
+    <!-- EJB3.1 Singleton bean container deployer -->
+    <bean name="SingletonContainerDeployer" class="org.jboss.ejb3.singleton.deployer.SingletonContainerDeployer"/>
+    
+</deployment>
\ No newline at end of file

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/MockEjb3DeploymentDeployer.java (from rev 99346, projects/ejb3/trunk/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/MockEjb3DeploymentDeployer.java)
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/MockEjb3DeploymentDeployer.java	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/MockEjb3DeploymentDeployer.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,63 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.singleton.test.common;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.vfs.spi.deployer.AbstractSimpleVFSRealDeployer;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.ejb3.Ejb3Deployment;
+import org.jboss.ejb3.common.deployers.spi.AttachmentNames;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+
+/**
+ * MockEjb3DeploymentDeployer
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class MockEjb3DeploymentDeployer extends AbstractSimpleVFSRealDeployer<JBossMetaData>
+{
+
+   public MockEjb3DeploymentDeployer()
+   {
+      super(JBossMetaData.class);
+      addInput(AttachmentNames.PROCESSED_METADATA);
+      setOutput(Ejb3Deployment.class);
+   }
+   
+   /**
+    * @see org.jboss.deployers.vfs.spi.deployer.AbstractSimpleVFSRealDeployer#deploy(org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit, java.lang.Object)
+    */
+   @Override
+   public void deploy(VFSDeploymentUnit unit, JBossMetaData metadata) throws DeploymentException
+   {
+      // Ideally, this check shouldn't be there, but VDF
+      // for some reason passes null in some cases (needs more investigation later)
+      if (metadata != null)
+      {
+         unit.addAttachment(Ejb3Deployment.class, new MockEjb3Deployment());
+      }
+      
+   }
+
+  
+}

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/SimpleClassLoaderDeployer.java (from rev 99346, projects/ejb3/trunk/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/SimpleClassLoaderDeployer.java)
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/SimpleClassLoaderDeployer.java	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/SimpleClassLoaderDeployer.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+  *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ejb3.singleton.test.common;
+
+import org.jboss.deployers.spi.deployer.helpers.AbstractTopLevelClassLoaderDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * 
+ * 
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class SimpleClassLoaderDeployer extends AbstractTopLevelClassLoaderDeployer
+{
+   @Override
+   protected ClassLoader createTopLevelClassLoader(DeploymentUnit unit) throws Exception
+   {
+      return Thread.currentThread().getContextClassLoader();
+   }
+}

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/VDFServer.java (from rev 99346, projects/ejb3/trunk/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/VDFServer.java)
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/VDFServer.java	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/VDFServer.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,52 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.singleton.test.common;
+
+import java.net.URL;
+
+import org.jboss.deployers.client.spi.main.MainDeployer;
+
+/**
+ * VDFServer
+ * 
+ * TODO: This is WIP. A simple server which boots up 
+ * a MC based server, which has Virtual Deployment Framework (VDF)
+ * installed. This server can be used in tests which test the deployers. 
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public interface VDFServer
+{
+
+   void startServer() throws Exception;
+
+   void stopServer() throws Exception;
+
+   void deploy(URL deployURL) throws Exception;
+
+   public void deploy(String deploymentName, Package... testArtifactPackages) throws Exception;
+
+   public void deploy(String deploymentName, Class<?>... classes) throws Exception;
+
+   MainDeployer getMainDeployer();
+}

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/VDFServerImpl.java (from rev 99346, projects/ejb3/trunk/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/VDFServerImpl.java)
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/VDFServerImpl.java	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/common/VDFServerImpl.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,372 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.singleton.test.common;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.beans.metadata.plugins.builder.BeanMetaDataBuilderFactory;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+import org.jboss.deployers.client.spi.main.MainDeployer;
+import org.jboss.deployers.plugins.deployers.DeployersImpl;
+import org.jboss.deployers.plugins.main.MainDeployerImpl;
+import org.jboss.deployers.plugins.managed.DefaultManagedDeploymentCreator;
+import org.jboss.deployers.spi.deployer.helpers.DefaultManagedObjectCreator;
+import org.jboss.deployers.spi.deployer.managed.ManagedDeploymentCreator;
+import org.jboss.deployers.structure.spi.StructureBuilder;
+import org.jboss.deployers.vfs.deployer.kernel.BeanDeployer;
+import org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer;
+import org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer;
+import org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl;
+import org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder;
+import org.jboss.deployers.vfs.plugins.structure.explicit.DeclaredStructure;
+import org.jboss.deployers.vfs.plugins.structure.file.FileStructure;
+import org.jboss.deployers.vfs.plugins.structure.jar.JARStructure;
+import org.jboss.deployers.vfs.spi.client.VFSDeployment;
+import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
+import org.jboss.deployers.vfs.spi.structure.helpers.DefaultCandidateStructureVisitorFactory;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.bootstrap.AbstractBootstrap;
+import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
+import org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.logging.Logger;
+import org.jboss.managed.api.factory.ManagedObjectFactory;
+import org.jboss.shrinkwrap.api.Archives;
+import org.jboss.shrinkwrap.api.exporter.ZipExporter;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.virtual.VFS;
+import org.jboss.virtual.VirtualFile;
+import org.jboss.virtual.plugins.vfs.helpers.SuffixesExcludeFilter;
+
+/**
+ * VDFServerImpl
+ * An implementation of {@link VDFServer}. Boots up a MC based server
+ * with VDF installed in it
+ * TODO: This is work in progress.
+ * 
+ * @see VDFServer
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class VDFServerImpl implements VDFServer
+{
+
+   /**
+    * Logger
+    */
+   private static Logger logger = Logger.getLogger(VDFServerImpl.class);
+
+   /**
+    * Bootstrap
+    */
+   private AbstractBootstrap bootstrap;
+   
+   /**
+    * basedir (set through Maven)
+    */
+   protected static final File BASEDIR = new File(System.getProperty("basedir"));
+
+   /**
+    * Target directory
+    */
+   protected static final File TARGET_DIRECTORY = new File(BASEDIR, "target");
+
+   /**
+    * The directory into which the deployments required by the tests will be placed
+    */
+   protected static final File TEST_DEPLOYMENTS_FOLDER = new File(TARGET_DIRECTORY, "test-lib");
+
+   private static final String MAIN_DEPLOYER_MC_BEAN_NAME = "MainDeployer";
+   
+   private static final String JAR_FILE_SUFFIX = ".jar";
+
+   static
+   {
+      TEST_DEPLOYMENTS_FOLDER.mkdirs();
+   }
+   
+   public VDFServerImpl()
+   {
+      this.bootstrap = new BasicBootstrap();
+      
+   }
+
+   /**
+    * @see org.jboss.ejb3.singleton.test.common.VDFServer#getMainDeployer()
+    */
+   @Override
+   public MainDeployer getMainDeployer()
+   {
+      
+      // Get the MainDeployer
+      MainDeployer mainDeployer = (MainDeployer) this.bootstrap.getKernel().getController().getInstalledContext(MAIN_DEPLOYER_MC_BEAN_NAME).getTarget();
+      
+      return mainDeployer;
+
+   }
+
+   /**
+    * @see org.jboss.ejb3.singleton.test.common.VDFServer#startServer()
+    */
+   @Override
+   public void startServer() throws Exception
+   {
+      bootstrap.run();
+      Kernel kernel = bootstrap.getKernel();
+
+      // Get controller
+      final KernelController controller = kernel.getController();
+
+      /*
+       * Now manually install stuff needed to boot VDF 
+       */
+      try
+      {
+         // could have installed this through the kernel controller too
+         URL classLoaderDeployersXml = Thread.currentThread().getContextClassLoader().getResource("classloader.xml");
+         BasicXMLDeployer basicDeployer = new BasicXMLDeployer(this.bootstrap.getKernel());
+         basicDeployer.deploy(classLoaderDeployersXml);
+         basicDeployer.validate();
+         
+         // ManagedObjectFactory
+         final ManagedObjectFactory managedObjectFactory = ManagedObjectFactory.getInstance();
+         final BeanMetaDataBuilder managedObjectFactoryBmdb = BeanMetaDataBuilderFactory.createBuilder(
+               "ManagedObjectFactory", managedObjectFactory.getClass().getName()).addMethodInstallCallback(
+               "addInstanceClassFactory").addMethodUninstallCallback("removeInstanceClassFactory");
+         controller.install(managedObjectFactoryBmdb.getBeanMetaData(), managedObjectFactory);
+   
+         // ManagedObjectCreator
+         final DefaultManagedObjectCreator managedObjectCreator = new DefaultManagedObjectCreator();
+         managedObjectCreator.setMof(managedObjectFactory);
+         final BeanMetaDataBuilder managedObjectCreatorBmdb = BeanMetaDataBuilderFactory.createBuilder(
+               "ManagedObjectCreator", managedObjectCreator.getClass().getName());
+         controller.install(managedObjectCreatorBmdb.getBeanMetaData(), managedObjectCreator);
+   
+         // Deployers
+         final DeployersImpl deployers = new DeployersImpl(controller);
+         deployers.setMgtObjectCreator(managedObjectCreator);
+         final BeanMetaDataBuilder deployersBmdb = BeanMetaDataBuilderFactory.createBuilder("Deployers",
+               deployers.getClass().getName()).addMethodInstallCallback("addDeployer").addMethodUninstallCallback(
+               "removeDeployer");
+         controller.install(deployersBmdb.getBeanMetaData(), deployers);
+   
+         // StructureBuilder
+         final StructureBuilder structureBuilder = new VFSStructureBuilder();
+         final BeanMetaDataBuilder structureBuilderBmdb = BeanMetaDataBuilderFactory.createBuilder("StructureBuilder",
+               structureBuilder.getClass().getName());
+         controller.install(structureBuilderBmdb.getBeanMetaData(), structureBuilder);
+   
+         // StructuralDeployers
+         final VFSStructuralDeployersImpl structuralDeployers = new VFSStructuralDeployersImpl();
+         structuralDeployers.setStructureBuilder(structureBuilder);
+         final BeanMetaDataBuilder structuralDeployersBmdb = BeanMetaDataBuilderFactory.createBuilder(
+               "StructuralDeployers", structuralDeployers.getClass().getName()).addMethodInstallCallback("addDeployer")
+               .addMethodUninstallCallback("removeDeployer");
+         controller.install(structuralDeployersBmdb.getBeanMetaData(), structuralDeployers);
+   
+         // MainDeployer
+         final MainDeployerImpl mainDeployer = new MainDeployerImpl();
+         mainDeployer.setDeployers(deployers);
+         mainDeployer.setStructuralDeployers(structuralDeployers);
+         final BeanMetaDataBuilder mainDeployerBmdb = BeanMetaDataBuilderFactory.createBuilder(MAIN_DEPLOYER_MC_BEAN_NAME, mainDeployer.getClass().getName());
+         controller.install(mainDeployerBmdb.getBeanMetaData(), mainDeployer);
+   
+         // ManagedDeploymentCreator
+         final ManagedDeploymentCreator defaultMananagedDeploymentCreator = new DefaultManagedDeploymentCreator();
+         final BeanMetaDataBuilder defaultMananagedDeploymentCreatorBmdb = BeanMetaDataBuilderFactory.createBuilder(
+               "ManagedDeploymentCreator", defaultMananagedDeploymentCreator.getClass().getName());
+         controller.install(defaultMananagedDeploymentCreatorBmdb.getBeanMetaData(), defaultMananagedDeploymentCreator);
+   
+         // DeclaredStructure
+         final DeclaredStructure declaredStructure = new DeclaredStructure();
+         final BeanMetaDataBuilder declaredStructureBmdb = BeanMetaDataBuilderFactory.createBuilder("DeclaredStructure",
+               declaredStructure.getClass().getName());
+         controller.install(declaredStructureBmdb.getBeanMetaData(), declaredStructure);
+   
+         // JARFilter
+         final List<String> excludes = new ArrayList<String>();
+         excludes.add(".class");
+         final SuffixesExcludeFilter jarFilter = new SuffixesExcludeFilter(excludes);
+         final BeanMetaDataBuilder jarFilterBmdb = BeanMetaDataBuilderFactory.createBuilder("JARFilter", jarFilter
+               .getClass().getName());
+         controller.install(jarFilterBmdb.getBeanMetaData(), jarFilter);
+   
+         // JARStructureCandidates
+         final DefaultCandidateStructureVisitorFactory jarStructureCandidates = new DefaultCandidateStructureVisitorFactory();
+         jarStructureCandidates.setFilter(jarFilter);
+         final BeanMetaDataBuilder jarStructureCandidatesBmdb = BeanMetaDataBuilderFactory.createBuilder(
+               "JARStructureCandidates", jarStructureCandidates.getClass().getName());
+         controller.install(jarStructureCandidatesBmdb.getBeanMetaData(), jarStructureCandidates);
+   
+         // JARStructure
+         final JARStructure jarStructure = new JARStructure();
+         jarStructure.setCandidateStructureVisitorFactory(jarStructureCandidates);
+         final BeanMetaDataBuilder jarStructureBmdb = BeanMetaDataBuilderFactory.createBuilder("JARStructure",
+               jarStructure.getClass().getName());
+         controller.install(jarStructureBmdb.getBeanMetaData(), jarStructure);
+   
+         // FileStructure
+         final Set<String> fileStructureSuffixes = new HashSet<String>();
+         fileStructureSuffixes.add("-service.xml");
+         fileStructureSuffixes.add("-ds.xml");
+         fileStructureSuffixes.add("-beans.xml");
+         fileStructureSuffixes.add("-aop.xml");
+         final FileStructure fileStructure = new FileStructure(fileStructureSuffixes);
+         final BeanMetaDataBuilder fileStructureBmdb = BeanMetaDataBuilderFactory.createBuilder("FileStructure",
+               fileStructure.getClass().getName());
+         controller.install(fileStructureBmdb.getBeanMetaData(), fileStructure);
+   
+         // BeanDeployer
+         final BeanDeployer beanDeployer = new BeanDeployer();
+         final BeanMetaDataBuilder beanDeployerBmdb = BeanMetaDataBuilderFactory.createBuilder("BeanDeployer",
+               beanDeployer.getClass().getName());
+         controller.install(beanDeployerBmdb.getBeanMetaData(), beanDeployer);
+   
+         // KernelDeploymentDeployer
+         final KernelDeploymentDeployer kernelDeploymentDeployer = new KernelDeploymentDeployer();
+         final BeanMetaDataBuilder kernelDeploymentDeployerBmdb = BeanMetaDataBuilderFactory.createBuilder(
+               "KernelDeploymentDeployer", kernelDeploymentDeployer.getClass().getName());
+         controller.install(kernelDeploymentDeployerBmdb.getBeanMetaData(), kernelDeploymentDeployer);
+   
+         // BeanMetaDataDeployer
+         final BeanMetaDataDeployer beanMetaDataDeployer = new BeanMetaDataDeployer(controller);
+         final BeanMetaDataBuilder beanMetaDataDeployerBmdb = BeanMetaDataBuilderFactory.createBuilder(
+               "BeanMetaDataDeployer", beanMetaDataDeployer.getClass().getName());
+         controller.install(beanMetaDataDeployerBmdb.getBeanMetaData(), beanMetaDataDeployer);
+         
+         
+      }
+      catch (Throwable t)
+      {
+         throw new Exception(t);
+      }
+
+
+
+   }
+
+   /**
+    * @see org.jboss.ejb3.singleton.test.common.VDFServer#stopServer()
+    */
+   @Override
+   public void stopServer() throws Exception
+   {
+      // TODO
+   }
+
+   public void deploy(URL deployURL) throws Exception
+   {
+      if (deployURL == null)
+      {
+         throw new IllegalArgumentException("Null URL passed to deploy");
+      }
+      logger.debug("Deploying " + deployURL);
+      MainDeployer mainDeployer = getMainDeployer();
+      VirtualFile root = VFS.getRoot(deployURL);
+      VFSDeployment deployment = VFSDeploymentFactory.getInstance().createVFSDeployment(root);
+      mainDeployer.deploy(deployment);
+      mainDeployer.checkComplete(deployment);
+      logger.debug("Completely deployed " + deployURL);
+
+   }
+   
+   /**
+    * Deploys a set of classes contained in the passed package <code>testArtifactPackages</code>
+    * 
+    * @param deploymentName The name to be used for this deployment
+    */
+   public void deploy(String deploymentName, Package...testArtifactPackages) throws Exception
+   {
+      JavaArchive jar = Archives.create(deploymentName + JAR_FILE_SUFFIX, JavaArchive.class);
+      jar.addPackages(false, testArtifactPackages);
+      URL deployment = writeToFileSystem(jar);
+      this.deploy(deployment);
+   }
+   
+   /**
+    * Deploys a set of classes passed as the <code>classes</code> param
+    * 
+    * @param deploymentName The name to be used for this deployment
+    */
+   public void deploy(String deploymentName, Class<?>...classes) throws Exception
+   {
+      JavaArchive jar = Archives.create(deploymentName + JAR_FILE_SUFFIX, JavaArchive.class);
+      jar.addClasses(classes);
+      URL deployment = writeToFileSystem(jar);
+      this.deploy(deployment);
+   }
+ 
+ 
+   /**
+    * Writes out to {@link File}, the ShrinkWrap {@link JavaArchive}
+    * @param javaArchive
+    * @return
+    * @throws IOException
+    */
+   protected URL writeToFileSystem(JavaArchive javaArchive) throws IOException
+   {
+      InputStream inputStream = javaArchive.as(ZipExporter.class).exportZip();
+      String jarFileName = javaArchive.getName();
+      
+      File jarFile = new File(TEST_DEPLOYMENTS_FOLDER, jarFileName);
+      logger.debug("Writing out jar " + jarFile.getAbsolutePath() + " : " + javaArchive.toString(true));
+      FileOutputStream fos = new FileOutputStream(jarFile);
+      BufferedOutputStream bos = null;
+      BufferedInputStream bis = null;
+      try
+      {
+         bos = new BufferedOutputStream(fos);
+         bis = new BufferedInputStream(inputStream);
+         byte[] content = new byte[4096];
+         int length;
+         while ((length = bis.read(content)) != -1)
+         {
+            bos.write(content, 0, length);
+         }
+         bos.flush();
+      }
+      finally
+      {
+         if (bos != null)
+         {
+            bos.close();
+         }
+         if (bis != null)
+         {
+            bis.close();
+         }
+      }
+      return jarFile.toURI().toURL();
+   }
+   
+
+}

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer (from rev 99346, projects/ejb3/trunk/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer)

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit (from rev 99346, projects/ejb3/trunk/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit)

Deleted: projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit/SingletonContainerDeployerTestCase.java
===================================================================
--- projects/ejb3/trunk/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit/SingletonContainerDeployerTestCase.java	2010-01-13 16:44:19 UTC (rev 99346)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit/SingletonContainerDeployerTestCase.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -1,114 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.ejb3.singleton.test.deployer.unit;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.net.URL;
-
-import org.jboss.aop.AspectXmlLoader;
-import org.jboss.ejb3.singleton.SingletonContainer;
-import org.jboss.ejb3.singleton.deployer.SingletonContainerDeployer;
-import org.jboss.ejb3.singleton.test.common.VDFServer;
-import org.jboss.ejb3.singleton.test.common.VDFServerImpl;
-import org.jboss.ejb3.singleton.test.simple.SimpleSingletonBean;
-import org.jboss.logging.Logger;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-/**
- * SingletonContainerDeployerTestCase
- *
- * Tests the {@link SingletonContainerDeployer}
- * 
- * @author Jaikiran Pai
- * @version $Revision: $
- */
-public class SingletonContainerDeployerTestCase
-{
-
-   private static Logger logger = Logger.getLogger(SingletonContainerDeployerTestCase.class);
-
-   private VDFServer vdfServer;
-
-   private final String BASE_DIR = System.getProperty("basedir");
-
-   /**
-    * Start the {@link VDFServer} and deploy the necessary artifacts
-    * 
-    * @throws Exception
-    */
-   @Before
-   public void beforeTest() throws Exception
-   {
-      this.vdfServer = new VDFServerImpl();
-      this.vdfServer.startServer();
-      // the ejb3-singleton-jboss-beans.xml (which gets shipped by this module)
-      File srcResourcesDir = new File(BASE_DIR, "src/main/resources");
-      File ejb3SingletonJBossBeansXml = new File(srcResourcesDir, "META-INF/ejb3-singleton-jboss-beans.xml");
-      Assert.assertNotNull("Could not locate META-INF/ejb3-singleton-jboss-beans.xml", ejb3SingletonJBossBeansXml);
-      this.vdfServer.deploy(ejb3SingletonJBossBeansXml.toURI().toURL());
-
-      // the test case ejb3-test-jboss-beans.xml
-      URL testDeployersXML = Thread.currentThread().getContextClassLoader().getResource(
-            "org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml");
-      Assert.assertNotNull("Could not locate org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml", testDeployersXML);
-      this.vdfServer.deploy(testDeployersXML);
-
-      // singleton-container-aop.xml
-      URL singletonAOPXML = Thread.currentThread().getContextClassLoader().getResource(
-            "org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml");
-      Assert.assertNotNull("Could not locate org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml", singletonAOPXML);
-      AspectXmlLoader.deployXML(singletonAOPXML);
-
-   }
-
-   /**
-    * Stop the {@link VDFServer}
-    * @throws Exception
-    */
-   @After
-   public void afterTest() throws Exception
-   {
-      if (this.vdfServer != null)
-      {
-         this.vdfServer.stopServer();
-      }
-   }
-
-   /**
-    * TODO: This is WIP! Needs to be completed after the {@link SingletonContainer} is more robust
-    * 
-    * @throws Exception
-    */
-   @Test
-   public void test() throws Exception
-   {
-      //
-      this.vdfServer.deploy("test-deployment", SimpleSingletonBean.class);
-      logger.warn(SingletonContainerDeployerTestCase.class.getName() + " is WIP, needs to be completed");
-
-   }
-
-}

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit/SingletonContainerDeployerTestCase.java (from rev 99346, projects/ejb3/trunk/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit/SingletonContainerDeployerTestCase.java)
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit/SingletonContainerDeployerTestCase.java	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/deployer/unit/SingletonContainerDeployerTestCase.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,114 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.ejb3.singleton.test.deployer.unit;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.net.URL;
+
+import org.jboss.aop.AspectXmlLoader;
+import org.jboss.ejb3.singleton.SingletonContainer;
+import org.jboss.ejb3.singleton.deployer.SingletonContainerDeployer;
+import org.jboss.ejb3.singleton.test.common.VDFServer;
+import org.jboss.ejb3.singleton.test.common.VDFServerImpl;
+import org.jboss.ejb3.singleton.test.simple.SimpleSingletonBean;
+import org.jboss.logging.Logger;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * SingletonContainerDeployerTestCase
+ *
+ * Tests the {@link SingletonContainerDeployer}
+ * 
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class SingletonContainerDeployerTestCase
+{
+
+   private static Logger logger = Logger.getLogger(SingletonContainerDeployerTestCase.class);
+
+   private VDFServer vdfServer;
+
+   private final String BASE_DIR = System.getProperty("basedir");
+
+   /**
+    * Start the {@link VDFServer} and deploy the necessary artifacts
+    * 
+    * @throws Exception
+    */
+   @Before
+   public void beforeTest() throws Exception
+   {
+      this.vdfServer = new VDFServerImpl();
+      this.vdfServer.startServer();
+      // the ejb3-singleton-jboss-beans.xml (which gets shipped by this module)
+      File srcResourcesDir = new File(BASE_DIR, "src/main/resources");
+      File ejb3SingletonJBossBeansXml = new File(srcResourcesDir, "META-INF/ejb3-singleton-jboss-beans.xml");
+      Assert.assertNotNull("Could not locate META-INF/ejb3-singleton-jboss-beans.xml", ejb3SingletonJBossBeansXml);
+      this.vdfServer.deploy(ejb3SingletonJBossBeansXml.toURI().toURL());
+
+      // the test case ejb3-test-jboss-beans.xml
+      URL testDeployersXML = Thread.currentThread().getContextClassLoader().getResource(
+            "org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml");
+      Assert.assertNotNull("Could not locate org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml", testDeployersXML);
+      this.vdfServer.deploy(testDeployersXML);
+
+      // singleton-container-aop.xml
+      URL singletonAOPXML = Thread.currentThread().getContextClassLoader().getResource(
+            "org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml");
+      Assert.assertNotNull("Could not locate org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml", singletonAOPXML);
+      AspectXmlLoader.deployXML(singletonAOPXML);
+
+   }
+
+   /**
+    * Stop the {@link VDFServer}
+    * @throws Exception
+    */
+   @After
+   public void afterTest() throws Exception
+   {
+      if (this.vdfServer != null)
+      {
+         this.vdfServer.stopServer();
+      }
+   }
+
+   /**
+    * TODO: This is WIP! Needs to be completed after the {@link SingletonContainer} is more robust
+    * 
+    * @throws Exception
+    */
+   @Test
+   public void test() throws Exception
+   {
+      //
+      this.vdfServer.deploy("test-deployment", SimpleSingletonBean.class);
+      logger.warn(SingletonContainerDeployerTestCase.class.getName() + " is WIP, needs to be completed");
+
+   }
+
+}

Modified: projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/simple/unit/SimpleSingletonTestCase.java
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/simple/unit/SimpleSingletonTestCase.java	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/java/org/jboss/ejb3/singleton/test/simple/unit/SimpleSingletonTestCase.java	2010-01-13 21:41:36 UTC (rev 99368)
@@ -30,19 +30,20 @@
 import java.util.HashSet;
 import java.util.Hashtable;
 
+import junit.framework.Assert;
+
 import org.jboss.aop.AspectManager;
 import org.jboss.aop.AspectXmlLoader;
 import org.jboss.aop.Domain;
 import org.jboss.ejb3.Ejb3Deployment;
 import org.jboss.ejb3.common.lang.SerializableMethod;
 import org.jboss.ejb3.common.metadata.MetadataUtil;
-import org.jboss.ejb3.proxy.intf.SessionProxy;
 import org.jboss.ejb3.singleton.SingletonContainer;
-import org.jboss.ejb3.singleton.metadata.SingletonProcessor;
 import org.jboss.ejb3.singleton.test.common.MockEjb3Deployment;
 import org.jboss.ejb3.singleton.test.simple.SimpleSingletonBean;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.annotation.creator.AbstractCreator;
+import org.jboss.metadata.annotation.creator.ejb.SingletonProcessor;
 import org.jboss.metadata.annotation.creator.ejb.jboss.JBoss50Creator;
 import org.jboss.metadata.annotation.finder.AnnotationFinder;
 import org.jboss.metadata.annotation.finder.DefaultAnnotationFinder;
@@ -139,25 +140,12 @@
       JBossSessionBeanMetaData beanMetaData = getMetaDataFromBeanImplClass(SimpleSingletonBean.class);
       SingletonContainer container = new SingletonContainer(cl, beanMetaData.getEjbClass(), beanMetaData.getEjbName(), domain, ctxProperties, deployment, beanMetaData);
       
-      SessionProxy proxy = new SessionProxy() {
-         @Override
-         public Object getTarget()
-         {
-            return null;
-         }
-         
-         @Override
-         public void setTarget(Object target)
-         {
-            // TODO Auto-generated method stub
-            //
-            throw new RuntimeException("NYI");
-         }
-         
-      };
+      
       Method realMethod = SimpleSingletonBean.class.getMethod("getState");
       SerializableMethod method = new SerializableMethod(realMethod, SimpleSingletonBean.class);
       Object args[] = null;
-      container.invoke(proxy, method, args);
+      Object result = container.invoke(null, method, args);
+      // TODO: Enable after the singleton container has a complete implementation 
+      //Assert.assertNotNull("Result from singleton bean was null", result);
    }
 }

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/classloader.xml (from rev 99346, projects/ejb3/trunk/singleton/src/test/resources/classloader.xml)
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/test/resources/classloader.xml	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/resources/classloader.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+    <!--  We don't want the AOPDependencyBuilder  -->
+    <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
+
+    
+    <bean name="SimpleClassLoaderDeployer" class="org.jboss.ejb3.singleton.test.common.SimpleClassLoaderDeployer"/>
+<!-- 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>
+   <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="ClassLoaderClassPathDeployer" class="org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderClassPathDeployer"/>
+   <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>
+</deployment>
\ No newline at end of file

Modified: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/log4j.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/test/resources/log4j.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/resources/log4j.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -61,7 +61,7 @@
 
   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
     <param name="Target" value="System.out"/>
-    <param name="Threshold" value="DEBUG"/>
+    
 
     <layout class="org.apache.log4j.PatternLayout">
       <!-- The default pattern: Date Priority [Category] Message\n -->
@@ -107,9 +107,13 @@
   </category>
   
   <category name="org.jboss">
-    <priority value="INFO"/>
+    <priority value="DEBUG"/>
   </category>
-  
+<!-- 
+  <category name="org.jboss.deployers">
+    <priority value="TRACE"/>
+  </category>
+  -->
   <!-- 
   Unnecessary, EJB3 is exposed as DEBUG
   <category name="org.jboss.ejb3.interceptors.aop.DomainClassLoader">

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org (from rev 99346, projects/ejb3/trunk/singleton/src/test/resources/org)

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss (from rev 99346, projects/ejb3/trunk/singleton/src/test/resources/org/jboss)

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3 (from rev 99346, projects/ejb3/trunk/singleton/src/test/resources/org/jboss/ejb3)

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton (from rev 99346, projects/ejb3/trunk/singleton/src/test/resources/org/jboss/ejb3/singleton)

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test (from rev 99346, projects/ejb3/trunk/singleton/src/test/resources/org/jboss/ejb3/singleton/test)

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer (from rev 99346, projects/ejb3/trunk/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer)

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit (from rev 99346, projects/ejb3/trunk/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit)

Deleted: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml
===================================================================
--- projects/ejb3/trunk/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml	2010-01-13 16:44:19 UTC (rev 99346)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
-    <!--  We don't want the AOPDependencyBuilder  -->
-    <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
-       
-          <!-- JNDI -->
-        <bean name="NamingServer" class="org.jnp.server.SingletonNamingServer"/>
-    <!-- Setup java:comp namespace so that it binds an ObjectFactory which returns unique java:comp namespace
-    per TCCL -->
-    <bean name="JavaCompInitializer" class="org.jboss.naming.JavaCompInitializer">
-        <depends>NamingServer</depends>
-    </bean>
-       
-       
-       <bean name="EjbAnnotationMetaDataDeployer" class="org.jboss.ejb3.deployers.EjbAnnotationMetaDataDeployer"/>
-        <bean name="MergedJBossMetaDataDeployer" class="org.jboss.ejb3.deployers.MergedJBossMetaDataDeployer"/>
-    
-    
-    <bean name="EJBsDeployer"    class="org.jboss.ejb3.deployers.EJBsDeployer"/>
-    
-    
-    <bean name="MockEJB3DeploymentDeployer"    class="org.jboss.ejb3.singleton.test.common.MockEjb3DeploymentDeployer"/>
-    
-    
-    
-</deployment>
\ No newline at end of file

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml (from rev 99346, projects/ejb3/trunk/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml)
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/ejb3-test-deployers-jboss-beans.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+    <!--  We don't want the AOPDependencyBuilder  -->
+    <annotation>@org.jboss.aop.microcontainer.annotations.DisableAOP</annotation>
+       
+          <!-- JNDI -->
+        <bean name="NamingServer" class="org.jnp.server.SingletonNamingServer"/>
+    <!-- Setup java:comp namespace so that it binds an ObjectFactory which returns unique java:comp namespace
+    per TCCL -->
+    <bean name="JavaCompInitializer" class="org.jboss.naming.JavaCompInitializer">
+        <depends>NamingServer</depends>
+    </bean>
+       
+       
+       <bean name="EjbAnnotationMetaDataDeployer" class="org.jboss.ejb3.deployers.EjbAnnotationMetaDataDeployer"/>
+        <bean name="MergedJBossMetaDataDeployer" class="org.jboss.ejb3.deployers.MergedJBossMetaDataDeployer"/>
+    
+    
+    <bean name="EJBsDeployer"    class="org.jboss.ejb3.deployers.EJBsDeployer"/>
+    
+    
+    <bean name="MockEJB3DeploymentDeployer"    class="org.jboss.ejb3.singleton.test.common.MockEjb3DeploymentDeployer"/>
+    
+    
+    
+</deployment>
\ No newline at end of file

Deleted: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml
===================================================================
--- projects/ejb3/trunk/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml	2010-01-13 16:44:19 UTC (rev 99346)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<aop xmlns="urn:jboss:aop-beans:1.0">
-   <interceptor class="org.jboss.ejb3.singleton.SingletonInstanceInterceptor" scope="PER_VM"/>
-   
-   <!--  Dummy -->
-   <domain name="Singleton Bean" inheritBindings="true">
-      <bind pointcut="execution(public * *->*(..))">
-         <interceptor-ref name="org.jboss.ejb3.singleton.SingletonInstanceInterceptor"/>
-      </bind>
-   </domain>
-</aop>
\ No newline at end of file

Copied: projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml (from rev 99346, projects/ejb3/trunk/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml)
===================================================================
--- projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml	                        (rev 0)
+++ projects/ejb3/branches/vfs3-int/singleton/src/test/resources/org/jboss/ejb3/singleton/test/deployer/unit/singleton-container-aop.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<aop xmlns="urn:jboss:aop-beans:1.0">
+   <interceptor class="org.jboss.ejb3.singleton.SingletonInstanceInterceptor" scope="PER_VM"/>
+   
+   <!--  Dummy -->
+   <domain name="Singleton Bean" inheritBindings="true">
+      <bind pointcut="execution(public * *->*(..))">
+         <interceptor-ref name="org.jboss.ejb3.singleton.SingletonInstanceInterceptor"/>
+      </bind>
+   </domain>
+</aop>
\ No newline at end of file

Modified: projects/ejb3/branches/vfs3-int/testsuite/build-test.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/testsuite/build-test.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/testsuite/build-test.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -2759,26 +2759,7 @@
       </copy>
    </target>
 
-   <target name="singleton" description="Builds jar files for the singleton unit.">
-      <mkdir dir="${build.lib}"/>
-      <jar jarfile="${build.lib}/singleton-test.jar">
-         <fileset dir="${build.classes}">
-            <include name="org/jboss/ejb3/test/singleton/*.class"/>
-            <include name="org/jboss/ejb3/test/singleton/lock/*.class"/>
-         </fileset>
-         <fileset dir="${resources}/test/singleton">
-            <include name="aspectdomain-ejb3-interceptors-aop.xml"/>
-         </fileset>
-      </jar>
-      <jar jarfile="${build.lib}/singletonpool.jar">
-         <fileset dir="${build.classes}">
-            <include name="org/jboss/ejb3/test/singleton/pool/*.class"/>
-         </fileset>
-         <fileset dir="${resources}/test/singleton">
-            <include name="singleton-jboss-beans.xml"/>
-         </fileset>
-      </jar>
-   </target>
+   
 
    <target name="relationships"
       description="Builds all jar files."
@@ -4282,7 +4263,7 @@
       timer, benchmark, entity, joininheritance, singletable, tableperclass, dependent, mdb, manytomany, regression,
       composite, composite2, entitycallback, relationships, ssl, ssladvanced, clusteredsession, strictpool, jacc,
       localcall, interceptors, interceptors2, interceptors3, iiop, clientinterceptor,
-      statelesscreation, changexml, externalrefscoped, singleton, ejbthree1671, ejbthree1677, ejbthree1629, 
+      statelesscreation, changexml, externalrefscoped, ejbthree1671, ejbthree1677, ejbthree1629, 
       ejbthree1807, ejbthree1346, ejbthree1823, ejbthree1858, ejbthree1876, ejbthree1926"/>
 
    <target name="test" depends="init" if="test"
@@ -4847,9 +4828,6 @@
          <param name="test" value="strictpool"/>
       </antcall>
       <antcall target="test" inheritRefs="true">
-         <param name="test" value="singleton"/>
-      </antcall>
-      <antcall target="test" inheritRefs="true">
          <param name="test" value="stateless"/>
       </antcall>
 	  <antcall target="test" inheritRefs="true">

Modified: projects/ejb3/branches/vfs3-int/transactions/pom.xml
===================================================================
--- projects/ejb3/branches/vfs3-int/transactions/pom.xml	2010-01-13 21:40:03 UTC (rev 99367)
+++ projects/ejb3/branches/vfs3-int/transactions/pom.xml	2010-01-13 21:41:36 UTC (rev 99368)
@@ -42,7 +42,7 @@
       <dependency>
         <groupId>org.jboss</groupId>
         <artifactId>jboss-common-core</artifactId>
-        <version>2.2.11.GA</version>
+        <version>2.2.17.GA</version>
       </dependency>
       <dependency>
         <groupId>org.jboss</groupId>




More information about the jboss-cvs-commits mailing list