[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