[jboss-cvs] JBossAS SVN: r101827 - in projects/jboss-deployers/trunk: deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Mar 4 09:28:41 EST 2010
Author: alesj
Date: 2010-03-04 09:28:40 -0500 (Thu, 04 Mar 2010)
New Revision: 101827
Removed:
projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/classloading/
Modified:
projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/DeploymentValidationDeployer.java
projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoaderDependenciesTest.java
projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoadingLifeCycleUnitTestCase.java
projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/bootstrap/bootstrap.xml
Log:
[JBDEPLOY-248]; add DMD test for lifecycle.
Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/DeploymentValidationDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/DeploymentValidationDeployer.java 2010-03-04 14:16:11 UTC (rev 101826)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/DeploymentValidationDeployer.java 2010-03-04 14:28:40 UTC (rev 101827)
@@ -37,8 +37,8 @@
*/
public class DeploymentValidationDeployer extends AbstractSimpleRealDeployer<DeploymentMetaData>
{
- private static final ControllerState DESCRIBED = ControllerState.getInstance(DeploymentStages.DESCRIBE.getName());
- private static final ControllerState REAL = ControllerState.getInstance(DeploymentStages.REAL.getName());
+ private static final ControllerState DESCRIBED = ControllerState.newState(DeploymentStages.DESCRIBE.getName());
+ private static final ControllerState REAL = ControllerState.newState(DeploymentStages.REAL.getName());
private ControllerStateModel states;
private boolean throwException = true;
@@ -54,7 +54,6 @@
setStage(DeploymentStages.POST_PARSE);
}
- @Override
public void deploy(DeploymentUnit unit, DeploymentMetaData deployment) throws DeploymentException
{
DeploymentStage requiredStage = deployment.getRequiredStage();
Modified: projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoaderDependenciesTest.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoaderDependenciesTest.java 2010-03-04 14:16:11 UTC (rev 101826)
+++ projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoaderDependenciesTest.java 2010-03-04 14:28:40 UTC (rev 101827)
@@ -31,12 +31,7 @@
import org.jboss.classloader.spi.ParentPolicy;
import org.jboss.classloading.spi.dependency.ClassLoading;
import org.jboss.classloading.spi.dependency.policy.mock.MockClassLoadingMetaData;
-import org.jboss.classloading.spi.metadata.CapabilitiesMetaData;
-import org.jboss.classloading.spi.metadata.Capability;
-import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
-import org.jboss.classloading.spi.metadata.ClassLoadingMetaDataFactory;
-import org.jboss.classloading.spi.metadata.Requirement;
-import org.jboss.classloading.spi.metadata.RequirementsMetaData;
+import org.jboss.classloading.spi.metadata.*;
import org.jboss.classloading.spi.version.Version;
import org.jboss.classloading.spi.version.VersionRange;
import org.jboss.deployers.client.spi.DeployerClient;
@@ -202,10 +197,15 @@
protected static void addMetaData(PredeterminedManagedObjectAttachments attachments, ClassLoadingMetaData md)
{
+ addMetaData(attachments, md, ClassLoadingMetaData.class);
+ }
+
+ protected static <T> void addMetaData(PredeterminedManagedObjectAttachments attachments, T md, Class<T> expectedType)
+ {
MutableAttachments mutable = (MutableAttachments) attachments.getPredeterminedManagedObjects();
- mutable.addAttachment(ClassLoadingMetaData.class, md);
+ mutable.addAttachment(expectedType, md);
}
-
+
protected ClassLoaderDomain assertDomain(String name) throws Exception
{
ClassLoaderDomain result = system.getDomain(name);
Modified: projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoadingLifeCycleUnitTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoadingLifeCycleUnitTestCase.java 2010-03-04 14:16:11 UTC (rev 101826)
+++ projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/ClassLoadingLifeCycleUnitTestCase.java 2010-03-04 14:28:40 UTC (rev 101827)
@@ -21,16 +21,18 @@
*/
package org.jboss.test.deployers.classloading.test;
+import java.util.Collections;
import java.util.List;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
import org.jboss.classloading.spi.dependency.LifeCycle;
import org.jboss.classloading.spi.dependency.Module;
import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
+import org.jboss.dependency.spi.Controller;
import org.jboss.deployers.client.spi.DeployerClient;
import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.plugins.classloading.DeploymentMetaData;
+import org.jboss.deployers.plugins.classloading.DeploymentValidationDeployer;
+import org.jboss.deployers.plugins.classloading.FilterMetaData;
import org.jboss.deployers.spi.deployer.Deployer;
import org.jboss.deployers.spi.deployer.DeploymentStages;
import org.jboss.deployers.structure.spi.DeploymentUnit;
@@ -39,17 +41,21 @@
import org.jboss.test.deployers.classloading.support.a.A;
import org.jboss.test.deployers.classloading.support.b.B;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
/**
* ClassLoadingLifeCycleUnitTestCase
*
* TODO test multiples
* TODO test non deployment lifecycles
* @author adrian at jboss.org
+ * @author ales.justin at jboss.org
*/
public class ClassLoadingLifeCycleUnitTestCase extends ClassLoaderDependenciesTest
{
MockDeployerImpl deployer3 = new MockDeployerImpl("Real");
-
+
public static Test suite()
{
return new TestSuite(ClassLoadingLifeCycleUnitTestCase.class);
@@ -63,7 +69,9 @@
@Override
protected DeployerClient getMainDeployer(Deployer... deployers)
{
- return super.getMainDeployer(deployer3);
+ Controller controller = getController();
+ DeploymentValidationDeployer dvd = new DeploymentValidationDeployer(controller);
+ return super.getMainDeployer(deployer3, dvd);
}
public void testSmoke() throws Exception
@@ -698,7 +706,54 @@
assertFalse(lifeCycleB.isResolved());
assertFalse(lifeCycleB.isStarted());
}
-
+
+ public void testDeploymentMetaData() throws Exception
+ {
+ DeployerClient deployer = getMainDeployer();
+
+ Deployment deploymentA = createSimpleDeployment(NameA);
+ addClassLoadingMetaData(deploymentA, deploymentA.getName(), null, A.class);
+ DeploymentMetaData dmd = new DeploymentMetaData();
+ dmd.setLazyResolve(true);
+ dmd.setLazyStart(true);
+ FilterMetaData data = new FilterMetaData();
+ data.setValue(A.class.getPackage().getName());
+ dmd.setFilters(Collections.singleton(data));
+ addMetaData(deploymentA, dmd, DeploymentMetaData.class);
+
+ DeploymentUnit unitA = assertDeploy(deployer, deploymentA);
+ LifeCycle lifeCycleA = assertLifeCycle(unitA);
+ assertFalse(lifeCycleA.isResolved());
+ assertFalse(lifeCycleA.isStarted());
+
+ Deployment deploymentB = createSimpleDeployment(NameB);
+ ClassLoadingMetaData clmdB = addClassLoadingMetaData(deploymentB, deploymentB.getName(), null, B.class);
+ addRequireModule(clmdB, deploymentA.getName(), null);
+
+ DeploymentUnit unitB = assertDeploy(deployer, deploymentB);
+ LifeCycle lifeCycleB = assertLifeCycle(unitB);
+ assertTrue(lifeCycleB.isResolved());
+ assertTrue(lifeCycleA.isResolved());
+ assertTrue(lifeCycleB.isStarted());
+ assertFalse(lifeCycleA.isStarted());
+
+ ClassLoader clA = unitA.getClassLoader();
+ ClassLoader clB = unitB.getClassLoader();
+ assertLoadClass(clB, A.class, clA);
+
+ assertTrue(lifeCycleA.isResolved());
+ assertTrue(lifeCycleA.isStarted());
+ assertTrue(lifeCycleB.isResolved());
+ assertTrue(lifeCycleB.isStarted());
+
+ assertUndeploy(deployer, deploymentB);
+ assertUndeploy(deployer, deploymentA);
+ assertFalse(lifeCycleA.isResolved());
+ assertFalse(lifeCycleA.isStarted());
+ assertFalse(lifeCycleB.isResolved());
+ assertFalse(lifeCycleB.isStarted());
+ }
+
protected LifeCycle assertLifeCycle(DeploymentUnit unit)
{
Module module = assertModule(unit);
Modified: projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/bootstrap/bootstrap.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/bootstrap/bootstrap.xml 2010-03-04 14:16:11 UTC (rev 101826)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/bootstrap/bootstrap.xml 2010-03-04 14:28:40 UTC (rev 101827)
@@ -105,6 +105,18 @@
<property name="name">jboss-classloading.xml</property>
<property name="buildManagedObject">true</property>
</bean>
+ <bean name="DeploymentMetaDataParser" class="org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer">
+ <constructor>
+ <parameter>org.jboss.deployers.plugins.classloading.DeploymentMetaData</parameter>
+ </constructor>
+ <property name="name">jboss-deployment.xml</property>
+ <property name="registerWithJBossXB">true</property>
+ </bean>
+ <bean name="DeploymentMetaDataValidation" class="org.jboss.deployers.plugins.classloading.DeploymentValidationDeployer">
+ <constructor>
+ <parameter><inject bean="jboss.kernel:service=KernelController"/></parameter>
+ </constructor>
+ </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"/>
More information about the jboss-cvs-commits
mailing list