[jboss-cvs] JBossAS SVN: r63721 - in trunk/ejb3: src/main/org/jboss/ejb3 and 5 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jun 28 13:21:58 EDT 2007


Author: adrian at jboss.org
Date: 2007-06-28 13:21:58 -0400 (Thu, 28 Jun 2007)
New Revision: 63721

Modified:
   trunk/ejb3/.classpath
   trunk/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java
   trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/ClientENCInjectionContainer.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/AppClientParsingDeployer.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/AppClientScanningDeployer.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/EJBRegistrationDeployer.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/EJBStage2Deployer.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3ClientDeployer.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentScope.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentUnit.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossClientParsingDeployer.java
   trunk/ejb3/src/main/org/jboss/ejb3/metamodel/ApplicationClientDD.java
   trunk/ejb3/src/main/org/jboss/ejb3/security/JaccHelper.java
   trunk/ejb3/src/resources/META-INF/ejb3-deployers-beans.xml
Log:
Deployers reloaded

Modified: trunk/ejb3/.classpath
===================================================================
--- trunk/ejb3/.classpath	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/.classpath	2007-06-28 17:21:58 UTC (rev 63721)
@@ -32,7 +32,7 @@
 	<classpathentry kind="lib" path="/thirdparty/jboss/serialization/lib/jboss-serialization.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-container.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-dependency.jar"/>
-	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-microcontainer.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-kernel.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/jbossws/lib/jboss-jaxrpc.jar"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/connector"/>
 	<classpathentry exported="true" kind="lib" path="/thirdparty/jboss/jbossxb/lib/jboss-xml-binding.jar"/>
@@ -42,7 +42,6 @@
 	<classpathentry kind="lib" path="/thirdparty/jboss/security/lib/jbosssx.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/security-spi/lib/jboss-security-spi.jar"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/system-jmx"/>
-	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-deployers.jar" sourcepath="/home/tdiesler/svn/jbossmc/trunk/deployers/src/main"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/aop/lib/jboss-aop-jdk50.jar"/>
 	<classpathentry kind="lib" path="src/resources/test"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-vfs/lib/jboss-vfs.jar" sourcepath="/thirdparty/jboss/jboss-vfs/lib/jboss-vfs-sources.jar"/>
@@ -54,6 +53,10 @@
 	<classpathentry combineaccessrules="false" kind="src" path="/security"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/jboss-javaee/lib/jboss-javaee.jar" sourcepath="/thirdparty/jboss/jboss-javaee/lib/jboss-javaee-sources.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/jboss/jbossws-spi/lib/jbossws-spi.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-deployers-core-spi.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-deployers-core-spi-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-deployers-structure-spi.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-deployers-structure-spi-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-deployers-spi.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-deployers-spi-sources.jar"/>
+	<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-deployers-vfs-spi.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-deployers-vfs-spi-sources.jar"/>
 	<classpathentry kind="lib" path="/thirdparty/quartz/lib/quartz-all.jar"/>
 	<classpathentry kind="output" path="output/eclipse-classes"/>
 </classpath>

Modified: trunk/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -65,6 +65,7 @@
  * An EjbModule represents a collection of beans that are deployed as a unit.
  *
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @author adrian at jboss.org
  * @version $Revision$
  */
 public abstract class Ejb3Deployment

Modified: trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/ClientENCInjectionContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/ClientENCInjectionContainer.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/clientmodule/ClientENCInjectionContainer.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -37,11 +37,11 @@
 import javax.naming.NameNotFoundException;
 import javax.naming.NamingException;
 
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.ejb3.Container;
 import org.jboss.ejb3.DependencyPolicy;
 import org.jboss.ejb3.DeploymentScope;
 import org.jboss.ejb3.DeploymentUnit;
-import org.jboss.ejb3.Ejb3Deployment;
 import org.jboss.ejb3.Ejb3Module;
 import org.jboss.ejb3.deployers.JBoss5DependencyPolicy;
 import org.jboss.ejb3.deployers.JBoss5DeploymentScope;
@@ -50,8 +50,6 @@
 import org.jboss.ejb3.enc.MessageDestinationResolver;
 import org.jboss.ejb3.entity.PersistenceUnitDeployment;
 import org.jboss.ejb3.metamodel.ApplicationClientDD;
-import org.jboss.ejb3.metamodel.AssemblyDescriptor;
-import org.jboss.ejb3.metamodel.MessageDestination;
 import org.jboss.injection.DependsHandler;
 import org.jboss.injection.EJBHandler;
 import org.jboss.injection.EncInjector;
