[jboss-cvs] JBossAS SVN: r110039 - in projects/jboss-classpool/trunk: classpool/src/test/java/org/jboss/test/classpool/support and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Dec 20 08:47:33 EST 2010


Author: alesj
Date: 2010-12-20 08:47:32 -0500 (Mon, 20 Dec 2010)
New Revision: 110039

Modified:
   projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassLoaderFactory.java
   projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassPoolTestScenario.java
   projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/SanityTestScenario.java
   projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/TestScenario.java
   projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/JBossCLFactory.java
   projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainTest.java
   projects/jboss-classpool/trunk/pom.xml
   projects/jboss-classpool/trunk/ucl/src/test/java/org/jboss/test/classpool/ucl/support/UCLFactory.java
Log:
Fix domain lookup issue.


Modified: projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassLoaderFactory.java
===================================================================
--- projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassLoaderFactory.java	2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassLoaderFactory.java	2010-12-20 13:47:32 UTC (rev 110039)
@@ -28,19 +28,27 @@
  * Creates class loaders for {@link TestScenario}.
  * 
  * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
  * @version $Revision$
  */
-
 public interface ClassLoaderFactory<I extends ClassLoaderInfo>
 {
    /**
+    * A hack to make domain hierarchy work.
+    *
+    * @param name the domain name
+    * @throws Exception for any error
+    */
+   void createDomain(String name) throws Exception;
+
+   /**
     * Creates a class loader.
     * 
     * @param classLoaderInfo information necessary for the creation of the class loader
     * @return                the created class loader
     * @throws Exception      if an unexpected error occurs
     */
-   public ClassLoader create(I classLoaderInfo) throws Exception;
+   ClassLoader create(I classLoaderInfo) throws Exception;
    
    /**
     * Destroys the created class loader.
@@ -48,12 +56,12 @@
     * @param classLoaderInfo identifies the class loader to be destroyed
     * @throws Exception      if an unexpected error occurs
     */
-   public void destroy(I classLoaderInfo) throws Exception;
+   void destroy(I classLoaderInfo) throws Exception;
    
    /**
     * Destroys all class loaders that have been created by this factory so far.
     */
-   public void destroyAll();
+   void destroyAll();
    
    /**
     * Retrieves a class loader that has been previously created.
@@ -62,7 +70,7 @@
     * @return                the class loader corresponding to {@code classLoaderInfo}
     * @throws Exception      if an unexpected error occurs
     */
-   public ClassLoader retrieve(I classLoaderInfo) throws Exception;
+   ClassLoader retrieve(I classLoaderInfo) throws Exception;
    
    /**
     * Retrieves all class loaders that have been created so far.
@@ -70,7 +78,7 @@
     * @return  a collection with all class loaders that have been created (excluding the ones
     *          that have been destroyed)
     */
-   public Collection<ClassLoader> retrieveAll();
+   Collection<ClassLoader> retrieveAll();
    
    /**
     * Checks whether the class loader corresponding to {@code classLoaderInfo} is available
@@ -81,5 +89,5 @@
     *                      and has not been destroyed
     * @throws Exception    if an unexpected error occurs
     */
-   public boolean isAvailable(I classLoaderInfo) throws Exception;
+   boolean isAvailable(I classLoaderInfo) throws Exception;
 }
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassPoolTestScenario.java
===================================================================
--- projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassPoolTestScenario.java	2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassPoolTestScenario.java	2010-12-20 13:47:32 UTC (rev 110039)
@@ -26,15 +26,14 @@
 import java.util.List;
 import java.util.Map;
 
-import junit.framework.Assert;
+import org.jboss.classpool.spi.AbstractClassPoolFactory;
+import org.jboss.classpool.spi.ClassPoolRepository;
 
 import javassist.ClassPool;
 import javassist.CtClass;
 import javassist.NotFoundException;
+import junit.framework.Assert;
 
