[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