@@ -65,18 +63,19 @@
 import org.jboss.injection.ResourceHandler;
 import org.jboss.injection.WebServiceRefHandler;
 import org.jboss.logging.Logger;
+import org.jboss.metadata.serviceref.ServiceRefDelegate;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
 import org.jboss.metamodel.descriptor.EnvironmentRefGroup;
 import org.jboss.virtual.VirtualFile;
 import org.jboss.ws.integration.ServiceRefMetaData;
 import org.jboss.ws.integration.UnifiedVirtualFile;
-import org.jboss.metadata.serviceref.ServiceRefDelegate;
-import org.jboss.metadata.serviceref.VirtualFileAdaptor;
 
 /**
  * This class builds up the java:comp namespace for JavaEE 5 application clients.
  * It uses the existing injection framework to get this done.
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @author adrian at jboss.org
  * @version $Revision$
  */
 public class ClientENCInjectionContainer implements InjectionContainer
@@ -103,7 +102,7 @@
 
    private MessageDestinationResolver messageDestinationResolver;
 
-   public ClientENCInjectionContainer(org.jboss.deployers.spi.deployer.DeploymentUnit unit, ApplicationClientDD xml, Class<?> mainClass, String applicationClientName, ClassLoader classLoader, Context encCtx) throws NamingException
+   public ClientENCInjectionContainer(VFSDeploymentUnit unit, ApplicationClientDD xml, Class<?> mainClass, String applicationClientName, ClassLoader classLoader, Context encCtx) throws NamingException
    {
       if(mainClass == null)
          throw new NullPointerException("mainClass is mandatory");
@@ -141,12 +140,12 @@
       */
 
       //DeploymentScope scope = null;
-      if (unit.getDeploymentContext().getParent() != null)
+      if (unit.getParent() != null)
       {
-         this.deploymentScope = new JBoss5DeploymentScope(unit.getDeploymentContext().getParent());
+         this.deploymentScope = new JBoss5DeploymentScope(unit.getParent());
       }
 
-      ejbResolver = new ClientEjbResolver(deploymentScope, unit.getDeploymentContext().getRoot().getName());
+      ejbResolver = new ClientEjbResolver(deploymentScope, unit.getName());
       messageDestinationResolver = new MessageDestinationResolver(deploymentScope, xml.getMessageDestinations());
 
       String on = Ejb3Module.BASE_EJB3_JMX_NAME + createScopeKernelName(unit, deploymentScope) + ",name=" + applicationClientName;
@@ -163,11 +162,11 @@
       processMetaData();
    }
 
-   private String createScopeKernelName(org.jboss.deployers.spi.deployer.DeploymentUnit unit, DeploymentScope ear)
+   private String createScopeKernelName(VFSDeploymentUnit unit, DeploymentScope ear)
    {
       String scopedKernelName = "";
       if (ear != null) scopedKernelName += ",ear=" + ear.getShortName();
-      scopedKernelName += ",jar=" + unit.getDeploymentContext().getRoot().getName();
+      scopedKernelName += ",jar=" + unit.getName();
       return scopedKernelName;
    }
 

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/AppClientParsingDeployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/AppClientParsingDeployer.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/AppClientParsingDeployer.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -23,30 +23,30 @@
 
 import java.io.IOException;
 
-import org.jboss.deployers.plugins.deployers.helpers.ObjectModelFactoryDeployer;
 import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.deployer.ObjectModelFactoryDeployer;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.ejb3.metamodel.ApplicationClientDD;
 import org.jboss.ejb3.metamodel.ApplicationClientDDObjectFactory;
 import org.jboss.util.xml.DOMUtils;
 import org.jboss.virtual.VirtualFile;
 import org.jboss.xb.binding.ObjectModelFactory;
-import org.w3c.dom.Element;
 import org.w3c.dom.DocumentType;
+import org.w3c.dom.Element;
 
 /**
  * Comment
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @author adrian at jboss.org
  * @version $Revision: $
  */
 public class AppClientParsingDeployer extends ObjectModelFactoryDeployer<ApplicationClientDD>
 {
-   private String appClientXmlPath = "application-client.xml";
-   
    public AppClientParsingDeployer()
    {
       super(ApplicationClientDD.class);
+      setName("application-client.xml");
    }
    
    @Override
@@ -56,22 +56,14 @@
    }
 
    @Override