-import org.jboss.classpool.spi.AbstractClassPoolFactory;
-import org.jboss.classpool.spi.ClassPoolRepository;
-
 /**
  * This scenario is used by class pool test cases. All the operations performed using this
  * scenario are executed over CtClasses and ClassPools.
@@ -73,7 +72,7 @@
       super(classLoaderFactory);
       repository = classPoolRepository;
    }
-   
+
    @Override
    public ClassPool getLoader(CtClass clazz)
    {

Modified: projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/SanityTestScenario.java
===================================================================
--- projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/SanityTestScenario.java	2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/SanityTestScenario.java	2010-12-20 13:47:32 UTC (rev 110039)
@@ -45,7 +45,7 @@
    {
       super(classLoaderFactory);
    }
-   
+
    @Override
    public ClassLoader getLoader(Class<?> clazz)
    {

Modified: projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/TestScenario.java
===================================================================
--- projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/TestScenario.java	2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/TestScenario.java	2010-12-20 13:47:32 UTC (rev 110039)
@@ -35,6 +35,7 @@
  * @param <I> the ClassLoaderInfo that will be used to create class loaders for this scenario
  * 
  * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
  * @version $Revision$
  * @see SanityTestScenario
  * @see ClassPoolTestScenario
@@ -54,8 +55,19 @@
    {
       this.classLoaderFactory = classLoaderFactory;
    }
-   
+
    /**
+    * A hack to make domain hierarchy work.
+    *
+    * @param name the domain name
+    * @throws Exception for any error
+    */
+   public void createDomain(String name) throws Exception
+   {
+      classLoaderFactory.createDomain(name);
+   }
+
+   /**
     * Creates a loader.
     * 
     * @param classLoaderBuilder contains all the info necessary for the creation of a loader

Modified: projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/JBossCLFactory.java
===================================================================
--- projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/JBossCLFactory.java	2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/JBossCLFactory.java	2010-12-20 13:47:32 UTC (rev 110039)
@@ -24,10 +24,9 @@
 import java.util.Collection;
 import java.util.Map;
 
-import junit.framework.Assert;
-
 import org.jboss.classloader.spi.ClassLoaderDomain;
 import org.jboss.classloader.spi.ClassLoaderSystem;
+import org.jboss.classloader.spi.ParentPolicy;
 import org.jboss.classloader.spi.base.BaseClassLoader;
 import org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory;
 import org.jboss.classpool.plugins.jbosscl.VFSClassLoaderDomainRegistry;
@@ -36,10 +35,13 @@
 import org.jboss.test.AbstractTestCase;
 import org.jboss.test.classpool.support.ClassLoaderFactory;
 
+import junit.framework.Assert;
+
 /**
  * Creates JBoss Class Loaders (AS5 and newer).
  * 
  * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
  * @version $Revision$
  */
 public class JBossCLFactory implements ClassLoaderFactory<CLDeploymentBuilder>
@@ -66,7 +68,16 @@
       domainRegistry = (VFSClassLoaderDomainRegistry) mc.getBean("ClassLoaderScopingPolicy");
       this.loaderRegistry = new LoaderRegistry(mc);
    }
-   
+
+   public void createDomain(String name) throws Exception
+   {
+      if (system.isRegistered(name) == false)
+      {
+         ClassLoaderDomain dd = system.getDefaultDomain();
+         system.createAndRegisterDomain(name, ParentPolicy.BEFORE, dd);
+      }
+   }
+
    public synchronized ClassLoader create(CLDeploymentBuilder classLoaderBuilder) throws Exception
    {
       KernelDeployment deployment = classLoaderBuilder.createDeployment();

Modified: projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainTest.java
===================================================================
--- projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainTest.java	2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainTest.java	2010-12-20 13:47:32 UTC (rev 110039)
@@ -21,16 +21,14 @@
 */ 
 package org.jboss.test.classpool.jbosscl.test;
 
+import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
+import org.jboss.test.classpool.jbosscl.support.NoSuchClassLoaderException;
+
 import static org.jboss.classloader.spi.ClassLoaderSystem.DEFAULT_DOMAIN_NAME;
 import static org.jboss.test.classpool.jbosscl.support.SupportArchives.JAR_A_URL;
 import static org.jboss.test.classpool.jbosscl.support.SupportArchives.JAR_B_URL;
-import static org.jboss.test.classpool.jbosscl.support.SupportClasses.CLASS_A;
-import static org.jboss.test.classpool.jbosscl.support.SupportClasses.CLASS_B;
-import static org.jboss.test.classpool.jbosscl.support.SupportClasses.PACKAGE_A;
+import static org.jboss.test.classpool.jbosscl.support.SupportClasses.*;
 
-import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
-import org.jboss.test.classpool.jbosscl.support.NoSuchClassLoaderException;
-
 /**
  * Reproduces org.jboss.test.classloading.dependency.test.HierarchicalDomainUnitTestCase using
  * our test framework.
@@ -136,6 +134,9 @@
       testScenario.cannotGetLoader(childCLBuilder);
       
       CLDeploymentBuilder parentCLBuilder = createParentCLBuilderWithDomain();
+
+      testScenario.createDomain(PARENT_DOMAIN);
+
       L parentLoader = testScenario.createLoader(parentCLBuilder);
       assertCanLoadAButNotB(parentLoader);
       
@@ -155,6 +156,9 @@
       testScenario.cannotGetLoader(childCLBuilder);
       
       CLDeploymentBuilder parentCLBuilder = createParentCLBuilderWithDomain();
+
+      testScenario.createDomain(PARENT_DOMAIN);
+
       L parentLoader = testScenario.createLoader(parentCLBuilder);
       assertCanLoadAButNotB(parentLoader);
       
@@ -164,8 +168,7 @@
       assertRedeploy(childCLBuilder, parentCLBuilder);
    }
 
-   private void testParentTwoChildren(boolean parentFirst, boolean childImportAll)
-   throws NoSuchClassLoaderException, Exception
+   private void testParentTwoChildren(boolean parentFirst, boolean childImportAll) throws Exception
    {
       CLDeploymentBuilder parentCLBuilder = createParentCLBuilder();
       L parentLoader = testScenario.createLoader(parentCLBuilder);
@@ -228,7 +231,7 @@
    
    private void assertRedeploy(CLDeploymentBuilder childCLBuilder,
          CLDeploymentBuilder parentCLBuilder)
-         throws NoSuchClassLoaderException, Exception
+         throws Exception
    {
       L parentLoader;
       L childLoader;

Modified: projects/jboss-classpool/trunk/pom.xml
===================================================================
--- projects/jboss-classpool/trunk/pom.xml	2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/pom.xml	2010-12-20 13:47:32 UTC (rev 110039)
@@ -30,13 +30,13 @@
     <version.javassist>3.12.0.GA</version.javassist>
     <version.org.jboss.common>2.2.17.GA</version.org.jboss.common>
     <version.org.jboss.logging>2.2.0.CR1</version.org.jboss.logging>
-    <version.org.jboss.mdr>2.2.0.Alpha2</version.org.jboss.mdr>
+    <version.org.jboss.mdr>2.2.0.Alpha3</version.org.jboss.mdr>
     <version.org.jboss.jmx>6.0.0.20100216-M2</version.org.jboss.jmx>
-    <version.org.jboss.vfs>3.0.0.CR3</version.org.jboss.vfs>
+    <version.org.jboss.vfs>3.0.0.CR5</version.org.jboss.vfs>
     <version.org.jboss.man>2.1.1.SP1</version.org.jboss.man>
-    <version.org.jboss.cl>2.2.0.Alpha3</version.org.jboss.cl>
-    <version.org.jboss.kernel>2.2.0.Alpha8</version.org.jboss.kernel>
-    <version.org.jboss.deployers>2.2.0.Alpha3</version.org.jboss.deployers>
+    <version.org.jboss.cl>2.2.0.Alpha9</version.org.jboss.cl>
+    <version.org.jboss.kernel>2.2.0.Alpha10</version.org.jboss.kernel>
+    <version.org.jboss.deployers>2.2.0.Alpha8</version.org.jboss.deployers>
     <version.org.jboss.test>1.1.5.GA</version.org.jboss.test>
     <version.junit>4.8.1</version.junit>
     <version.jaxb>2.1.9</version.jaxb>

Modified: projects/jboss-classpool/trunk/ucl/src/test/java/org/jboss/test/classpool/ucl/support/UCLFactory.java
===================================================================
--- projects/jboss-classpool/trunk/ucl/src/test/java/org/jboss/test/classpool/ucl/support/UCLFactory.java	2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/ucl/src/test/java/org/jboss/test/classpool/ucl/support/UCLFactory.java	2010-12-20 13:47:32 UTC (rev 110039)
@@ -21,17 +21,15 @@
  */
 package org.jboss.test.classpool.ucl.support;
 
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
 import java.io.File;
 import java.io.FilenameFilter;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
-import junit.framework.Assert;
-
 import org.jboss.classpool.spi.ClassPoolRepository;
 import org.jboss.mx.loading.LoaderRepository;
 import org.jboss.mx.loading.RepositoryClassLoader;
@@ -40,6 +38,8 @@
 import org.jboss.test.classpool.support.ClassLoaderFactory;
 import org.jboss.util.NotImplementedException;
 
+import junit.framework.Assert;
+
 /**
  * A factory of Unified Class Loaders.
  * 
@@ -83,6 +83,11 @@
       }
    }
 
+   public void createDomain(String name) throws Exception
+   {
+      // TODO?
+   }
+
    public ClassLoader create(UCLInfo uclInfo) throws Exception
    {
       ClassLoader classLoader = uclInfo.create(globalRepository);



More information about the jboss-cvs-commits mailing list