-   public void deploy(DeploymentUnit unit) throws DeploymentException
+   protected boolean accepts(VFSDeploymentUnit unit) throws DeploymentException
    {
-      if (accepts(unit))
-         createMetaData(unit, appClientXmlPath, null);
-   }
-   
-   /**
-    * This method looks to the deployment for a META-INF/application-client.xml
-    * descriptor to identify a j2ee client jar.
-    */
-   private boolean accepts(DeploymentUnit unit) throws DeploymentException
-   {
       boolean accepts = false;
 
+      // TODO This hack needs fixing properly
+      
       // The jar must contain an META-INF/application-client.xml
-      VirtualFile dd = unit.getMetaDataFile(appClientXmlPath);
+      VirtualFile dd = unit.getMetaDataFile(getName());
       if (dd != null)
       {
          log.debug("Found application-client.xml file: " + unit.getName());
@@ -86,7 +78,7 @@
          }
          catch (IOException ex)
          {
-            DeploymentException.rethrowAsDeploymentException("Cannot parse " + appClientXmlPath, ex);
+            DeploymentException.rethrowAsDeploymentException("Cannot parse " + getName(), ex);
          }
       }
 
@@ -108,7 +100,7 @@
             }
             catch (IOException ex)
             {
-               DeploymentException.rethrowAsDeploymentException("Cannot parse " + appClientXmlPath, ex);
+               DeploymentException.rethrowAsDeploymentException("Cannot parse jboss-client.xml", ex);
             }
          }
       }

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/AppClientScanningDeployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/AppClientScanningDeployer.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/AppClientScanningDeployer.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -21,47 +21,44 @@
  */
 package org.jboss.ejb3.deployers;
 
-import org.jboss.deployers.plugins.deployers.helpers.AbstractTypedDeployer;
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.DeploymentUnit;
-import org.jboss.ejb3.metamodel.ApplicationClientDD;
-import org.jboss.virtual.VirtualFile;
-
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.reflect.Field;
 import java.util.jar.Attributes;
 import java.util.jar.Manifest;
 
+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.metamodel.ApplicationClientDD;
+import org.jboss.virtual.VirtualFile;
+
 /**
  * Scan the main & super classes for annotations.
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @author adrian at jboss.org
  * @version $Revision: $
  */
-public class AppClientScanningDeployer extends AbstractTypedDeployer<ApplicationClientDD>
+public class AppClientScanningDeployer extends AbstractSimpleVFSRealDeployer<ApplicationClientDD>
 {
 
    public AppClientScanningDeployer()
    {
       super(ApplicationClientDD.class);
-      
-      setRelativeOrder(POSTPROCESS_CLASSLOADING_DEPLOYER);
+      setOutput(ApplicationClientDD.class);
    }
 
    /* (non-Javadoc)
     * @see org.jboss.deployers.plugins.deployer.AbstractSimpleDeployer#deploy(org.jboss.deployers.spi.deployer.DeploymentUnit)
     */
    @Override
-   public void deploy(DeploymentUnit unit) throws DeploymentException
+   public void deploy(VFSDeploymentUnit unit, ApplicationClientDD dd) throws DeploymentException
    {
-      ApplicationClientDD dd = unit.getAttachment(getDeploymentType());
       // FIXME: implement metadata complete
 //      if(dd != null && dd.getMetaDataComplete())
 //         return;
       // for now the EJB3 client deployer handles all
-      if(dd != null)
-         return;
       
       try
       {
@@ -91,7 +88,7 @@
    }
    
    // TODO: integrate with Ejb3ClientDeployer.getMainClassName
-   private String getMainClassName(DeploymentUnit unit) throws IOException
+   private String getMainClassName(VFSDeploymentUnit unit) throws IOException
    {
       VirtualFile file = unit.getMetaDataFile("MANIFEST.MF");
       log.trace("parsing " + file);

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/EJBRegistrationDeployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/EJBRegistrationDeployer.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/EJBRegistrationDeployer.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -21,33 +21,32 @@
 */
 package org.jboss.ejb3.deployers;
 
-import org.jboss.deployers.plugins.deployer.AbstractSimpleDeployer;
-import org.jboss.deployers.spi.deployer.DeploymentUnit;
+import java.io.InputStream;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Properties;
+
+import javax.management.MBeanServer;
+
 import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.structure.DeploymentContext;
+import org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.ejb3.DeploymentScope;
-import org.jboss.ejb3.Ejb3Deployment;
 import org.jboss.ejb3.EJB3Deployer;
-import org.jboss.ejb3.interceptor.InterceptorInfoRepository;
+import org.jboss.ejb3.Ejb3Deployment;
 import org.jboss.kernel.Kernel;
-import org.jboss.virtual.VirtualFile;
 import org.jboss.logging.Logger;
+import org.jboss.virtual.VirtualFile;
 
-import javax.management.MBeanServer;
-
-import java.io.InputStream;
-import java.util.HashSet;
-import java.util.Properties;
-import java.util.List;
-
 /**
  * Creates initial EJB deployments and initializes only basic metadata.
  * A registration process is required so that
  *
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @author adrian at jboss.org
  * @version $Revision: 57082 $
  */
-public class EJBRegistrationDeployer extends AbstractSimpleDeployer
+public class EJBRegistrationDeployer extends AbstractVFSRealDeployer
 {
    private static final Logger log = Logger.getLogger(EJBRegistrationDeployer.class);
 
@@ -57,12 +56,12 @@
    private Properties defaultPersistenceProperties;
    private List<String> allowedSuffixes;
 
+   /**
+    * Create a new EJBRegistrationDeployer.
+    */
    public EJBRegistrationDeployer()
    {
-      // make sure we run before the stage 2 deployer
-      // TODO: what's is the proper relative order?
-      // TODO: make sure we run before the security deployer (for now)
-      setRelativeOrder(COMPONENT_DEPLOYER - 2);
+      setOutput(Ejb3Deployment.class);
    }
    
    public List<String> getAllowedSuffixes()
@@ -115,12 +114,11 @@
       this.defaultPersistenceProperties = defaultPersistenceProperties;
    }
 
-   public void deploy(DeploymentUnit unit) throws DeploymentException
+   public void deploy(VFSDeploymentUnit unit) throws DeploymentException
    {
       try
       {
-         if (unit.getDeploymentContext().isComponent()) return;
-         VirtualFile jar = unit.getDeploymentContext().getRoot();
+         VirtualFile jar = unit.getRoot();
          if (jar.isLeaf() || ignoredJarsSet.contains(jar.getName())                 )
          {
             log.trace("EJBRegistrationDeployer ignoring: " + jar.getName());
@@ -141,14 +139,14 @@
             if (!has30EjbJarXml) return;
          }
          DeploymentScope scope = null;
-         DeploymentContext parent = unit.getDeploymentContext().getParent();
-         if (parent != null && parent.getRoot().getName().endsWith(".ear")) // todo should look for metadata instead of ".ear"
+         VFSDeploymentUnit parent = unit.getParent();
+         if (parent != null && parent.getName().endsWith(".ear")) // todo should look for metadata instead of ".ear"
          {
-            scope = parent.getTransientAttachments().getAttachment(DeploymentScope.class);
+            scope = parent.getAttachment(DeploymentScope.class);
             if (scope == null)
             {
-               scope = new JBoss5DeploymentScope(unit.getDeploymentContext().getParent());
-               parent.getTransientAttachments().addAttachment(DeploymentScope.class, scope);
+               scope = new JBoss5DeploymentScope(unit.getParent());
+               parent.addAttachment(DeploymentScope.class, scope);
             }
          }
          JBoss5DeploymentUnit du = new JBoss5DeploymentUnit(unit);
@@ -187,7 +185,7 @@
       return false;
    }
    
-   public void undeploy(DeploymentUnit unit)
+   public void undeploy(VFSDeploymentUnit unit)
    {
       Ejb3Deployment deployment = unit.getAttachment(Ejb3Deployment.class);
       if (deployment == null) return;
@@ -208,5 +206,4 @@
          log.error("failed to destroy deployment", e);
       }
    }
-
 }

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/EJBStage2Deployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/EJBStage2Deployer.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/EJBStage2Deployer.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -21,36 +21,34 @@
 */
 package org.jboss.ejb3.deployers;
 
-import org.jboss.deployers.plugins.deployer.AbstractSimpleDeployer;
 import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.DeploymentUnit;
+import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.ejb3.Ejb3Deployment;
-import org.jboss.logging.Logger;
 
 /**
  * Starts any initial EJB deployment created and initialized
  * by the EJBRegistrationDeployer
  *
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @author adrian at jboss.org
  * @version $Revision: 57082 $
  */
-public class EJBStage2Deployer extends AbstractSimpleDeployer
+public class EJBStage2Deployer extends AbstractSimpleRealDeployer<Ejb3Deployment>
 {
-   private static final Logger log = Logger.getLogger(EJBStage2Deployer.class);
-
+   /**
+    * Create a new EJBStage2Deployer.
+    */
    public EJBStage2Deployer()
    {
-      // make sure we run at right moment (before EJB3 client deployer)
-      setRelativeOrder(COMPONENT_DEPLOYER);
+      super(Ejb3Deployment.class);
    }
    
-   public void deploy(DeploymentUnit unit) throws DeploymentException
+   public void deploy(DeploymentUnit unit, Ejb3Deployment deployment) throws DeploymentException
    {
-      Ejb3Deployment deployment = unit.getAttachment(Ejb3Deployment.class);
-      if (deployment == null) return;
       try
       {
-         log.debug("********* EJBStage2 Begin Unit: " + unit.getName() + " jar: " + unit.getDeploymentContext().getRoot().getName());
+         log.debug("********* EJBStage2 Begin Unit: " + unit.getName() + " jar: " + unit.getName());
          deployment.start();
       }
       catch (Exception e)

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3ClientDeployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3ClientDeployer.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3ClientDeployer.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -21,49 +21,51 @@
  */
 package org.jboss.ejb3.deployers;
 
-import org.jboss.deployers.plugins.deployers.helpers.AbstractSimpleRealDeployer;
+import java.io.InputStream;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
+
+import javax.management.MBeanServer;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NameNotFoundException;
+import javax.naming.NamingException;
+
 import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.DeploymentUnit;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.deployer.AbstractSimpleVFSRealDeployer;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.ejb3.KernelAbstraction;
 import org.jboss.ejb3.MCKernelAbstraction;
 import org.jboss.ejb3.clientmodule.ClientENCInjectionContainer;
 import org.jboss.ejb3.metamodel.ApplicationClientDD;
 import org.jboss.kernel.Kernel;
-import org.jboss.logging.Logger;
 import org.jboss.naming.Util;
 import org.jboss.virtual.VirtualFile;
 
-import javax.management.MBeanServer;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NameNotFoundException;
-import javax.naming.NamingException;
-import java.io.InputStream;
-import java.util.jar.Attributes;
-import java.util.jar.Manifest;
-
 /**
  * Deploys a client application jar.
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @author adrian at jboss.org
  * @version $Revision: $
  */
-public class Ejb3ClientDeployer extends AbstractSimpleRealDeployer<ApplicationClientDD>
+public class Ejb3ClientDeployer extends AbstractSimpleVFSRealDeployer<ApplicationClientDD>
 {
-   private static final Logger log = Logger.getLogger(Ejb3ClientDeployer.class);
-
    private Kernel kernel;
    private MBeanServer server;
 
+   /**
+    * Create a new Ejb3ClientDeployer.
+    */
    public Ejb3ClientDeployer()
    {
       super(ApplicationClientDD.class);
-      // make sure we run after EJB3 deployer
-      setRelativeOrder(COMPONENT_DEPLOYER + 1);
+      setOutput(ClientENCInjectionContainer.class);
    }
 
    @Override
-   public void deploy(DeploymentUnit unit, ApplicationClientDD metaData) throws DeploymentException
+   public void deploy(VFSDeploymentUnit unit, ApplicationClientDD metaData) throws DeploymentException
    {
       log.debug("deploy " + unit.getName());
 
@@ -108,7 +110,7 @@
       if(jndiName != null)
          return jndiName;
 
-      String shortName = unit.getDeploymentContext().getRoot().getName();
+      String shortName = unit.getName();
       if(shortName.endsWith(".jar/"))
          jndiName = shortName.substring(0, shortName.length() - 5);
       else if(shortName.endsWith(".jar"))
@@ -130,7 +132,7 @@
    }
 
    // TODO: move this method either to a utility class or to the scanning deployer
-   protected String getMainClassName(DeploymentUnit unit, boolean fail) throws Exception
+   protected String getMainClassName(VFSDeploymentUnit unit, boolean fail) throws Exception
    {
       VirtualFile file = unit.getMetaDataFile("MANIFEST.MF");
       log.trace("parsing " + file);
@@ -192,7 +194,7 @@
    }
 
    @Override
-   public void undeploy(DeploymentUnit unit, ApplicationClientDD metaData)
+   public void undeploy(VFSDeploymentUnit unit, ApplicationClientDD metaData)
    {
       log.debug("undeploy " + unit.getName());
 

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -23,37 +23,34 @@
 
 import java.io.IOException;
 
+import javax.management.MBeanServer;
+import javax.security.jacc.PolicyConfiguration;
+
 import org.jboss.ejb3.DependencyPolicy;
-import org.jboss.ejb3.DeploymentUnit;
 import org.jboss.ejb3.DeploymentScope;
+import org.jboss.ejb3.DeploymentUnit;
 import org.jboss.ejb3.Ejb3Deployment;
-import org.jboss.ejb3.JmxDependencyPolicy;
 import org.jboss.ejb3.MCKernelAbstraction;
-import org.jboss.ejb3.MCDependencyPolicy;
 import org.jboss.ejb3.metamodel.EjbJarDD;
-import org.jboss.ejb3.metamodel.EjbJarDDObjectFactory;
-import org.jboss.ejb3.metamodel.JBossDDObjectFactory;
 import org.jboss.ejb3.security.JaccHelper;
 import org.jboss.kernel.Kernel;
 import org.jboss.logging.Logger;
 import org.jboss.xb.binding.JBossXBException;
 
-import javax.management.MBeanServer;
-import javax.security.jacc.PolicyConfiguration;
-
 /**
  * JBoss 4.0 Microkernel specific implementation
  *
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @author adrian at jboss.org
  * @version $Revision: 56592 $
  */
 public class Ejb3JBoss5Deployment extends Ejb3Deployment
 {
-   private org.jboss.deployers.spi.deployer.DeploymentUnit jbossUnit;
+   private org.jboss.deployers.structure.spi.DeploymentUnit jbossUnit;
 
    private static final Logger log = Logger.getLogger(Ejb3JBoss5Deployment.class);
 
-   public Ejb3JBoss5Deployment(DeploymentUnit ejb3Unit, Kernel kernel, MBeanServer mbeanServer, org.jboss.deployers.spi.deployer.DeploymentUnit jbossUnit, DeploymentScope deploymentScope)
+   public Ejb3JBoss5Deployment(DeploymentUnit ejb3Unit, Kernel kernel, MBeanServer mbeanServer, org.jboss.deployers.structure.spi.DeploymentUnit jbossUnit, DeploymentScope deploymentScope)
    {
       super(ejb3Unit, deploymentScope);
       this.jbossUnit = jbossUnit;

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentScope.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentScope.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentScope.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -21,19 +21,18 @@
 */
 package org.jboss.ejb3.deployers;
 
-import org.jboss.ejb3.DeploymentScope;
-import org.jboss.ejb3.Ejb3Deployment;
-import org.jboss.deployers.spi.structure.DeploymentContext;
-import org.jboss.deployers.spi.deployer.DeploymentUnit;
-
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.ejb3.DeploymentScope;
+import org.jboss.ejb3.Ejb3Deployment;
+
 /**
  * Abstraction for an EAR/WAR or anything that scopes EJB deployments
  *
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
+ * @author adrian at jboss.org
  * @version $Revision: 55144 $
  */
 public class JBoss5DeploymentScope implements DeploymentScope
@@ -42,7 +41,7 @@
    private String shortName;
    private String baseName;
 
-   public JBoss5DeploymentScope(DeploymentContext parent)
+   public JBoss5DeploymentScope(VFSDeploymentUnit parent)
    {
       // Use the root vfs path name
       this.shortName = parent.getRoot().getPathName();
@@ -63,11 +62,11 @@
       int idx = shortName.lastIndexOf('.');
       if( idx > 0 )
          baseName = shortName.substring(0, idx);
-      deployments = (ConcurrentHashMap<String, Ejb3Deployment>)parent.getDeploymentUnit().getAttachment("EJB_DEPLOYMENTS");
+      deployments = (ConcurrentHashMap<String, Ejb3Deployment>)parent.getAttachment("EJB_DEPLOYMENTS");
       if (deployments == null)
       {
          deployments = new ConcurrentHashMap<String, Ejb3Deployment>();
-         parent.getDeploymentUnit().addAttachment("EJB_DEPLOYMENTS", deployments);
+         parent.addAttachment("EJB_DEPLOYMENTS", deployments);
       }
    }
 

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentUnit.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentUnit.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBoss5DeploymentUnit.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -21,7 +21,6 @@
 */
 package org.jboss.ejb3.deployers;
 
-import java.io.File;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -29,9 +28,8 @@
 import java.util.List;
 import java.util.Map;
 
-import org.jboss.deployers.spi.deployer.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.ejb3.interceptor.InterceptorInfoRepository;
-import org.jboss.logging.Logger;
 import org.jboss.virtual.VirtualFile;
 import org.jboss.virtual.VirtualFileFilter;
 import org.jboss.virtual.VisitorAttributes;
@@ -47,13 +45,11 @@
  */
 public class JBoss5DeploymentUnit implements org.jboss.ejb3.DeploymentUnit
 {
-   private static final Logger log = Logger.getLogger(JBoss5DeploymentUnit.class);
-   
-   private DeploymentUnit unit;
+   private VFSDeploymentUnit unit;
    private InterceptorInfoRepository interceptorInfoRepository = new InterceptorInfoRepository();
    private Map defaultPersistenceProperties;
 
-   public JBoss5DeploymentUnit(DeploymentUnit unit)
+   public JBoss5DeploymentUnit(VFSDeploymentUnit unit)
    {
       this.unit = unit;
    }

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossClientParsingDeployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossClientParsingDeployer.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossClientParsingDeployer.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -23,9 +23,9 @@
 
 import java.io.IOException;
 
-import org.jboss.deployers.plugins.deployers.helpers.ObjectModelFactoryDeployer;
 import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.deployer.ObjectModelFactoryDeployer;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.ejb3.metamodel.ApplicationClientDD;
 import org.jboss.ejb3.metamodel.JBossClientDDObjectFactory;
 import org.jboss.util.xml.DOMUtils;
@@ -38,20 +38,16 @@
  * Comment
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @author adrian at jboss.org
  * @version $Revision: $
  */
 public class JBossClientParsingDeployer extends ObjectModelFactoryDeployer<ApplicationClientDD>
 {
-   private String jbossClientXmlPath = "jboss-client.xml";
-   
-   /**
-    * Set the relative order to PARSER_DEPLOYER+1 by default
-    *
-    */   
    public JBossClientParsingDeployer()
    {
       super(ApplicationClientDD.class);
-      setRelativeOrder(PARSER_DEPLOYER + 1);
+      setInput(ApplicationClientDD.class);
+      setName("jboss-client.xml");
    }
    
    @Override
@@ -71,22 +67,14 @@
    }
 
    @Override
-   public void deploy(DeploymentUnit unit) throws DeploymentException
+   protected boolean accepts(VFSDeploymentUnit unit) throws DeploymentException
    {
-      if (accepts(unit))
-         createMetaData(unit, jbossClientXmlPath, null);
-   }
-
-   /**
-    * This method looks to the deployment for a META-INF/application-client.xml
-    * descriptor to identify a j2ee client jar.
-    */
-   private boolean accepts(DeploymentUnit unit) throws DeploymentException
-   {
       boolean accepts = false;
 
+      // TODO fix this hack properly
+      
       // The jar must contain an META-INF/application-client.xml
-      VirtualFile dd = unit.getMetaDataFile(jbossClientXmlPath);
+      VirtualFile dd = unit.getMetaDataFile(getName());
       if (dd != null)
       {
          log.debug("Found application-client.xml file: " + unit.getName());
@@ -102,7 +90,7 @@
          }
          catch (IOException ex)
          {
-            DeploymentException.rethrowAsDeploymentException("Cannot parse " + jbossClientXmlPath, ex);
+            DeploymentException.rethrowAsDeploymentException("Cannot parse " + getName(), ex);
          }
       }
 

Modified: trunk/ejb3/src/main/org/jboss/ejb3/metamodel/ApplicationClientDD.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/metamodel/ApplicationClientDD.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/metamodel/ApplicationClientDD.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -23,10 +23,8 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
 
 import org.jboss.logging.Logger;
 import org.jboss.metamodel.descriptor.EnvironmentRefGroup;

Modified: trunk/ejb3/src/main/org/jboss/ejb3/security/JaccHelper.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/security/JaccHelper.java	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/main/org/jboss/ejb3/security/JaccHelper.java	2007-06-28 17:21:58 UTC (rev 63721)
@@ -23,11 +23,10 @@
 package org.jboss.ejb3.security;
 
 import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
 import java.security.CodeSource;
 import java.security.Policy;
 import java.security.Principal;
-import java.security.ProtectionDomain; 
+import java.security.ProtectionDomain;
 import java.util.Set;
 
 import javax.annotation.security.DeclareRoles;
@@ -41,20 +40,22 @@
 import javax.security.jacc.PolicyConfiguration;
 import javax.security.jacc.PolicyConfigurationFactory;
 import javax.security.jacc.PolicyContextException;
+
 import org.jboss.annotation.security.SecurityDomain;
 import org.jboss.aop.metadata.SimpleClassMetaDataBinding;
 import org.jboss.aop.metadata.SimpleClassMetaDataLoader;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployment.DeploymentInfo;
 import org.jboss.ejb3.EJBContainer;
 import org.jboss.logging.Logger;
-import org.jboss.deployers.spi.deployer.DeploymentUnit;
-import org.jboss.security.RealmMapping; 
+import org.jboss.security.RealmMapping;
 import org.jboss.security.RunAsIdentity;
 
 /**
  * JACC Helper class that created permissions as well as done the checks
  * @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
  * @author Anil.Saldhana at jboss.com
+ * @author adrian at jboss.org
  * @version $Revision$
  */
 public class JaccHelper

Modified: trunk/ejb3/src/resources/META-INF/ejb3-deployers-beans.xml
===================================================================
--- trunk/ejb3/src/resources/META-INF/ejb3-deployers-beans.xml	2007-06-28 17:21:50 UTC (rev 63720)
+++ trunk/ejb3/src/resources/META-INF/ejb3-deployers-beans.xml	2007-06-28 17:21:58 UTC (rev 63721)
@@ -10,16 +10,6 @@
    <bean name="DefaultPersistenceProperties" class="org.jboss.ejb3.DefaultPersistenceProperties"/>
 
    <bean name="EJBRegistrationDeployer" class="org.jboss.ejb3.deployers.EJBRegistrationDeployer">
-      <install bean="MainDeployer" method="addDeployer">
-         <parameter>
-            <this/>
-         </parameter>
-      </install>
-      <uninstall bean="MainDeployer" method="removeDeployer">
-         <parameter>
-            <this/>
-         </parameter>
-      </uninstall>
       <property name="type">ejb3x</property>
       <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
       <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
@@ -109,75 +99,25 @@
       <depends>AspectLibrary</depends>
    </bean>
    <bean name="EJBStage2Deployer" class="org.jboss.ejb3.deployers.EJBStage2Deployer">
-      <install bean="MainDeployer" method="addDeployer">
-         <parameter>
-            <this/>
-         </parameter>
-      </install>
-      <uninstall bean="MainDeployer" method="removeDeployer">
-         <parameter>
-            <this/>
-         </parameter>
-      </uninstall>
       <depends>AspectLibrary</depends>
    </bean>
    
    <bean name="AppClientParsingDeployer" class="org.jboss.ejb3.deployers.AppClientParsingDeployer">
-      <install bean="MainDeployer" method="addDeployer">
-         <parameter>
-            <this/>
-         </parameter>
-      </install>
-      <uninstall bean="MainDeployer" method="removeDeployer">
-         <parameter>
-            <this/>
-         </parameter>
-      </uninstall>
       <property name="type">car</property>
       <!-- TODO: check depends -->
       <depends>AspectLibrary</depends>
    </bean>
    
    <bean name="JBossClientParsingDeployer" class="org.jboss.ejb3.deployers.JBossClientParsingDeployer">
-      <install bean="MainDeployer" method="addDeployer">
-         <parameter>
-            <this/>
-         </parameter>
-      </install>
-      <uninstall bean="MainDeployer" method="removeDeployer">
-         <parameter>
-            <this/>
-         </parameter>
-      </uninstall>
       <property name="type">car</property>
       <depends>AppClientParsingDeployer</depends>
    </bean>
    
    <bean name="AppClientScanningDeployer" class="org.jboss.ejb3.deployers.AppClientScanningDeployer">
-      <install bean="MainDeployer" method="addDeployer">
-         <parameter>
-            <this/>
-         </parameter>
-      </install>
-      <uninstall bean="MainDeployer" method="removeDeployer">
-         <parameter>
-            <this/>
-         </parameter>
-      </uninstall>
       <depends>JBossClientParsingDeployer</depends>
    </bean>
    
    <bean name="Ejb3ClientDeployer" class="org.jboss.ejb3.deployers.Ejb3ClientDeployer">
-      <install bean="MainDeployer" method="addDeployer">
-         <parameter>
-            <this/>
-         </parameter>
-      </install>
-      <uninstall bean="MainDeployer" method="removeDeployer">
-         <parameter>
-            <this/>
-         </parameter>
-      </uninstall>
       <property name="type">car</property>
       <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
       <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>




More information about the jboss-cvs-commits mailing list