[jboss-cvs] JBossAS SVN: r97633 - in projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool: jbosscl and 7 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Dec 9 14:21:46 EST 2009


Author: flavia.rainone at jboss.com
Date: 2009-12-09 14:21:45 -0500 (Wed, 09 Dec 2009)
New Revision: 97633

Added:
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/DelegatingClassPoolTestSuite.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/JBossClClassPoolFullTestSuite.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/JBossClClassPoolTestSuite.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/JBossClClassSanityTestSuite.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/CtClassCreationTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/UclClassPoolTestSuite.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ChildUCLInfo.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/GlobalUCLInfo.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/RepositoryClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/RepositorySanityTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/RepositoryTest.java
Removed:
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolDelegatingTestSuite.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolSanityTestSuite.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTestSuite.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/DelegatingClassPoolTestSuite.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ChildCLInfo.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/GlobalCLInfo.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UCLLoaderClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UCLLoaderSanityTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTestSuite.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclLoaderTest.java
Modified:
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/CLDeploymentBuilder.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/JBossCLFactory.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/LoaderRegistry.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/TestVFSClassLoaderPolicyModule.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ArchiveClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ArchiveSanityTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainSanityTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalParentLoaderClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalParentLoaderSanityTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTest.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTestDelegate.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ModuleDependencyClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ModuleDependencySanityTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/PackageDependencyClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/PackageDependencySanityTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportModuleClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportModuleSanityTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportPackageClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportPackageSanityTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReplaceReferencesClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/RepositoryClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/RepositorySanityTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/UsesPackageClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/UsesPackageSanityTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassFactory.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassLoaderFactory.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassLoaderInfo.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassPoolTestScenario.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/SanityTestScenario.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/SupportArchives.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/SupportClasses.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/TestScenario.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ClassPoolTest.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ClassPoolTestDelegate.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/IsLocalResourcePluginFactoryTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ParentFirstDelegatingClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ParentLastDelegatingClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ScopedSiblingDelegatingClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/SimpleDelegatingClassPoolTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ParentLastURLClassLoader.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ParentLastURLClassLoaderInfo.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/UCLFactory.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/UCLInfo.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/URLClassLoaderInfo.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/CtClassCreationTestCase.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTest.java
   projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTestDelegate.java
Log:
[JBREFLECT-74] Cleanup of tests completed.

Copied: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/DelegatingClassPoolTestSuite.java (from rev 97574, projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/DelegatingClassPoolTestSuite.java)
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/DelegatingClassPoolTestSuite.java	                        (rev 0)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/DelegatingClassPoolTestSuite.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
+package org.jboss.test.classpool;
+
+import org.jboss.test.classpool.test.IsLocalResourcePluginFactoryTestCase;
+import org.jboss.test.classpool.test.ParentFirstDelegatingClassPoolTestCase;
+import org.jboss.test.classpool.test.ParentLastDelegatingClassPoolTestCase;
+import org.jboss.test.classpool.test.ScopedSiblingDelegatingClassPoolTestCase;
+import org.jboss.test.classpool.test.SimpleDelegatingClassPoolTestCase;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+/**
+ * Test Suite for DelegatingClassPool test cases.
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision$
+ */
+public class DelegatingClassPoolTestSuite extends TestSuite
+{
+   public static void main(String[] args)
+   {
+      TestRunner.run(suite());
+   }
+
+   public static Test suite()
+   {
+      TestSuite suite = new TestSuite("DelegatingClassPool All Tests");
+      
+      suite.addTestSuite(IsLocalResourcePluginFactoryTestCase.class);
+      suite.addTestSuite(ParentFirstDelegatingClassPoolTestCase.class);
+      suite.addTestSuite(ParentLastDelegatingClassPoolTestCase.class);
+      suite.addTestSuite(ScopedSiblingDelegatingClassPoolTestCase.class);
+      suite.addTestSuite(SimpleDelegatingClassPoolTestCase.class);
+ 
+      return suite;
+   }
+}
\ No newline at end of file

Copied: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/JBossClClassPoolFullTestSuite.java (from rev 97574, projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTestSuite.java)
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/JBossClClassPoolFullTestSuite.java	                        (rev 0)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/JBossClClassPoolFullTestSuite.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
+package org.jboss.test.classpool.jbosscl;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+/**
+ * Contains all JBoss CL test cases.
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision$
+ */
+public class JBossClClassPoolFullTestSuite extends TestSuite
+{
+   public static void main(String[] args)
+   {
+      TestRunner.run(suite());
+   }
+
+   public static Test suite()
+   {
+      TestSuite suite = new TestSuite("JBoss-cl All Tests");
+      
+      suite.addTest(JBossClClassSanityTestSuite.suite());
+      suite.addTest(JBossClClassPoolTestSuite.suite());
+      return suite;
+   }
+}
\ No newline at end of file

Copied: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/JBossClClassPoolTestSuite.java (from rev 97574, projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolDelegatingTestSuite.java)
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/JBossClClassPoolTestSuite.java	                        (rev 0)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/JBossClClassPoolTestSuite.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
+package org.jboss.test.classpool.jbosscl;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+import org.jboss.test.classpool.jbosscl.test.ArchiveClassPoolTestCase;
+import org.jboss.test.classpool.jbosscl.test.CtClassCreationTestCase;
+import org.jboss.test.classpool.jbosscl.test.HierarchicalDomainClassPoolTestCase;
+import org.jboss.test.classpool.jbosscl.test.HierarchicalParentLoaderClassPoolTestCase;
+import org.jboss.test.classpool.jbosscl.test.ModuleDependencyClassPoolTestCase;
+import org.jboss.test.classpool.jbosscl.test.PackageDependencyClassPoolTestCase;
+import org.jboss.test.classpool.jbosscl.test.ReExportModuleClassPoolTestCase;
+import org.jboss.test.classpool.jbosscl.test.ReExportPackageClassPoolTestCase;
+import org.jboss.test.classpool.jbosscl.test.ReplaceReferencesClassPoolTestCase;
+import org.jboss.test.classpool.jbosscl.test.RepositoryClassPoolTestCase;
+import org.jboss.test.classpool.jbosscl.test.UsesPackageClassPoolTestCase;
+
+/**
+ * TestSuite for all JBossClClassPool test cases.
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @version $Revision$
+ */
+public class JBossClClassPoolTestSuite extends TestSuite
+{
+   public static void main(String[] args)
+   {
+      TestRunner.run(suite());
+   }
+
+   public static Test suite()
+   {
+      TestSuite suite = new TestSuite("JBoss-cl Pool Tests");
+      
+      suite.addTestSuite(ArchiveClassPoolTestCase.class);
+      suite.addTestSuite(CtClassCreationTestCase.class);
+      suite.addTestSuite(HierarchicalDomainClassPoolTestCase.class);
+      suite.addTestSuite(HierarchicalParentLoaderClassPoolTestCase.class);
+      suite.addTestSuite(ModuleDependencyClassPoolTestCase.class);
+      suite.addTestSuite(PackageDependencyClassPoolTestCase.class);
+      suite.addTestSuite(ReExportModuleClassPoolTestCase.class);
+      suite.addTestSuite(ReExportPackageClassPoolTestCase.class);
+      suite.addTestSuite(ReplaceReferencesClassPoolTestCase.class);
+      suite.addTestSuite(RepositoryClassPoolTestCase.class);
+      suite.addTestSuite(UsesPackageClassPoolTestCase.class);
+      return suite;
+   }
+}
\ No newline at end of file

Copied: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/JBossClClassSanityTestSuite.java (from rev 97574, projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolSanityTestSuite.java)
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/JBossClClassSanityTestSuite.java	                        (rev 0)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/JBossClClassSanityTestSuite.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
+package org.jboss.test.classpool.jbosscl;
+
+import org.jboss.test.classpool.jbosscl.test.ArchiveSanityTestCase;
+import org.jboss.test.classpool.jbosscl.test.HierarchicalDomainSanityTestCase;
+import org.jboss.test.classpool.jbosscl.test.HierarchicalParentLoaderSanityTestCase;
+import org.jboss.test.classpool.jbosscl.test.ModuleDependencySanityTestCase;
+import org.jboss.test.classpool.jbosscl.test.PackageDependencySanityTestCase;
+import org.jboss.test.classpool.jbosscl.test.ReExportModuleSanityTestCase;
+import org.jboss.test.classpool.jbosscl.test.ReExportPackageSanityTestCase;
+import org.jboss.test.classpool.jbosscl.test.RepositorySanityTestCase;
+import org.jboss.test.classpool.jbosscl.test.UsesPackageSanityTestCase;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+/**
+ * TestSuite for all JBossCl Sanity test cases.
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @version $Revision$
+ */
+public class JBossClClassSanityTestSuite extends TestSuite
+{
+   public static void main(String[] args)
+   {
+      TestRunner.run(suite());
+   }
+
+   public static Test suite()
+   {
+      TestSuite suite = new TestSuite("JBoss-cl Sanity Tests");
+      
+      suite.addTestSuite(ArchiveSanityTestCase.class);
+      suite.addTestSuite(HierarchicalDomainSanityTestCase.class);
+      suite.addTestSuite(HierarchicalParentLoaderSanityTestCase.class);
+      suite.addTestSuite(ModuleDependencySanityTestCase.class);
+      suite.addTestSuite(PackageDependencySanityTestCase.class);
+      suite.addTestSuite(ReExportModuleSanityTestCase.class);
+      suite.addTestSuite(ReExportPackageSanityTestCase.class);
+      suite.addTestSuite(RepositorySanityTestCase.class);
+      suite.addTestSuite(UsesPackageSanityTestCase.class);
+
+      return suite;
+   }
+}
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/CLDeploymentBuilder.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/CLDeploymentBuilder.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/CLDeploymentBuilder.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -42,6 +42,7 @@
 import org.jboss.test.classpool.support.ClassLoaderInfo;
 
 /**
+ * Builds a CLDeployment that will result in the creation of a ClassLoader.
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision$
@@ -92,7 +93,6 @@
       this.importAll = importAll;
    }
    
-   // TODO set synchronized on all methods
    public void createDomain(String domain, String parentDomain, boolean parentFirst)
    {
       if (DomainRegistry.contains(domain))

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/JBossCLFactory.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/JBossCLFactory.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/JBossCLFactory.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -39,11 +39,11 @@
 import org.jboss.test.classpool.support.SupportClasses;
 
 /**
+ * Creates JBoss Class Loaders (AS5 and newer).
+ * 
  * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
  * @version $Revision$
  */
-
 public class JBossCLFactory implements ClassLoaderFactory<CLDeploymentBuilder>
 {
    /** The classloader helper */
@@ -69,19 +69,32 @@
       this.loaderRegistry = new LoaderRegistry(mc);
    }
    
-   public ClassLoader create(CLDeploymentBuilder classLoaderBuilder) throws Exception
+   public synchronized ClassLoader create(CLDeploymentBuilder classLoaderBuilder) throws Exception
    {
       KernelDeployment deployment = classLoaderBuilder.createDeployment();
       microcontainer.deploy(deployment);
       VFSClassLoaderFactory factory = classLoaderBuilder.getMetaDataFactory();
       factory.setContextName(getContextName(factory));
       loaderRegistry.registerDeployment(classLoaderBuilder);
-      return getClassLoader(classLoaderBuilder);
+      return retrieve(classLoaderBuilder);
    }
+
+   public synchronized void destroy(CLDeploymentBuilder classLoaderBuilder) throws Exception
+   {
+      loaderRegistry.unregisterDeployment(classLoaderBuilder);
+      microcontainer.undeploy(classLoaderBuilder.undeploy());
+      isAvailable(classLoaderBuilder);
+   }
    
-   public ClassLoader getClassLoader(CLDeploymentBuilder classLoaderBuilder)
-   throws Exception
+   public synchronized void destroyAll()
    {
+      destroyClassLoaders();
+      unregisterDomains();
+      assertCannotLoadSupportClasses();
+   }
+   
+   public synchronized ClassLoader retrieve(CLDeploymentBuilder classLoaderBuilder) throws Exception
+   {
       VFSClassLoaderFactory factory = classLoaderBuilder.getMetaDataFactory();
       try
       {
@@ -96,49 +109,27 @@
          throw new NoSuchClassLoaderException(e);
       }
    }
+   
+   public synchronized Collection<ClassLoader> retrieveAll()
+   {
+      return loaderRegistry.getClassLoaders();
+   }
 
-   /**
-    * Checks that this the loader corresponding to {@code classLoaderBuilder} is no longer
-    * available on the test scenario.
-    * 
-    * @param classLoaderBuilder identifies the loader that is going to be verified
-    * @throws Exception
-    */
-   public void cannotGetLoader(CLDeploymentBuilder classLoaderBuilder) throws Exception
+   public synchronized boolean isAvailable(CLDeploymentBuilder classLoaderBuilder) throws Exception
    {
       String name = getContextName(classLoaderBuilder.getMetaDataFactory());
       try
       {
          Object bean = microcontainer.getBean(name, null);
-         if (bean != null)
-            Assert.fail("Should not be here: " + bean);
+         return bean != null;
       }
       catch (Throwable t)
       {
          AbstractTestCase.checkThrowable(IllegalStateException.class, t);
+         return false;
       }
    }
-   
-   public void destroyLoader(CLDeploymentBuilder classLoaderBuilder)
-         throws Exception
-   {
-      loaderRegistry.unregisterDeployment(classLoaderBuilder);
-      microcontainer.undeploy(classLoaderBuilder.undeploy());
-      cannotGetLoader(classLoaderBuilder);
-   }
 
-   public Collection<ClassLoader> getCreatedClassLoaders()
-   {
-      return loaderRegistry.getClassLoaders();
-   }
-   
-   public void destroyLoaders()
-   {
-      destroyClassLoaders();
-      unregisterDomains();
-      assertCannotLoadSupportClasses();
-   }
-   
    /************* HELPER METHODS **********************************************************/
    
    private void assertCannotLoadSupportClasses()
@@ -205,7 +196,6 @@
       }
    }
 
-   
    protected void destroy(ClassLoader classLoader)
    {
       KernelDeployment deployment = loaderRegistry.unregisterDeployment(classLoader);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/LoaderRegistry.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/LoaderRegistry.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/LoaderRegistry.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -70,7 +70,11 @@
    /** Deployments */
    private Map<String, KernelDeployment> deploymentsByName = new HashMap<String, KernelDeployment>();
    
-   
+   /**
+    * Constructor.
+    * 
+    * @param microcontainer necessary for retrieval of mc beans
+    */
    public LoaderRegistry(MicrocontainerFacade microcontainer)
    {
       this.microcontainer = microcontainer;
@@ -79,7 +83,7 @@
             "ClassLoaderScopingPolicy");
    }
    
-   public void registerDeployment(CLDeploymentBuilder clDeploymentBuilder)
+   public synchronized void registerDeployment(CLDeploymentBuilder clDeploymentBuilder)
    {
       KernelDeployment deployment = clDeploymentBuilder.getDeployment();
       VFSClassLoaderFactory factory = clDeploymentBuilder.getMetaDataFactory();
@@ -106,7 +110,7 @@
       }
    }
    
-   public void registerClassLoader(ClassLoader classLoader, CLDeploymentBuilder clDeploymentBuilder)
+   public synchronized void registerClassLoader(ClassLoader classLoader, CLDeploymentBuilder clDeploymentBuilder)
    {
       VFSClassLoaderFactory factory = clDeploymentBuilder.getMetaDataFactory();
       String name =  factory.getContextName() + "$MODULE";
@@ -135,23 +139,23 @@
       }
    }
    
-   public KernelDeployment unregisterDeployment(ClassLoader classLoader)
+   public synchronized KernelDeployment unregisterDeployment(ClassLoader classLoader)
    {
       String name = ((BaseClassLoader) classLoader).getName();
       classLoaders.remove(name);
       return deploymentsByName.remove(name);
    }
    
-   public Collection<ClassLoader> getClassLoaders()
+   public synchronized Collection<ClassLoader> getClassLoaders()
    {
       return new ArrayList<ClassLoader>(classLoaders.values());
    }
    
-   public ClassLoaderDomain getDomainForClassLoader(ClassLoader loader)
+   public synchronized ClassLoaderDomain getDomainForClassLoader(ClassLoader loader)
    {
       //(scopedChildDomainsByLoader.get(loader) != domainRegistry.getClassLoaderDomainForLoader(loader))
       // this statement is true only when the module has already been cleaned up from domainRegistry
       // that's why we need another collection here
       return scopedChildDomainsByLoader.get(loader);
    }
-}
+}
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/TestVFSClassLoaderPolicyModule.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/TestVFSClassLoaderPolicyModule.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/support/TestVFSClassLoaderPolicyModule.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/ 
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
 package org.jboss.test.classpool.jbosscl.support;
 
 import java.io.IOException;
@@ -56,7 +56,7 @@
    
    public TestVFSClassLoaderPolicyModule(VFSClassLoaderFactory classLoadingMetaData, String contextName)
    {
-      // FIXME TesetMockClassLoaderPolicyModule constructor
+      // FIXME TestMockClassLoaderPolicyModule constructor
       super(classLoadingMetaData, contextName);
    }
    

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ArchiveClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ArchiveClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ArchiveClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -23,8 +23,6 @@
 
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.ClassPoolTestScenario;
@@ -38,11 +36,6 @@
  */
 public class ArchiveClassPoolTestCase extends ArchiveTest<CtClass, ClassPool>
 {
-   public static Test suite()
-   {
-      return new TestSuite(ArchiveClassPoolTestCase.class);
-   }
-
    public ArchiveClassPoolTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ArchiveSanityTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ArchiveSanityTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ArchiveSanityTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -21,9 +21,6 @@
  */
 package org.jboss.test.classpool.jbosscl.test;
 
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.SanityTestScenario;
 import org.jboss.test.classpool.support.TestScenario;
@@ -37,11 +34,6 @@
  */
 public class ArchiveSanityTestCase extends ArchiveTest<Class<?>, ClassLoader>
 {
-   public static Test suite()
-   {
-      return new TestSuite(ArchiveSanityTestCase.class);
-   }
-
    public ArchiveSanityTestCase(String name)
    {
       super(name);

Added: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/CtClassCreationTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/CtClassCreationTestCase.java	                        (rev 0)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/CtClassCreationTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -0,0 +1,241 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.classpool.jbosscl.test;
+
+import static org.jboss.test.classpool.support.SupportArchives.JAR_A_1_URL;
+import static org.jboss.test.classpool.support.SupportArchives.JAR_B_1_URL;
+import static org.jboss.test.classpool.support.SupportClasses.CLASS_A;
+import static org.jboss.test.classpool.support.SupportClasses.CLASS_B;
+import static org.jboss.test.classpool.support.SupportClasses.PACKAGE_A;
+import static org.jboss.test.classpool.support.SupportClasses.PACKAGE_B;
+
+import java.util.ArrayList;
+
+import javassist.ClassPool;
+import javassist.CtClass;
+
+import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
+import org.jboss.test.classpool.support.ClassFactory;
+import org.jboss.test.classpool.support.ClassPoolTestScenario;
+import org.jboss.test.classpool.support.TestScenario;
+
+/**
+ * Tests creation of CtClasses using ClassPools for JBoss ClassLoaders.
+ * 
+ * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @version $Revision$
+ */
+public class CtClassCreationTestCase extends RepositoryTest<CtClass, ClassPool>
+{
+   public CtClassCreationTestCase(String name)
+   {
+      super(name);
+   }
+   
+   @Override
+   protected TestScenario<CtClass, ClassPool, CLDeploymentBuilder> getTestScenario()
+   {
+      return new ClassPoolTestScenario<CLDeploymentBuilder>(getClassLoaderFactory());
+   }
+
+  public void testCreatedClassInSamePackage() throws Exception
+   {
+     ClassPool poolA = testScenario.createLoader(new CLDeploymentBuilder("A", JAR_A_1_URL));
+     ClassPool poolB = testScenario.createLoader(new CLDeploymentBuilder("B", JAR_B_1_URL));
+
+     ClassLoader loaderA = poolA.getClassLoader();
+     ClassLoader loaderB = poolB.getClassLoader();
+     
+     Class<?> classA = loaderA.loadClass(CLASS_A);
+     Class<?> classB = loaderB.loadClass(CLASS_B);
+     
+     Object createdA = ClassFactory.create(classA, loaderA);
+     Object createdB = ClassFactory.create(classB, loaderB);
+     
+     Class<?> createdClassA = createdA.getClass();
+     Class<?> createdClassB = createdB.getClass();
+     
+     assertTrue(classA.isAssignableFrom(createdClassA));
+     assertTrue(classB.isAssignableFrom(createdClassB));
+     assertTrue(createdClassA.getName().startsWith(PACKAGE_A));
+     assertTrue(createdClassB.getName().startsWith(PACKAGE_B));
+     
+     assertSame(createdClassA, loaderA.loadClass(createdClassA.getName()));
+     assertSame(createdClassB, loaderA.loadClass(createdClassB.getName()));
+     assertSame(createdClassA, loaderB.loadClass(createdClassA.getName()));
+     assertSame(createdClassB, loaderB.loadClass(createdClassB.getName()));
+   }
+
+   // TODO check commented out tests. They should be deleted after JBAOP-742 being merged to
+   // JBoss AOP trunk
+   /*public void testMakeContainerProxyInSamePackage() throws Exception
+   {
+      ClassPool globalPoolA = null;
+      ClassPool globalPoolB = null;
+      try
+      {
+         globalPoolA = createClassPool("A", true, JAR_A_1);
+         globalPoolB = createClassPool("B", true, JAR_B_1);
+         
+         ClassLoader loaderA = globalPoolA.getClassLoader();
+         ClassLoader loaderB = globalPoolB.getClassLoader();
+         
+         loaderA.loadClass(ProxyTemplate.class.getName());
+
+         Object proxyA = assertMakeContainerProxy(loaderA.loadClass(CLASS_A), loaderA);
+         Object proxyB = assertMakeContainerProxy(loaderB.loadClass(CLASS_B), loaderB);
+         
+         Class<?> clazzA = proxyA.getClass();
+         Class<?> clazzB = proxyB.getClass();
+         
+         assertTrue(AspectManaged.class.isAssignableFrom(clazzA));
+         assertTrue(AspectManaged.class.isAssignableFrom(clazzB));
+         assertTrue(clazzA.getName().startsWith(PACKAGE_A));
+         assertTrue(clazzB.getName().startsWith(PACKAGE_B));
+         
+         assertSame(clazzA, loaderA.loadClass(clazzA.getName()));
+         assertSame(clazzB, loaderA.loadClass(clazzB.getName()));
+         assertSame(clazzA, loaderB.loadClass(clazzA.getName()));
+         assertSame(clazzB, loaderB.loadClass(clazzB.getName()));
+      }
+      finally
+      {
+         unregisterClassPool(globalPoolA);
+         unregisterClassPool(globalPoolB);
+      }
+   }*/
+   
+   /*public void testMakeContainerProxyForSystemClass() throws Exception
+   {
+      ClassPool globalPoolA = null;
+      ClassPool globalPoolB = null;
+      try
+      {
+         BundleInfoBuilder builderA = BundleInfoBuilder.getBuilder().
+         createModule("ModuleA").
+         createPackage(PACKAGE_A).
+         createPackage(ContainerProxyFactory.PROXY_CLASSES_DEFAULT_PACKAGE);
+         globalPoolA = createClassPool("A", true, builderA, JAR_A_1);
+         
+         BundleInfoBuilder builderB = BundleInfoBuilder.getBuilder().
+         createModule("ModuleB").
+         createPackage(PACKAGE_B).
+         createPackage(ContainerProxyFactory.PROXY_CLASSES_DEFAULT_PACKAGE);
+         globalPoolB = createClassPool("B", true, builderB, JAR_B_1);
+         
+         ClassLoader loaderA = globalPoolA.getClassLoader();
+         ClassLoader loaderB = globalPoolB.getClassLoader();
+
+         loaderA.loadClass(ProxyTemplate.class.getName());
+
+         Object proxyA = assertMakeContainerProxy(ArrayList.class, loaderA);
+         Object proxyB = assertMakeContainerProxy(ArrayList.class, loaderB);
+         
+         Class<?> clazzA = proxyA.getClass();
+         Class<?> clazzB = proxyB.getClass();
+         
+         assertTrue(AspectManaged.class.isAssignableFrom(clazzA));
+         assertTrue(AspectManaged.class.isAssignableFrom(clazzB));
+         assertTrue(clazzA.getName().startsWith(ContainerProxyFactory.PROXY_CLASSES_DEFAULT_PACKAGE));
+         assertTrue(clazzB.getName().startsWith(ContainerProxyFactory.PROXY_CLASSES_DEFAULT_PACKAGE));
+         
+         assertSame(clazzA, loaderA.loadClass(clazzA.getName()));
+         assertSame(clazzB, loaderA.loadClass(clazzB.getName()));
+         assertSame(clazzA, loaderB.loadClass(clazzA.getName()));
+         assertSame(clazzB, loaderB.loadClass(clazzB.getName()));
+      }
+      finally
+      {
+         unregisterClassPool(globalPoolA);
+         unregisterClassPool(globalPoolB);
+      }
+   }*/
+   
+   public void testCreateClassForSystemClass() throws Exception
+   {
+      CLDeploymentBuilder clBuilderA = new CLDeploymentBuilder("A", JAR_A_1_URL);
+      clBuilderA.createModule("ModuleA").createPackage(PACKAGE_A);
+      clBuilderA.createPackage(ClassFactory.PACKAGE).setImportAll(true);
+      ClassPool poolA = testScenario.createLoader(clBuilderA);
+      
+      CLDeploymentBuilder clBuilderB = new CLDeploymentBuilder("B", JAR_B_1_URL);
+      clBuilderB.createModule("ModuleB").createPackage(PACKAGE_B);
+      clBuilderB.createPackage(ClassFactory.PACKAGE).setImportAll(true);
+      ClassPool poolB = testScenario.createLoader(clBuilderB);
+
+      ClassLoader loaderA = poolA.getClassLoader();
+      ClassLoader loaderB = poolB.getClassLoader();
+
+      Object createdA = ClassFactory.create(ArrayList.class, loaderA);
+      Object createdB = ClassFactory.create(ArrayList.class, loaderB);
+
+      Class<?> createdClassA = createdA.getClass();
+      Class<?> createdClassB = createdB.getClass();
+
+      assertTrue(ArrayList.class.isAssignableFrom(createdClassA));
+      assertTrue(ArrayList.class.isAssignableFrom(createdClassB));
+      assertTrue(createdClassA.getName().startsWith(ClassFactory.PACKAGE));
+      assertTrue(createdClassB.getName().startsWith(ClassFactory.PACKAGE));
+
+      assertSame(createdClassA, loaderA.loadClass(createdClassA.getName()));
+      assertSame(createdClassB, loaderA.loadClass(createdClassB.getName()));
+      assertSame(createdClassA, loaderB.loadClass(createdClassA.getName()));
+      assertSame(createdClassB, loaderB.loadClass(createdClassB.getName()));
+   }
+   
+   /*private Object assertMakeContainerProxy(Class<?> parent, ClassLoader loader) throws Exception
+   {
+      AOPProxyFactoryParameters params = new AOPProxyFactoryParameters();
+      params.setProxiedClass(parent);
+      params.setTarget(parent.newInstance());
+      params.setClassLoader(loader);
+      params.setInterfaces(new Class<?>[] {java.io.Serializable.class});
+      GeneratedAOPProxyFactory factory = new GeneratedAOPProxyFactory();
+      Object proxy = factory.createAdvisedProxy(params);
+      assertFalse(parent.getName() == proxy.getClass().getName());
+      assertSame(loader, proxy.getClass().getClassLoader());
+      return proxy;
+   }*/
+   
+   /*private static final String PROXY_PACKAGE = "org.test.classpool.proxy";
+   private static final String PROXY_CLASS = PROXY_PACKAGE + ".Proxy";
+   private static int counter = 0;
+   
+   private Object assertMakeSimpleProxy(Class<?> parent, ClassLoader loader) throws Exception
+   {
+      //AOPProxyFactoryParameters params = new AOPProxyFactoryParameters();
+      //params.setProxiedClass(parent);
+      //params.setTarget(parent.newInstance());
+      //params.setClassLoader(loader);
+      ClassPool pool = ClassPoolRepository.getInstance().getRegisteredCLs().get(loader);
+      CtClass ctClazz = pool.makeClass(PROXY_CLASS + counter++);
+      ctClazz.setSuperclass(pool.get(parent.getName()));
+      Class<?> clazz = pool.toClass(ctClazz);
+      //params.setInterfaces(new Class<?>[] {java.io.Serializable.class});
+      //GeneratedAOPProxyFactory factory = new GeneratedAOPProxyFactory();
+      //Object proxy = factory.createAdvisedProxy(params);
+      //assertFalse(parent.getName() == proxy.getClass().getName());
+      assertSame(loader, clazz.getClassLoader());
+      //return proxy;
+      return clazz.newInstance();
+   }*/
+}
\ No newline at end of file


Property changes on: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/CtClassCreationTestCase.java
___________________________________________________________________
Name: svn:keywords
   + Author Date Id Revision
Name: svn:eol-style
   + native

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -23,8 +23,6 @@
 
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.ClassPoolTestScenario;
@@ -37,14 +35,8 @@
  * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
  * @version $Revision$
  */
-public class HierarchicalDomainClassPoolTestCase extends
-   HierarchicalDomainTest<CtClass, ClassPool>
+public class HierarchicalDomainClassPoolTestCase extends HierarchicalDomainTest<CtClass, ClassPool>
 {
-   public static Test suite()
-   {
-      return new TestSuite(HierarchicalDomainClassPoolTestCase.class);
-   }
-
    public HierarchicalDomainClassPoolTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainSanityTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainSanityTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainSanityTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -21,9 +21,6 @@
  */
 package org.jboss.test.classpool.jbosscl.test;
 
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.SanityTestScenario;
 import org.jboss.test.classpool.support.TestScenario;
@@ -39,11 +36,6 @@
 public class HierarchicalDomainSanityTestCase extends
       HierarchicalDomainTest<Class<?>, ClassLoader>
 {
-   public static Test suite()
-   {
-      return new TestSuite(HierarchicalDomainSanityTestCase.class);
-   }
-
    public HierarchicalDomainSanityTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalParentLoaderClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalParentLoaderClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalParentLoaderClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -23,8 +23,6 @@
 
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.ClassPoolTestScenario;
@@ -40,11 +38,6 @@
 public class HierarchicalParentLoaderClassPoolTestCase extends
    HierarchicalParentLoaderTest<CtClass, ClassPool>
 {
-   public static Test suite()
-   {
-      return new TestSuite(HierarchicalParentLoaderClassPoolTestCase.class);
-   }
-
    public HierarchicalParentLoaderClassPoolTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalParentLoaderSanityTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalParentLoaderSanityTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalParentLoaderSanityTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -21,9 +21,6 @@
  */
 package org.jboss.test.classpool.jbosscl.test;
 
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.SanityTestScenario;
 import org.jboss.test.classpool.support.TestScenario;
@@ -40,11 +37,6 @@
 public class HierarchicalParentLoaderSanityTestCase extends
       HierarchicalParentLoaderTest<Class<?>, ClassLoader>
 {
-   public static Test suite()
-   {
-      return new TestSuite(HierarchicalParentLoaderSanityTestCase.class);
-   }
-
    public HierarchicalParentLoaderSanityTestCase(String name)
    {
       super(name);

Deleted: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolDelegatingTestSuite.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolDelegatingTestSuite.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolDelegatingTestSuite.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,57 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/ 
-package org.jboss.test.classpool.jbosscl.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision$
- */
-public class JBossClClassPoolDelegatingTestSuite extends TestSuite
-{
-   public static void main(String[] args)
-   {
-      TestRunner.run(suite());
-   }
-
-   public static Test suite()
-   {
-      TestSuite suite = new TestSuite("JBoss-cl Pool Tests");
-      
-      suite.addTest(ArchiveClassPoolTestCase.suite());
-      suite.addTest(RepositoryClassPoolTestCase.suite());
-      suite.addTest(ModuleDependencyClassPoolTestCase.suite());
-      suite.addTest(PackageDependencyClassPoolTestCase.suite());
-      suite.addTest(ReExportModuleClassPoolTestCase.suite());
-      suite.addTest(ReExportPackageClassPoolTestCase.suite());
-      suite.addTest(UsesPackageClassPoolTestCase.suite());
-      suite.addTest(HierarchicalDomainClassPoolTestCase.suite());
-      suite.addTest(HierarchicalParentLoaderClassPoolTestCase.suite());
-      suite.addTest(ReplaceReferencesClassPoolTestCase.suite());
-      return suite;
-   }
-
-}

Deleted: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolSanityTestSuite.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolSanityTestSuite.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolSanityTestSuite.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,57 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/ 
-package org.jboss.test.classpool.jbosscl.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision$
- */
-public class JBossClClassPoolSanityTestSuite extends TestSuite
-{
-   public static void main(String[] args)
-   {
-      TestRunner.run(suite());
-   }
-
-   public static Test suite()
-   {
-      TestSuite suite = new TestSuite("JBoss-cl Sanity Tests");
-      
-      suite.addTest(ArchiveSanityTestCase.suite());
-      suite.addTest(RepositorySanityTestCase.suite());
-      suite.addTest(ModuleDependencySanityTestCase.suite());
-      suite.addTest(PackageDependencySanityTestCase.suite());
-      suite.addTest(ReExportModuleSanityTestCase.suite());
-      suite.addTest(ReExportPackageSanityTestCase.suite());
-      suite.addTest(UsesPackageSanityTestCase.suite());
-      suite.addTest(HierarchicalDomainSanityTestCase.suite());
-      suite.addTest(HierarchicalParentLoaderSanityTestCase.suite());
-
-      return suite;
-   }
-
-}

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTest.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTest.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTest.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -34,7 +34,6 @@
 import org.jboss.test.classpool.jbosscl.support.JBossCLFactory;
 import org.jboss.test.classpool.support.ClassLoaderFactory;
 import org.jboss.test.classpool.support.MicrocontainerFacade;
-import org.jboss.test.classpool.support.SupportClasses;
 import org.jboss.test.classpool.support.TestScenario;
 import org.jboss.test.kernel.junit.MicrocontainerTest;
 import org.jboss.virtual.VFS;

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTestDelegate.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTestDelegate.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTestDelegate.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -45,6 +45,7 @@
  */
 public class JBossClClassPoolTestDelegate extends MicrocontainerTestDelegate
 {
+   @SuppressWarnings("unused")
    private static ParentPolicy parentPolicy;
    
    private MainDeployerImpl mainDeployer;

Deleted: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTestSuite.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTestSuite.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/JBossClClassPoolTestSuite.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,49 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/ 
-package org.jboss.test.classpool.jbosscl.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision$
- */
-public class JBossClClassPoolTestSuite extends TestSuite
-{
-   public static void main(String[] args)
-   {
-      TestRunner.run(suite());
-   }
-
-   public static Test suite()
-   {
-      TestSuite suite = new TestSuite("JBoss-cl All Tests");
-      
-      suite.addTest(JBossClClassPoolSanityTestSuite.suite());
-      suite.addTest(JBossClClassPoolDelegatingTestSuite.suite());
-      return suite;
-   }
-
-}

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ModuleDependencyClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ModuleDependencyClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ModuleDependencyClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -23,8 +23,6 @@
 
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.ClassPoolTestScenario;
@@ -39,11 +37,6 @@
  */
 public class ModuleDependencyClassPoolTestCase extends ModuleDependencyTest<CtClass, ClassPool>
 {
-   public static Test suite()
-   {
-      return new TestSuite(ModuleDependencyClassPoolTestCase.class);
-   }
-
    public ModuleDependencyClassPoolTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ModuleDependencySanityTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ModuleDependencySanityTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ModuleDependencySanityTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -21,9 +21,6 @@
  */
 package org.jboss.test.classpool.jbosscl.test;
 
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.SanityTestScenario;
 import org.jboss.test.classpool.support.TestScenario;
@@ -37,11 +34,6 @@
  */
 public class ModuleDependencySanityTestCase extends ModuleDependencyTest<Class<?>, ClassLoader>
 {
-   public static Test suite()
-   {
-      return new TestSuite(ModuleDependencySanityTestCase.class);
-   }
-
    public ModuleDependencySanityTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/PackageDependencyClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/PackageDependencyClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/PackageDependencyClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -23,8 +23,6 @@
 
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.ClassPoolTestScenario;
@@ -38,11 +36,6 @@
  */
 public class PackageDependencyClassPoolTestCase extends PackageDependencyTest<CtClass, ClassPool>
 {
-   public static Test suite()
-   {
-      return new TestSuite(PackageDependencyClassPoolTestCase.class);
-   }
-
    public PackageDependencyClassPoolTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/PackageDependencySanityTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/PackageDependencySanityTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/PackageDependencySanityTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -21,9 +21,6 @@
  */
 package org.jboss.test.classpool.jbosscl.test;
 
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.SanityTestScenario;
 import org.jboss.test.classpool.support.TestScenario;
@@ -37,11 +34,6 @@
  */
 public class PackageDependencySanityTestCase extends PackageDependencyTest<Class<?>, ClassLoader>
 {
-   public static Test suite()
-   {
-      return new TestSuite(PackageDependencySanityTestCase.class);
-   }
-
    public PackageDependencySanityTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportModuleClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportModuleClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportModuleClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -23,8 +23,6 @@
 
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.ClassPoolTestScenario;
@@ -40,11 +38,6 @@
 public class ReExportModuleClassPoolTestCase extends
       ReExportModuleTest<CtClass, ClassPool>
 {
-   public static Test suite()
-   {
-      return new TestSuite(ReExportModuleClassPoolTestCase.class);
-   }
-
    public ReExportModuleClassPoolTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportModuleSanityTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportModuleSanityTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportModuleSanityTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -21,9 +21,6 @@
  */
 package org.jboss.test.classpool.jbosscl.test;
 
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.SanityTestScenario;
 import org.jboss.test.classpool.support.TestScenario;
@@ -38,11 +35,6 @@
  */
 public class ReExportModuleSanityTestCase extends ReExportModuleTest<Class<?>, ClassLoader>
 {
-   public static Test suite()
-   {
-      return new TestSuite(ReExportModuleSanityTestCase.class);
-   }
-
    public ReExportModuleSanityTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportPackageClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportPackageClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportPackageClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -23,8 +23,6 @@
 
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.ClassPoolTestScenario;
@@ -36,14 +34,8 @@
  * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
  * @version $Revision$
  */
-public class ReExportPackageClassPoolTestCase extends
-      ReExportPackageTest<CtClass, ClassPool>
+public class ReExportPackageClassPoolTestCase extends ReExportPackageTest<CtClass, ClassPool>
 {
-   public static Test suite()
-   {
-      return new TestSuite(ReExportPackageClassPoolTestCase.class);
-   }
-
    public ReExportPackageClassPoolTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportPackageSanityTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportPackageSanityTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReExportPackageSanityTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -21,9 +21,6 @@
  */
 package org.jboss.test.classpool.jbosscl.test;
 
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.SanityTestScenario;
 import org.jboss.test.classpool.support.TestScenario;
@@ -38,11 +35,6 @@
  */
 public class ReExportPackageSanityTestCase extends ReExportPackageTest<Class<?>, ClassLoader>
 {
-   public static Test suite()
-   {
-      return new TestSuite(ReExportPackageSanityTestCase.class);
-   }
-
    public ReExportPackageSanityTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReplaceReferencesClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReplaceReferencesClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/ReplaceReferencesClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -40,7 +40,6 @@
 import javassist.CtNewMethod;
 import javassist.Modifier;
 import javassist.scopedpool.ScopedClassPool;
-import junit.framework.Test;
 
 import org.jboss.classloading.spi.DomainClassLoader;
 import org.jboss.classpool.spi.ClassPoolRepository;
@@ -70,11 +69,6 @@
       super(name);
    }
 
-   public static Test suite()
-   {
-      return suite(ReplaceReferencesClassPoolTestCase.class);
-   }
-   
    @Override
    protected TestScenario<CtClass, ClassPool, CLDeploymentBuilder> getTestScenario()
    {

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/RepositoryClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/RepositoryClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/RepositoryClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -25,18 +25,10 @@
 import static org.jboss.test.classpool.support.SupportArchives.JAR_B_1_URL;
 import static org.jboss.test.classpool.support.SupportClasses.CLASS_A;
 import static org.jboss.test.classpool.support.SupportClasses.CLASS_B;
-import static org.jboss.test.classpool.support.SupportClasses.PACKAGE_A;
-import static org.jboss.test.classpool.support.SupportClasses.PACKAGE_B;
-
-import java.util.ArrayList;
-
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
-import org.jboss.test.classpool.support.ClassFactory;
 import org.jboss.test.classpool.support.ClassPoolTestScenario;
 import org.jboss.test.classpool.support.TestScenario;
 
@@ -49,11 +41,6 @@
  */
 public class RepositoryClassPoolTestCase extends RepositoryTest<CtClass, ClassPool>
 {
-   public static Test suite()
-   {
-      return new TestSuite(RepositoryClassPoolTestCase.class);
-   }
-
    public RepositoryClassPoolTestCase(String name)
    {
       super(name);
@@ -91,8 +78,6 @@
       assertSame(intClass, intArrayClass.getComponentType());
       assertSame(byteClassA.getClassPool(), intClass.getClassPool());
       
-      
-      
       assertTrue(aArray.isArray());
       assertSame(a, aArray.getComponentType());
       assertTrue(bArray.isArray());
@@ -104,184 +89,4 @@
       assertSame(a.getClassPool(), aArray.getClassPool());
       assertSame(b.getClassPool(), bArray.getClassPool());
    }
-
-  public void testCreatedClassInSamePackage() throws Exception
-   {
-     ClassPool poolA = testScenario.createLoader(new CLDeploymentBuilder("A", JAR_A_1_URL));
-     ClassPool poolB = testScenario.createLoader(new CLDeploymentBuilder("B", JAR_B_1_URL));
-
-     ClassLoader loaderA = poolA.getClassLoader();
-     ClassLoader loaderB = poolB.getClassLoader();
-     
-     Class<?> classA = loaderA.loadClass(CLASS_A);
-     Class<?> classB = loaderB.loadClass(CLASS_B);
-     
-     Object createdA = ClassFactory.create(classA, loaderA);
-     Object createdB = ClassFactory.create(classB, loaderB);
-     
-     Class<?> createdClassA = createdA.getClass();
-     Class<?> createdClassB = createdB.getClass();
-     
-     assertTrue(classA.isAssignableFrom(createdClassA));
-     assertTrue(classB.isAssignableFrom(createdClassB));
-     assertTrue(createdClassA.getName().startsWith(PACKAGE_A));
-     assertTrue(createdClassB.getName().startsWith(PACKAGE_B));
-     
-     assertSame(createdClassA, loaderA.loadClass(createdClassA.getName()));
-     assertSame(createdClassB, loaderA.loadClass(createdClassB.getName()));
-     assertSame(createdClassA, loaderB.loadClass(createdClassA.getName()));
-     assertSame(createdClassB, loaderB.loadClass(createdClassB.getName()));
-   }
-
-   /*public void testMakeContainerProxyInSamePackage() throws Exception
-   {
-      ClassPool globalPoolA = null;
-      ClassPool globalPoolB = null;
-      try
-      {
-         globalPoolA = createClassPool("A", true, JAR_A_1);
-         globalPoolB = createClassPool("B", true, JAR_B_1);
-         
-         ClassLoader loaderA = globalPoolA.getClassLoader();
-         ClassLoader loaderB = globalPoolB.getClassLoader();
-         
-         loaderA.loadClass(ProxyTemplate.class.getName());
-
-         Object proxyA = assertMakeContainerProxy(loaderA.loadClass(CLASS_A), loaderA);
-         Object proxyB = assertMakeContainerProxy(loaderB.loadClass(CLASS_B), loaderB);
-         
-         Class<?> clazzA = proxyA.getClass();
-         Class<?> clazzB = proxyB.getClass();
-         
-         assertTrue(AspectManaged.class.isAssignableFrom(clazzA));
-         assertTrue(AspectManaged.class.isAssignableFrom(clazzB));
-         assertTrue(clazzA.getName().startsWith(PACKAGE_A));
-         assertTrue(clazzB.getName().startsWith(PACKAGE_B));
-         
-         assertSame(clazzA, loaderA.loadClass(clazzA.getName()));
-         assertSame(clazzB, loaderA.loadClass(clazzB.getName()));
-         assertSame(clazzA, loaderB.loadClass(clazzA.getName()));
-         assertSame(clazzB, loaderB.loadClass(clazzB.getName()));
-      }
-      finally
-      {
-         unregisterClassPool(globalPoolA);
-         unregisterClassPool(globalPoolB);
-      }
-   }*/
-   
-   /*public void testMakeContainerProxyForSystemClass() throws Exception
-   {
-      ClassPool globalPoolA = null;
-      ClassPool globalPoolB = null;
-      try
-      {
-         BundleInfoBuilder builderA = BundleInfoBuilder.getBuilder().
-         createModule("ModuleA").
-         createPackage(PACKAGE_A).
-         createPackage(ContainerProxyFactory.PROXY_CLASSES_DEFAULT_PACKAGE);
-         globalPoolA = createClassPool("A", true, builderA, JAR_A_1);
-         
-         BundleInfoBuilder builderB = BundleInfoBuilder.getBuilder().
-         createModule("ModuleB").
-         createPackage(PACKAGE_B).
-         createPackage(ContainerProxyFactory.PROXY_CLASSES_DEFAULT_PACKAGE);
-         globalPoolB = createClassPool("B", true, builderB, JAR_B_1);
-         
-         ClassLoader loaderA = globalPoolA.getClassLoader();
-         ClassLoader loaderB = globalPoolB.getClassLoader();
-
-         loaderA.loadClass(ProxyTemplate.class.getName());
-
-         Object proxyA = assertMakeContainerProxy(ArrayList.class, loaderA);
-         Object proxyB = assertMakeContainerProxy(ArrayList.class, loaderB);
-         
-         Class<?> clazzA = proxyA.getClass();
-         Class<?> clazzB = proxyB.getClass();
-         
-         assertTrue(AspectManaged.class.isAssignableFrom(clazzA));
-         assertTrue(AspectManaged.class.isAssignableFrom(clazzB));
-         assertTrue(clazzA.getName().startsWith(ContainerProxyFactory.PROXY_CLASSES_DEFAULT_PACKAGE));
-         assertTrue(clazzB.getName().startsWith(ContainerProxyFactory.PROXY_CLASSES_DEFAULT_PACKAGE));
-         
-         assertSame(clazzA, loaderA.loadClass(clazzA.getName()));
-         assertSame(clazzB, loaderA.loadClass(clazzB.getName()));
-         assertSame(clazzA, loaderB.loadClass(clazzA.getName()));
-         assertSame(clazzB, loaderB.loadClass(clazzB.getName()));
-      }
-      finally
-      {
-         unregisterClassPool(globalPoolA);
-         unregisterClassPool(globalPoolB);
-      }
-   }*/
-   
-   public void testCreateClassForSystemClass() throws Exception
-   {
-      CLDeploymentBuilder clBuilderA = new CLDeploymentBuilder("A", JAR_A_1_URL);
-      clBuilderA.createModule("ModuleA").createPackage(PACKAGE_A);
-      clBuilderA.createPackage(ClassFactory.PACKAGE).setImportAll(true);
-      ClassPool poolA = testScenario.createLoader(clBuilderA);
-      
-      CLDeploymentBuilder clBuilderB = new CLDeploymentBuilder("B", JAR_B_1_URL);
-      clBuilderB.createModule("ModuleB").createPackage(PACKAGE_B);
-      clBuilderB.createPackage(ClassFactory.PACKAGE).setImportAll(true);
-      ClassPool poolB = testScenario.createLoader(clBuilderB);
-
-      ClassLoader loaderA = poolA.getClassLoader();
-      ClassLoader loaderB = poolB.getClassLoader();
-
-      Object createdA = ClassFactory.create(ArrayList.class, loaderA);
-      Object createdB = ClassFactory.create(ArrayList.class, loaderB);
-
-      Class<?> createdClassA = createdA.getClass();
-      Class<?> createdClassB = createdB.getClass();
-
-      assertTrue(ArrayList.class.isAssignableFrom(createdClassA));
-      assertTrue(ArrayList.class.isAssignableFrom(createdClassB));
-      assertTrue(createdClassA.getName().startsWith(ClassFactory.PACKAGE));
-      assertTrue(createdClassB.getName().startsWith(ClassFactory.PACKAGE));
-
-      assertSame(createdClassA, loaderA.loadClass(createdClassA.getName()));
-      assertSame(createdClassB, loaderA.loadClass(createdClassB.getName()));
-      assertSame(createdClassA, loaderB.loadClass(createdClassA.getName()));
-      assertSame(createdClassB, loaderB.loadClass(createdClassB.getName()));
-   }
-   
-   /*private Object assertMakeContainerProxy(Class<?> parent, ClassLoader loader) throws Exception
-   {
-      AOPProxyFactoryParameters params = new AOPProxyFactoryParameters();
-      params.setProxiedClass(parent);
-      params.setTarget(parent.newInstance());
-      params.setClassLoader(loader);
-      params.setInterfaces(new Class<?>[] {java.io.Serializable.class});
-      GeneratedAOPProxyFactory factory = new GeneratedAOPProxyFactory();
-      Object proxy = factory.createAdvisedProxy(params);
-      assertFalse(parent.getName() == proxy.getClass().getName());
-      assertSame(loader, proxy.getClass().getClassLoader());
-      return proxy;
-   }*/
-   
-   /*private static final String PROXY_PACKAGE = "org.test.classpool.proxy";
-   private static final String PROXY_CLASS = PROXY_PACKAGE + ".Proxy";
-   private static int counter = 0;
-   
-   private Object assertMakeSimpleProxy(Class<?> parent, ClassLoader loader) throws Exception
-   {
-      //AOPProxyFactoryParameters params = new AOPProxyFactoryParameters();
-      //params.setProxiedClass(parent);
-      //params.setTarget(parent.newInstance());
-      //params.setClassLoader(loader);
-      ClassPool pool = ClassPoolRepository.getInstance().getRegisteredCLs().get(loader);
-      CtClass ctClazz = pool.makeClass(PROXY_CLASS + counter++);
-      ctClazz.setSuperclass(pool.get(parent.getName()));
-      Class<?> clazz = pool.toClass(ctClazz);
-      //params.setInterfaces(new Class<?>[] {java.io.Serializable.class});
-      //GeneratedAOPProxyFactory factory = new GeneratedAOPProxyFactory();
-      //Object proxy = factory.createAdvisedProxy(params);
-      //assertFalse(parent.getName() == proxy.getClass().getName());
-      assertSame(loader, clazz.getClassLoader());
-      //return proxy;
-      return clazz.newInstance();
-   }*/
 }
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/RepositorySanityTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/RepositorySanityTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/RepositorySanityTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -21,9 +21,6 @@
  */
 package org.jboss.test.classpool.jbosscl.test;
 
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.SanityTestScenario;
 import org.jboss.test.classpool.support.TestScenario;
@@ -37,11 +34,6 @@
  */
 public class RepositorySanityTestCase extends RepositoryTest<Class<?>, ClassLoader>
 {
-   public static Test suite()
-   {
-      return new TestSuite(RepositorySanityTestCase.class);
-   }
-
    public RepositorySanityTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/UsesPackageClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/UsesPackageClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/UsesPackageClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -23,8 +23,6 @@
 
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.ClassPoolTestScenario;
@@ -39,11 +37,6 @@
  */
 public class UsesPackageClassPoolTestCase extends UsesPackageTest<CtClass, ClassPool>
 {
-   public static Test suite()
-   {
-      return new TestSuite(UsesPackageClassPoolTestCase.class);
-   }
-
    public UsesPackageClassPoolTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/UsesPackageSanityTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/UsesPackageSanityTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/jbosscl/test/UsesPackageSanityTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -21,9 +21,6 @@
  */
 package org.jboss.test.classpool.jbosscl.test;
 
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
 import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
 import org.jboss.test.classpool.support.SanityTestScenario;
 import org.jboss.test.classpool.support.TestScenario;
@@ -38,11 +35,6 @@
  */
 public class UsesPackageSanityTestCase extends UsesPackageTest<Class<?>, ClassLoader>
 {
-   public static Test suite()
-   {
-      return new TestSuite(UsesPackageSanityTestCase.class);
-   }
-
    public UsesPackageSanityTestCase(String name)
    {
       super(name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassFactory.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassFactory.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassFactory.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -30,6 +30,8 @@
 import org.jboss.classpool.spi.ClassPoolRepository;
 
 /**
+ * Creates classes using ClassPools.
+ * 
  * @author  <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
  * @version $Revision$
  */

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassLoaderFactory.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassLoaderFactory.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassLoaderFactory.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -25,25 +25,61 @@
 
 
 /**
+ * Creates class loaders for {@link TestScenario}.
+ * 
  * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
  * @version $Revision$
  */
 
 public interface ClassLoaderFactory<I extends ClassLoaderInfo>
 {
+   /**
+    * 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;
-   public ClassLoader getClassLoader(I classLoaderInfo) throws Exception;
-   public void destroyLoader(I classLoaderInfo) throws Exception;
-   public void destroyLoaders();
-   public Collection<ClassLoader> getCreatedClassLoaders();
    
    /**
-    * Checks that this the loader corresponding to {@code classLoaderBuilder} is no longer
-    * available on the test scenario.
+    * Destroys the created class loader.
     * 
-    * @param classLoaderBuilder identifies the loader that is going to be verified
-    * @throws Exception
+    * @param classLoaderInfo identifies the class loader to be destroyed
+    * @throws Exception      if an unexpected error occurs
     */
-   public void cannotGetLoader(I classLoaderInfo) throws Exception;
+   public void destroy(I classLoaderInfo) throws Exception;
+   
+   /**
+    * Destroys all class loaders that have been created by this factory so far.
+    */
+   public void destroyAll();
+   
+   /**
+    * Retrieves a class loader that has been previously created.
+    * 
+    * @param classLoaderInfo identifies the class loader to be retrieved
+    * @return                the class loader corresponding to {@code classLoaderInfo}
+    * @throws Exception      if an unexpected error occurs
+    */
+   public ClassLoader retrieve(I classLoaderInfo) throws Exception;
+   
+   /**
+    * Retrieves all class loaders that have been created so far.
+    * 
+    * @return  a collection with all class loaders that have been created (excluding the ones
+    *          that have been destroyed)
+    */
+   public Collection<ClassLoader> retrieveAll();
+   
+   /**
+    * Checks whether the class loader corresponding to {@code classLoaderInfo} is available
+    * (i.e. whether is has been created but is not destroyed yet).
+    * 
+    * @param classLoaderBuilder identifies the loader whose availability is going to be checked
+    * @return {@code true} only if a class loader has been created for {@code classLoaderInfo}
+    *                      and has not been destroyed
+    * @throws Exception    if an unexpected error occurs
+    */
+   public boolean isAvailable(I classLoaderInfo) throws Exception;
 }
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassLoaderInfo.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassLoaderInfo.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassLoaderInfo.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -22,12 +22,10 @@
 package org.jboss.test.classpool.support;
 
 /**
+ * Contains information necessary for the ClassLoaderFactory that will be used to
+ * create the ClassLoaders.
+ * 
  * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
  * @version $Revision$
  */
-
-public interface ClassLoaderInfo
-{
-   
-}
+public interface ClassLoaderInfo {}
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassPoolTestScenario.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassPoolTestScenario.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/ClassPoolTestScenario.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -37,6 +37,8 @@
  * This scenario is used by class pool test cases. All the operations performed using this
  * scenario are executed over CtClasses and ClassPools.
  * 
+ * @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>
  * @version $Revision$
  */
@@ -45,7 +47,12 @@
    /** The ClassPool repository */
    protected ClassPoolRepository repository;
    
-   
+   /**
+    * Constructor.
+    * 
+    * @param classLoaderFactory creates class loaders for the loader scenario.
+    * @param <I> the info that {@code classLoaderFactory} uses to create a class loader
+    */
    public ClassPoolTestScenario(ClassLoaderFactory<I> classLoaderFactory)
    {
       super(classLoaderFactory);
@@ -74,7 +81,7 @@
    public CtClass loadClass(ClassPool classPool, ClassPool expectedClassPool, String className)
       throws Exception
    {
-      Class<?> clazz = assertLoadClass(className, classPool.getClassLoader(), expectedClassPool.getClassLoader());
+      Class<?> clazz = assertLoadClass(classPool.getClassLoader(), expectedClassPool.getClassLoader(), className);
       CtClass ctClass = assertLoadCtClass(className, classPool, expectedClassPool);
       Assert.assertEquals(className, ctClass.getName());
       Assert.assertEquals("Class has been loaded by the wrong class loader: " + className,

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/SanityTestScenario.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/SanityTestScenario.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/SanityTestScenario.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -28,12 +28,19 @@
  * This scenario is used by sanity tests, i.e., tests that check whether the class loaders
  * represented by class pools actually behave as expected.
  * 
+ * @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>
  * @version $Revision$
  */
 public class SanityTestScenario<I extends ClassLoaderInfo> extends TestScenario<Class<?>, ClassLoader, I>
 {
-   
+   /**
+    * Constructor.
+    * 
+    * @param classLoaderFactory creates class loaders for the loader scenario.
+    * @param <I> the info that {@code classLoaderFactory} uses to create a class loader
+    */
    public SanityTestScenario(ClassLoaderFactory<I> classLoaderFactory)
    {
       super(classLoaderFactory);
@@ -60,7 +67,7 @@
    @Override
    public Class<?> loadClass(ClassLoader loader, ClassLoader expected, String className) throws Exception
    {
-      return assertLoadClass(className, loader, expected);
+      return assertLoadClass(loader, expected, className);
    }
    
    @Override

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/SupportArchives.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/SupportArchives.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/SupportArchives.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -26,8 +26,8 @@
 
 
 /**
+ * Contains the name of the support archives.
  * 
- * 
  * @author  <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
  * @version $Revision$
  */

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/SupportClasses.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/SupportClasses.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/SupportClasses.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -24,8 +24,8 @@
 
 
 /**
+ * Contains the name of all support classes.
  * 
- * 
  * @author  <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
  * @version $Revision$
  */

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/TestScenario.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/TestScenario.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/support/TestScenario.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -32,13 +32,15 @@
  * Abstracts the concept of loader (L) and classes (C).
  * This class allows the implementation of tests that don't rely on the actual type of
  * L and C.
+ * @param <C> represents a class
+ * @param <L> responsbile for loading a class
+ * @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>
  * @version $Revision$
  * @see SanityTestScenario
  * @see ClassPoolTestScenario
  */
-
 public abstract class TestScenario<C,L,I extends ClassLoaderInfo>
 {
    /** The classloader factory */
@@ -47,7 +49,8 @@
    /**
     * Constructor.
     * 
-    * @param mc used by this test to perform deploy/undeploy operations
+    * @param classLoaderFactory creates class loaders for the loader scenario.
+    * @param <I> the info that {@code classLoaderFactory} uses to create a class loader
     */
    public TestScenario(ClassLoaderFactory<I> classLoaderFactory)
    {
@@ -61,7 +64,7 @@
     * @return                   the created loader
     * @throws NoSuchClassLoaderException indicates that the deployment is not successful. The
     *                                    class loader is not created at this moment
-    * @throws Exception any erros that should not be treated
+    * @throws Exception if an unexpected error occurs
     */
    public L createLoader(I classLoaderInfo) throws NoSuchClassLoaderException, Exception
    {
@@ -75,12 +78,12 @@
     * {@link #createLoader(I) created}.
     * 
     * @param classLoaderInfo contains information regarding the loader to be destroyed.
-    * @throws Exception
+    * @throws Exception if an unexpected error occurs
     * @see #createLoader(I)
     */
    public void destroyLoader(I classLoaderInfo) throws Exception
    {
-      classLoaderFactory.destroyLoader(classLoaderInfo);
+      classLoaderFactory.destroy(classLoaderInfo);
    }
    
    /**
@@ -89,8 +92,8 @@
     */
    public void destroyLoaders()
    {
-      preDestroy(classLoaderFactory.getCreatedClassLoaders());
-      classLoaderFactory.destroyLoaders();
+      preDestroy(classLoaderFactory.retrieveAll());
+      classLoaderFactory.destroyAll();
    }
 
    /**
@@ -99,25 +102,26 @@
     * 
     * @param classLoaderInfo   contains all the info related to the loader to be retrieved
     * @return                  the loader equivalent to {@code classLoaderBuilder}
-    * @throws Exception
+    * @throws Exception if an unexpected error occurs
     * @see {@link #createLoader(I)}
     */
    public L getLoader(I classLoaderInfo) throws Exception
    {
-      ClassLoader classLoader = classLoaderFactory.getClassLoader(classLoaderInfo);
+      ClassLoader classLoader = classLoaderFactory.retrieve(classLoaderInfo);
       return getLoader(classLoader);
    }
    
    /**
-    * Checks that this the loader corresponding to {@code classLoaderBuilder} is no longer
+    * Checks that the loader corresponding to {@code classLoaderBuilder} is no longer
     * available on the test scenario.
     * 
     * @param classLoaderInfo identifies the loader that is going to be verified
-    * @throws Exception
+    * @throws Exception if an unexpected error occurs
     */
    public void cannotGetLoader(I classLoaderInfo) throws Exception
    {
-      classLoaderFactory.cannotGetLoader(classLoaderInfo);
+      Assert.assertFalse("Class loader should not be available",
+            classLoaderFactory.isAvailable(classLoaderInfo));
    }
    
    /**
@@ -151,7 +155,7 @@
     * @param loader     a loader
     * @param className  the name of the class to be loaded
     * @return           the class loaded by {@code loader}
-    * @throws Exception
+    * @throws Exception if an unexpected error occurs
     */
    public C loadClass(L loader, String className) throws Exception
    {
@@ -166,7 +170,7 @@
     * @param expected      the actual loader that is associated with the loaded class
     * @param className  the name of the class to be loaded
     * @return           the loaded class
-    * @throws Exception
+    * @throws Exception if an unexpected error occurs
     */
    public abstract C loadClass(L initiating, L expected, String className) throws Exception;
    
@@ -184,11 +188,21 @@
     * @param clazz      the class that contains the method
     * @param methodName the name of the method
     * @return           the return type of the method
-    * @throws Exception
+    * @throws Exception if an unexpected error occurs
     */
    public abstract C getMethodReturnType(C clazz, String methodName) throws Exception;
    
-   protected Class<?> assertLoadClass(String className, ClassLoader initiating, ClassLoader expected) throws Exception
+   /**
+    * Asserts that {@code initiating} class loader can load {@code classname}.
+    * Also verifies that the class loader associated with the loaded class is {@code expected}
+    * 
+    * @param initiating  the class loader that will be used for loading {@code className}
+    * @param expected    the actual class loader that is associated with the loaded class
+    * @param className   the name of the class to be loaded
+    * @return            the loaded class
+    * @throws Exception if an unexpected error occurs
+    */
+   protected Class<?> assertLoadClass(ClassLoader initiating, ClassLoader expected, String className) throws Exception
    {
       Class<?> clazz = initiating.loadClass(className);
       if (expected != null)
@@ -198,6 +212,11 @@
       return clazz;
    }
    
+   /**
+    * Is called prior to destroy the class loaders in {@code classLoaders} collection.
+    * 
+    * @param classLoaders the class loaders that will be destroyed
+    */
    protected void preDestroy(Collection<ClassLoader> classLoaders)
    {
    }

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ClassPoolTest.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ClassPoolTest.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ClassPoolTest.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -41,6 +41,10 @@
 import org.jboss.test.classpool.support.SupportClasses;
 
 /**
+ * Super class of all ClassPool Tests. The tests in this package don't test any repositories or
+ * class pool factories. They have their own rules for ClassPool creation and are tailored for
+ * testing the DelegatingClassPool functionalities exclusively. In other words, these tests
+ * don't emulate real scenarios and can't be used for Sanity Test cases).
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision$
@@ -57,11 +61,7 @@
 
    public static AbstractTestDelegate getDelegate(Class<?> clazz) throws Exception
    {
-      AbstractTestDelegate delegate = new ClassPoolTestDelegate(clazz);
-      String property = "false"; // System.getProperty("jboss.aop.secure", "false"); // TODO fix this
-      boolean enableSecurity = Boolean.valueOf(property).booleanValue();
-      delegate.enableSecurity = enableSecurity;
-      return delegate;
+      return new ClassPoolTestDelegate(clazz);
    }
 
    protected static AbstractClassPoolDomain createClassPoolDomain(String name, ClassPoolDomain parent, boolean parentFirst)
@@ -97,7 +97,7 @@
    protected void setUp() throws Exception
    {
       super.setUp();
-//      enableTrace("org.jboss.aop.classpool");
+      // enableTrace("org.jboss.aop.classpool");
    }
 
    protected void assertCannotLoadClass(ClassLoader loader, String classname)
@@ -119,4 +119,5 @@
    {
       assertCannotLoadClass(this.getClass().getClassLoader(), SupportClasses.CLASS_A);
       assertCannotLoadClass(this.getClass().getClassLoader(), SupportClasses.CLASS_B);
-   }}
+   }
+}

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ClassPoolTestDelegate.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ClassPoolTestDelegate.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ClassPoolTestDelegate.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -34,5 +34,4 @@
    {
       super(clazz);
    }
-
-}
+}
\ No newline at end of file

Deleted: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/DelegatingClassPoolTestSuite.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/DelegatingClassPoolTestSuite.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/DelegatingClassPoolTestSuite.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,54 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/ 
-package org.jboss.test.classpool.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision$
- */
-public class DelegatingClassPoolTestSuite extends TestSuite
-{
-   public static void main(String[] args)
-   {
-      TestRunner.run(suite());
-   }
-
-   public static Test suite()
-   {
-      TestSuite suite = new TestSuite("DelegatingClassPool All Tests");
-      
-      suite.addTest(IsLocalResourcePluginFactoryTestCase.suite());
-      suite.addTest(SimpleDelegatingClassPoolTestCase.suite());
-      suite.addTest(ScopedSiblingDelegatingClassPoolTestCase.suite());
-      suite.addTest(ParentFirstDelegatingClassPoolTestCase.suite());
-      suite.addTest(ParentLastDelegatingClassPoolTestCase.suite());
-      
-
-      return suite;
-   }
-
-}

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/IsLocalResourcePluginFactoryTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/IsLocalResourcePluginFactoryTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/IsLocalResourcePluginFactoryTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/ 
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
 package org.jboss.test.classpool.test;
 
 import java.net.MalformedURLException;
@@ -26,9 +26,7 @@
 import java.net.URLClassLoader;
 
 import javassist.ClassPool;
-import junit.framework.Test;
 import junit.framework.TestCase;
-import junit.framework.TestSuite;
 
 import org.jboss.classpool.base.BaseClassPoolDomain;
 import org.jboss.classpool.base.DefaultClassLoaderIsLocalResourcePlugin;
@@ -46,6 +44,7 @@
 import org.jboss.util.loading.Translatable;
 
 /**
+ * Tests for IsLocalResourcePluginFactory implementations.
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision$
@@ -66,11 +65,6 @@
       }
    }
    
-   public static Test suite()
-   {
-      return new TestSuite(IsLocalResourcePluginFactoryTestCase.class);
-   }
-
    public IsLocalResourcePluginFactoryTestCase(String name)
    {
       super(name);
@@ -177,6 +171,4 @@
          return null;
       }
    }
-   
-   
-}
+}
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ParentFirstDelegatingClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ParentFirstDelegatingClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ParentFirstDelegatingClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,3 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
 package org.jboss.test.classpool.test;
 
 import static org.jboss.test.classpool.support.SupportArchives.JAR_A_1_URL;
@@ -7,47 +28,18 @@
 import javassist.ClassPool;
 import javassist.CtClass;
 import javassist.NotFoundException;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.classpool.domain.ClassPoolDomain;
 import org.jboss.test.classpool.support.ClassFactory;
 
-
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-
 /**
+ * Tests ClassPools with parent first delegation.
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision$
  */
 public class ParentFirstDelegatingClassPoolTestCase extends ClassPoolTest
 {
-   public static Test suite()
-   {
-      return new TestSuite(ParentFirstDelegatingClassPoolTestCase.class);
-   }
-
    public ParentFirstDelegatingClassPoolTestCase(String name)
    {
       super(name);
@@ -295,4 +287,4 @@
       assertSame(parentA, childA);
       assertSame(parentClazz, childPool.get(CLASS_A + "$Test"));
    }
-}
+}
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ParentLastDelegatingClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ParentLastDelegatingClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ParentLastDelegatingClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,3 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
 package org.jboss.test.classpool.test;
 
 
@@ -6,47 +27,19 @@
 import static org.jboss.test.classpool.support.SupportClasses.CLASS_A;
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.classpool.domain.AbstractClassPoolDomain;
 import org.jboss.test.classpool.support.ClassFactory;
 
 
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-
 /**
- * 
+ * Tests ClassPools with parent first delegation.
+ *  
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision$
  */
 public class ParentLastDelegatingClassPoolTestCase extends ClassPoolTest
 {
-   public static Test suite()
-   {
-      return new TestSuite(ParentLastDelegatingClassPoolTestCase.class);
-   }
-
    public ParentLastDelegatingClassPoolTestCase(String name)
    {
       super(name);
@@ -265,4 +258,4 @@
       Class<?> childAClass = childA.toClass();
       assertSame(childPool.getClassLoader(), childAClass.getClassLoader());
    }
-}
+}
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ScopedSiblingDelegatingClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ScopedSiblingDelegatingClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/ScopedSiblingDelegatingClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,3 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
 package org.jboss.test.classpool.test;
 
 import static org.jboss.test.classpool.support.SupportArchives.JAR_A_1_URL;
@@ -6,46 +27,17 @@
 import static org.jboss.test.classpool.support.SupportClasses.CLASS_B;
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.classpool.domain.ClassPoolDomain;
 
-
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-
 /**
+ * Tests DelegatingClassPools belonging to sibling domains.
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision$
  */
 public class ScopedSiblingDelegatingClassPoolTestCase extends ClassPoolTest
 {
-   public static Test suite()
-   {
-      return new TestSuite(ScopedSiblingDelegatingClassPoolTestCase.class);
-   }
-
    public ScopedSiblingDelegatingClassPoolTestCase(String name)
    {
       super(name);
@@ -114,4 +106,4 @@
       CtClass bb = poolB.get(CLASS_B);
       assertEquals(poolB, bb.getClassPool());
    }   
-}
+}
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/SimpleDelegatingClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/SimpleDelegatingClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/test/SimpleDelegatingClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,3 +1,24 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
 package org.jboss.test.classpool.test;
 
 import static org.jboss.test.classpool.support.SupportArchives.JAR_A_1_URL;
@@ -6,45 +27,17 @@
 import static org.jboss.test.classpool.support.SupportClasses.CLASS_B;
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.classpool.domain.ClassPoolDomain;
 
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-
 /**
+ * Basic tests for DelegatingClassPool
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision$
  */
 public class SimpleDelegatingClassPoolTestCase extends ClassPoolTest
 {
-   public static Test suite()
-   {
-      return new TestSuite(SimpleDelegatingClassPoolTestCase.class);
-   }
-
    public SimpleDelegatingClassPoolTestCase(String name)
    {
       super(name);
@@ -141,8 +134,6 @@
       assertSame(intClass, intArrayClass.getComponentType());
       assertSame(byteClassA.getClassPool(), intClass.getClassPool());
       
-      
-      
       assertTrue(aArray.isArray());
       assertSame(a, aArray.getComponentType());
       assertTrue(bArray.isArray());
@@ -154,4 +145,4 @@
       assertSame(a.getClassPool(), aArray.getClassPool());
       assertSame(b.getClassPool(), bArray.getClassPool());
    }
-}
+}
\ No newline at end of file

Copied: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/UclClassPoolTestSuite.java (from rev 97574, projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTestSuite.java)
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/UclClassPoolTestSuite.java	                        (rev 0)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/UclClassPoolTestSuite.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
+package org.jboss.test.classpool.ucl;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+import org.jboss.test.classpool.ucl.test.CtClassCreationTestCase;
+import org.jboss.test.classpool.ucl.test.RepositoryClassPoolTestCase;
+import org.jboss.test.classpool.ucl.test.RepositorySanityTestCase;
+
+/**
+ * Test suite containing all UCL tests.
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision$
+ */
+public class UclClassPoolTestSuite extends TestSuite
+{
+   public static void main(String[] args)
+   {
+      TestRunner.run(suite());
+   }
+
+   public static Test suite()
+   {
+      TestSuite suite = new TestSuite("UclClassPool All Tests");
+      
+      suite.addTestSuite(RepositorySanityTestCase.class);
+      suite.addTestSuite(RepositoryClassPoolTestCase.class);
+      suite.addTestSuite(CtClassCreationTestCase.class);
+      
+      return suite;
+   }
+}
\ No newline at end of file

Deleted: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ChildCLInfo.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ChildCLInfo.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ChildCLInfo.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,58 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.classpool.ucl.support;
-
-import static org.jboss.test.classpool.ucl.support.UCLFactory.MAIN_LOADER_REPOSITORY_OBJECT_NAME;
-
-import java.net.URL;
-
-import org.jboss.mx.loading.HeirarchicalLoaderRepository3;
-import org.jboss.mx.loading.LoaderRepository;
-import org.jboss.mx.util.MBeanServerLocator;
-
-/**
- * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
- * @version $Revision$
- */
-
-public class ChildCLInfo extends UCLInfo
-{
-   private boolean parentFirst;
-   
-   public ChildCLInfo(URL url, boolean parentFirst)
-   {
-      super(url);
-      this.parentFirst = parentFirst;
-   }
-   
-   @Override
-   protected ClassLoader internalCreate(LoaderRepository globalRepository) throws Exception
-   {
-      HeirarchicalLoaderRepository3 repository = new HeirarchicalLoaderRepository3(
-            MBeanServerLocator.locateJBoss(), MAIN_LOADER_REPOSITORY_OBJECT_NAME);
-      repository.setUseParentFirst(parentFirst);
-      ClassLoader cl = repository.newClassLoader(url, true);
-      return cl;
-   }
-
-}

Copied: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ChildUCLInfo.java (from rev 97574, projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ChildCLInfo.java)
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ChildUCLInfo.java	                        (rev 0)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ChildUCLInfo.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.classpool.ucl.support;
+
+import static org.jboss.test.classpool.ucl.support.UCLFactory.MAIN_LOADER_REPOSITORY_OBJECT_NAME;
+
+import java.net.URL;
+
+import org.jboss.mx.loading.HeirarchicalLoaderRepository3;
+import org.jboss.mx.loading.LoaderRepository;
+import org.jboss.mx.util.MBeanServerLocator;
+
+/**
+ * Creates a UCL in new loader repository. This loader repository will be registered as a child
+ * to the global repository.
+ * 
+ * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @version $Revision$
+ */
+public class ChildUCLInfo extends UCLInfo
+{
+   private boolean parentFirst;
+   
+   /**
+    * Constructor.
+    * 
+    * @param url         the classpath of the class loader
+    * @param parentFirst indicates the policy that will be used by the child loader repository
+    *                    for delegation to its parent (the global repository) 
+    */
+   public ChildUCLInfo(URL url, boolean parentFirst)
+   {
+      super(url);
+      this.parentFirst = parentFirst;
+   }
+   
+   @Override
+   protected ClassLoader internalCreate(LoaderRepository globalRepository) throws Exception
+   {
+      HeirarchicalLoaderRepository3 repository = new HeirarchicalLoaderRepository3(
+            MBeanServerLocator.locateJBoss(), MAIN_LOADER_REPOSITORY_OBJECT_NAME);
+      repository.setUseParentFirst(parentFirst);
+      ClassLoader cl = repository.newClassLoader(url, true);
+      return cl;
+   }
+}
\ No newline at end of file

Deleted: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/GlobalCLInfo.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/GlobalCLInfo.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/GlobalCLInfo.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,64 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.classpool.ucl.support;
-
-import java.net.URL;
-
-import org.jboss.mx.loading.LoaderRepository;
-import org.jboss.mx.loading.UnifiedClassLoader3;
-
-/**
- * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
- * @version $Revision$
- */
-
-public class GlobalCLInfo extends UCLInfo
-{
-   private ClassLoader parent;
-   
-   public GlobalCLInfo(URL url)
-   {
-      super(url);
-   }
-   
-   public GlobalCLInfo(URL url, ClassLoader parent)
-   {
-      this(url);
-      this.parent = parent;
-   }
-   
-   @Override
-   protected ClassLoader internalCreate(LoaderRepository repository) throws Exception
-   {
-      if (parent == null)
-      {
-         return repository.newClassLoader(url, true);
-      }
-      else
-      {
-         ClassLoader classLoader = new UnifiedClassLoader3(url, null, parent, repository);
-         repository.addClassLoader(classLoader);
-         return classLoader; 
-      }
-   }
-}
\ No newline at end of file

Copied: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/GlobalUCLInfo.java (from rev 97574, projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/GlobalCLInfo.java)
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/GlobalUCLInfo.java	                        (rev 0)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/GlobalUCLInfo.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.classpool.ucl.support;
+
+import java.net.URL;
+
+import org.jboss.mx.loading.LoaderRepository;
+import org.jboss.mx.loading.UnifiedClassLoader3;
+
+/**
+ * Creates an UnifiedClassLoader registered to the global repository.
+ * 
+ * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
+ * @version $Revision$
+ */
+public class GlobalUCLInfo extends UCLInfo
+{
+   private ClassLoader parent;
+   
+   public GlobalUCLInfo(URL url)
+   {
+      super(url);
+   }
+   
+   public GlobalUCLInfo(URL url, ClassLoader parent)
+   {
+      this(url);
+      this.parent = parent;
+   }
+   
+   @Override
+   protected ClassLoader internalCreate(LoaderRepository repository) throws Exception
+   {
+      if (parent == null)
+      {
+         return repository.newClassLoader(url, true);
+      }
+      else
+      {
+         ClassLoader classLoader = new UnifiedClassLoader3(url, null, parent, repository);
+         repository.addClassLoader(classLoader);
+         return classLoader; 
+      }
+   }
+}
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ParentLastURLClassLoader.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ParentLastURLClassLoader.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ParentLastURLClassLoader.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -25,7 +25,9 @@
 import java.net.URLClassLoader;
 
 /**
- * An attempt to emulate the web classloader with parent last search order in AS
+ * An attempt to emulate the web classloader with parent last search order in AS.
+ * This class cannot be used for Sanity tests, because of its delegation structure, if you call
+ * Class<?>.getClassLoader() on a class loaded by it, it will never return this class loader.
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision$
@@ -76,7 +78,4 @@
       }
       return parent.loadClass(name);
    }
-
-   
-   
-}
+}
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ParentLastURLClassLoaderInfo.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ParentLastURLClassLoaderInfo.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/ParentLastURLClassLoaderInfo.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -26,15 +26,21 @@
 import org.jboss.mx.loading.LoaderRepository;
 
 /**
- * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
+ * Contains information for the creation of a {@link ParentLastURLClassLoader}.
+ * 
+ * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
  * @version $Revision$
  */
-
 public class ParentLastURLClassLoaderInfo extends UCLInfo
 {
    private ClassLoader parent;
    
+   /**
+    * Constructor.
+    * 
+    * @param url    the classpath of the classloader
+    * @param parent the parent of the class loader
+    */
    public ParentLastURLClassLoaderInfo(URL url, ClassLoader parent)
    {
       super(url);
@@ -46,5 +52,4 @@
    {
       return new ParentLastURLClassLoader(new URL[] {url}, parent);
    }
-
-}
+}
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/UCLFactory.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/UCLFactory.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/UCLFactory.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -44,11 +44,9 @@
 /**
  * A factory of Unified Class Loaders.
  * 
- * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
+ * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
  * @version $Revision$
  */
-
 public class UCLFactory implements ClassLoaderFactory<UCLInfo>
 {
    final static ObjectName MAIN_LOADER_REPOSITORY_OBJECT_NAME;
@@ -57,7 +55,7 @@
       try
       {
          MAIN_LOADER_REPOSITORY_OBJECT_NAME = new ObjectName(
-               "JMImplementation:name=Default,service=LoaderRepository");
+         "JMImplementation:name=Default,service=LoaderRepository");
       }
       catch (Exception e)
       {
@@ -68,7 +66,10 @@
    private LoaderRepository globalRepository;
    //Keep a strong reference to the classloaders so that they are not garbage collected
    final static Set<ClassLoader> registeredClassLoaders = new HashSet<ClassLoader>();
-   
+
+   /**
+    * Constructor.
+    */
    public UCLFactory()
    {
       try
@@ -82,11 +83,6 @@
          throw new RuntimeException("Unexpected exception", e);
       }
    }
-   
-   public void cannotGetLoader(UCLInfo uclInfo) throws Exception
-   {
-      throw new NotImplementedException("Functionality unavailable");
-   }
 
    public ClassLoader create(UCLInfo uclInfo) throws Exception
    {
@@ -95,30 +91,15 @@
       return classLoader;
    }
 
-   public void destroyLoader(UCLInfo uclInfo) throws Exception
+   public void destroy(UCLInfo uclInfo) throws Exception
    {
       ClassLoader classLoader = uclInfo.getCreatedClassLoader();
       destroyClassLoader(classLoader);
       registeredClassLoaders.remove(classLoader);
    }
 
-   private LoaderRepository destroyClassLoader(ClassLoader classLoader)
+   public void destroyAll()
    {
-      if (classLoader != null && classLoader instanceof RepositoryClassLoader)
-      {
-         RepositoryClassLoader repoClassLoader = (RepositoryClassLoader) classLoader;
-         LoaderRepository repository = repoClassLoader.getLoaderRepository();
-         repository.removeClassLoader(repoClassLoader);
-         //Delete the temporary directory since running in Eclipse does not do this automatically
-         deleteTempDir();
-         ClassPoolRepository.getInstance().unregisterClassLoader(classLoader);
-         return repository;
-      }
-      return null;
-   }
-
-   public void destroyLoaders()
-   {
       Set<UnifiedLoaderRepository3> repositories = new HashSet<UnifiedLoaderRepository3>(); 
       for (ClassLoader registeredClassLoader :registeredClassLoaders)
       {
@@ -145,16 +126,38 @@
       }
    }
 
-   public ClassLoader getClassLoader(UCLInfo uclInfo) throws Exception
+   public ClassLoader retrieve(UCLInfo uclInfo) throws Exception
    {
       return uclInfo.getCreatedClassLoader();
    }
 
-   public Collection<ClassLoader> getCreatedClassLoaders()
+   public Collection<ClassLoader> retrieveAll()
    {
       return registeredClassLoaders;
    }
-   
+
+   /************* HELPER METHODS **********************************************************/
+
+   public boolean isAvailable(UCLInfo uclInfo) throws Exception
+   {
+      throw new NotImplementedException("Functionality unavailable");
+   }
+
+   private LoaderRepository destroyClassLoader(ClassLoader classLoader)
+   {
+      if (classLoader != null && classLoader instanceof RepositoryClassLoader)
+      {
+         RepositoryClassLoader repoClassLoader = (RepositoryClassLoader) classLoader;
+         LoaderRepository repository = repoClassLoader.getLoaderRepository();
+         repository.removeClassLoader(repoClassLoader);
+         //Delete the temporary directory since running in Eclipse does not do this automatically
+         deleteTempDir();
+         ClassPoolRepository.getInstance().unregisterClassLoader(classLoader);
+         return repository;
+      }
+      return null;
+   }
+
    private void deleteTempDir()
    {
       File dir = new File(".");
@@ -164,7 +167,7 @@
                public boolean accept(File dir, String name) 
                {
                   return name.startsWith("ucl");
-                     
+
                }
             });
       for (String uclFile : uclFiles)
@@ -172,7 +175,7 @@
          deleteRecursively(dir, uclFile);
       }
    }
-   
+
    private void deleteRecursively(File dir, String name)
    {
       File file = new File(dir, name);

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/UCLInfo.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/UCLInfo.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/UCLInfo.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -29,21 +29,35 @@
 import org.jboss.test.classpool.support.ClassLoaderInfo;
 
 /**
+ * Contains information necessary for the creation of a class loader that will be added to
+ * a UCL structure.
+ * 
  * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
  * @version $Revision$
  */
-
 public abstract class UCLInfo implements ClassLoaderInfo
 {
    protected URL url;
    private ClassLoader createdClassLoader;
    
+   /**
+    * Constructor.
+    * 
+    * @param url the classpath of the class loader to be created
+    */
    public UCLInfo(URL url)
    {
       this.url = url;
    }
    
+   /**
+    * Creates a class loader and adds it to {@code globalRepository}.
+    * Can be called only once.
+    * 
+    * @param globalRepository the global loader repository
+    * @return                 the created class loader
+    * @throws Exception       if an unexpected error occurs
+    */
    ClassLoader create(LoaderRepository globalRepository) throws Exception
    {
       Assert.assertNull("Double creation of class loader", createdClassLoader);
@@ -51,10 +65,25 @@
       return this.createdClassLoader;
    }
    
+   /**
+    * Returns the class loader that has been created by {@link #create(LoaderRepository)}.
+    * Can only be called after {@link #createdClassLoader} has been invoked.
+    * 
+    * @return the created class loader
+    */
    ClassLoader getCreatedClassLoader()
    {
       return this.createdClassLoader;
    }
    
+
+   /**
+    * Creates a class loader and adds it to {@code globalRepository}.
+    * Will be called only once.
+    * 
+    * @param globalRepository the global loader repository
+    * @return                 the created class loader
+    * @throws Exception       if an unexpected error occurs
+    */
    protected abstract ClassLoader internalCreate(LoaderRepository repository) throws Exception;
 }
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/URLClassLoaderInfo.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/URLClassLoaderInfo.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/support/URLClassLoaderInfo.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -27,20 +27,31 @@
 import org.jboss.mx.loading.LoaderRepository;
 
 /**
+ * Creates a URLClassLoader.
+ * 
  * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
  * @version $Revision$
  */
-
 public class URLClassLoaderInfo extends UCLInfo
 {
    private ClassLoader parent;
    
+   /**
+    * Constructor.
+    * 
+    * @param url the classpath of the classloader
+    */
    public URLClassLoaderInfo(URL url)
    {
       this(url, null);
    }
    
+   /**
+    * Constructor.
+    * 
+    * @param url    the classpath of the classloader
+    * @param parent the parent of the classloader
+    */
    public URLClassLoaderInfo(URL url, ClassLoader parent)
    {
       super(url);
@@ -52,5 +63,4 @@
    {
       return new URLClassLoader(new URL[] {url}, parent);
    }
-
-}
+}
\ No newline at end of file

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/CtClassCreationTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/CtClassCreationTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/CtClassCreationTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -33,13 +33,11 @@
 
 import javassist.ClassPool;
 import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
 
 import org.jboss.test.classpool.support.ClassFactory;
 import org.jboss.test.classpool.support.ClassPoolTestScenario;
 import org.jboss.test.classpool.support.TestScenario;
-import org.jboss.test.classpool.ucl.support.GlobalCLInfo;
+import org.jboss.test.classpool.ucl.support.GlobalUCLInfo;
 import org.jboss.test.classpool.ucl.support.UCLFactory;
 import org.jboss.test.classpool.ucl.support.UCLInfo;
 import org.jboss.test.classpool.ucl.support.URLClassLoaderInfo;
@@ -50,14 +48,8 @@
  * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
  * @version $Revision$
  */
-
 public class CtClassCreationTestCase extends UclClassPoolTest<CtClass, ClassPool>
 {
-   public static Test suite()
-   {
-      return new TestSuite(UCLLoaderClassPoolTestCase.class);
-   }
-
    public CtClassCreationTestCase(String name)
    {
       super(name);
@@ -74,7 +66,7 @@
       final String PARENT = "parent.Parent";
       final String CHILD = "child.Child";
       ClassPool parent = testScenario.createLoader(new URLClassLoaderInfo(JAR_B_1_URL));
-      ClassPool global = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL,
+      ClassPool global = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL,
             testScenario.getClassLoader(parent)));
       ClassPool child = testScenario.createLoader(new URLClassLoaderInfo(JAR_C_1_URL,
             testScenario.getClassLoader(global)));
@@ -124,8 +116,8 @@
    
    public void testGeneratingClassInDelegatingPool() throws Exception
    {
-      ClassPool globalA = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      ClassPool globalB = testScenario.createLoader(new GlobalCLInfo(JAR_B_1_URL));
+      ClassPool globalA = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      ClassPool globalB = testScenario.createLoader(new GlobalUCLInfo(JAR_B_1_URL));
       ClassPool child = testScenario.createLoader(new URLClassLoaderInfo(JAR_C_1_URL,
             testScenario.getClassLoader(globalA)));
       final String A_CLASS = "a.Clazz";
@@ -188,8 +180,8 @@
 
    public void testCreateClassInSamePackage() throws Exception
    {
-      ClassPool globalPoolA = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      ClassPool globalPoolB = testScenario.createLoader(new GlobalCLInfo(JAR_B_1_URL));
+      ClassPool globalPoolA = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      ClassPool globalPoolB = testScenario.createLoader(new GlobalUCLInfo(JAR_B_1_URL));
       
       ClassLoader loaderA = globalPoolA.getClassLoader();
       ClassLoader loaderB = globalPoolB.getClassLoader();
@@ -216,8 +208,8 @@
    
    public void testCreatedClassForSystemClass() throws Exception
    {
-      ClassPool globalPoolA = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      ClassPool globalPoolB = testScenario.createLoader(new GlobalCLInfo(JAR_B_1_URL));
+      ClassPool globalPoolA = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      ClassPool globalPoolB = testScenario.createLoader(new GlobalUCLInfo(JAR_B_1_URL));
       
       ClassLoader loaderA = globalPoolA.getClassLoader();
       ClassLoader loaderB = globalPoolB.getClassLoader();

Copied: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/RepositoryClassPoolTestCase.java (from rev 97574, projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UCLLoaderClassPoolTestCase.java)
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/RepositoryClassPoolTestCase.java	                        (rev 0)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/RepositoryClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -0,0 +1,101 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.classpool.ucl.test;
+
+import static org.jboss.test.classpool.support.SupportArchives.JAR_A_1_URL;
+import static org.jboss.test.classpool.support.SupportArchives.JAR_A_2_URL;
+import static org.jboss.test.classpool.support.SupportArchives.JAR_B_1_URL;
+import static org.jboss.test.classpool.support.SupportClasses.CLASS_A;
+import static org.jboss.test.classpool.support.SupportClasses.CLASS_B;
+
+import java.net.URL;
+
+import javassist.ClassPool;
+import javassist.CtClass;
+
+import org.jboss.test.classpool.support.ClassPoolTestScenario;
+import org.jboss.test.classpool.support.TestScenario;
+import org.jboss.test.classpool.ucl.support.GlobalUCLInfo;
+import org.jboss.test.classpool.ucl.support.ParentLastURLClassLoaderInfo;
+import org.jboss.test.classpool.ucl.support.UCLFactory;
+import org.jboss.test.classpool.ucl.support.UCLInfo;
+
+/**
+ * Executes the UCL Loader tests against a class pool test scenario.
+ * 
+ * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
+ * @version $Revision$
+ */
+public class RepositoryClassPoolTestCase extends RepositoryTest<CtClass, ClassPool>
+{
+   public RepositoryClassPoolTestCase(String name)
+   {
+      super(name);
+   }
+
+   @Override
+   protected TestScenario<CtClass, ClassPool, UCLInfo> getTestScenario()
+   {
+      return new ClassPoolTestScenario<UCLInfo>(new UCLFactory());
+   }
+   
+   // FIXME JBREFLECT-83
+   @Override
+   public void testUclWithParentClassLoaderAndSameClassInDomain() {}
+   
+   // FIXME JBREFLECT-83
+   @Override
+   public void testUclLoaderOrdering() {}
+   
+   // parent last class loaders only work for class pools, but not for sanity test cases
+   public void testURLChildOfGlobalUcParentLast() throws Exception
+   {
+      ClassPool globalPool = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      ClassLoader globalClassLoader = testScenario.getClassLoader(globalPool);
+      ClassPool childPoolA = createParentLastURLClassPool(JAR_B_1_URL, globalClassLoader);
+
+      //Try loading A from child first
+      CtClass aFromA = testScenario.loadClass(childPoolA, globalPool, CLASS_A);/*childPoolA.get(CLASS_A);
+      assertSame(globalPool, aFromA.getClassPool());*/
+      
+      //Try loading A from global
+      CtClass aFromGlobal = testScenario.loadClass(globalPool, CLASS_A);/*globalPool.get(CLASS_A);*/
+      assertSame(aFromA, aFromGlobal);
+      
+      //Try loading B from A
+      CtClass bFromA = childPoolA.get(CLASS_B);
+      assertSame(childPoolA, bFromA.getClassPool());
+      
+      //Should get the child copy
+      /* TODO why can't I use JAR_A1_URL instead?*/
+      ClassPool childPoolB = createParentLastURLClassPool(JAR_A_2_URL, globalClassLoader);
+      CtClass aFromB = childPoolB.get(CLASS_A);
+      assertSame(childPoolB, aFromB.getClassPool());
+   }
+
+   private ClassPool createParentLastURLClassPool(URL url, ClassLoader parent) throws Exception
+   {
+      ClassPool pool = testScenario.createLoader(new ParentLastURLClassLoaderInfo(url, parent));
+      pool.childFirstLookup = true;
+      return pool;
+   }
+}
\ No newline at end of file

Copied: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/RepositorySanityTestCase.java (from rev 97574, projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UCLLoaderSanityTestCase.java)
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/RepositorySanityTestCase.java	                        (rev 0)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/RepositorySanityTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.classpool.ucl.test;
+
+import org.jboss.test.classpool.support.SanityTestScenario;
+import org.jboss.test.classpool.support.TestScenario;
+import org.jboss.test.classpool.ucl.support.UCLFactory;
+import org.jboss.test.classpool.ucl.support.UCLInfo;
+
+/**
+ * Executes the UCL Loader tests against a sanity test scenario (for class loader behavior
+ * sanity checking).
+ * 
+ * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
+ * @version $Revision$
+ */
+public class RepositorySanityTestCase extends RepositoryTest<Class<?>, ClassLoader>
+{
+   public RepositorySanityTestCase(String name)
+   {
+      super(name);
+   }
+
+   @Override
+   protected TestScenario<Class<?>, ClassLoader, UCLInfo> getTestScenario()
+   {
+      return new SanityTestScenario<UCLInfo>(new UCLFactory());
+   }
+}

Copied: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/RepositoryTest.java (from rev 97574, projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclLoaderTest.java)
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/RepositoryTest.java	                        (rev 0)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/RepositoryTest.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -0,0 +1,259 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
+package org.jboss.test.classpool.ucl.test;
+
+import static org.jboss.test.classpool.support.SupportArchives.JAR_A_1_URL;
+import static org.jboss.test.classpool.support.SupportArchives.JAR_A_2_URL;
+import static org.jboss.test.classpool.support.SupportArchives.JAR_B_1_URL;
+import static org.jboss.test.classpool.support.SupportArchives.JAR_B_2_URL;
+import static org.jboss.test.classpool.support.SupportArchives.JAR_C_1_URL;
+import static org.jboss.test.classpool.support.SupportClasses.CLASS_A;
+import static org.jboss.test.classpool.support.SupportClasses.CLASS_B;
+import static org.jboss.test.classpool.support.SupportClasses.CLASS_C;
+
+import org.jboss.test.classpool.ucl.support.ChildUCLInfo;
+import org.jboss.test.classpool.ucl.support.GlobalUCLInfo;
+import org.jboss.test.classpool.ucl.support.UCLInfo;
+import org.jboss.test.classpool.ucl.support.URLClassLoaderInfo;
+
+/**
+ * Test that asserts UnifiedClassLoaders behaviour.
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @version $Revision$
+ */
+public abstract class RepositoryTest<C, L> extends UclClassPoolTest< C, L>
+{
+   public RepositoryTest(String name)
+   {
+      super(name);
+   }
+
+   public void testGlobalScope() throws Exception
+   {
+      UCLInfo uclInfoA = new GlobalUCLInfo(JAR_A_1_URL);
+      L loaderA = testScenario.createLoader(uclInfoA);
+      UCLInfo uclInfoB = new GlobalUCLInfo(JAR_B_1_URL);
+      L loaderB = testScenario.createLoader(uclInfoB);
+      //Call twice to ensure that we hit the cache
+      accessGlobalScope(loaderA, loaderB);
+      accessGlobalScope(loaderA, loaderB);
+      
+      testScenario.destroyLoader(uclInfoB);
+      testScenario.loadClass(loaderA, CLASS_A);
+      testScenario.cannotLoadClass(loaderA, CLASS_B);
+   }
+
+   
+   public void testChildDomain() throws Exception
+   {
+      L loaderA = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      L loaderB = testScenario.createLoader(new GlobalUCLInfo(JAR_B_1_URL));
+      L loaderC = testScenario.createLoader(new ChildUCLInfo(JAR_C_1_URL, false));
+      //Call twice to ensure that we hit the cache
+      accessChildDomain(loaderA, loaderB, loaderC);
+      accessChildDomain(loaderA, loaderB, loaderC);
+   }
+
+   public void testSiblingDomains() throws Exception
+   {
+      L loaderA = testScenario.createLoader(new ChildUCLInfo(JAR_A_1_URL, true));
+      L loaderB = testScenario.createLoader(new ChildUCLInfo(JAR_B_1_URL, false));
+
+      testScenario.loadClass(loaderA, CLASS_A);
+      testScenario.loadClass(loaderB, CLASS_B);
+      testScenario.cannotLoadClass(loaderA, CLASS_B);
+      testScenario.cannotLoadClass(loaderB, CLASS_A);
+   }
+
+   public void testChildWithNewClassesInParent() throws Exception
+   {
+      L scopedLoader = testScenario.createLoader(new ChildUCLInfo(JAR_B_1_URL, true));
+      testScenario.cannotLoadClass(scopedLoader, CLASS_A);
+      L globalLoader = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      C aFromChild = testScenario.loadClass(scopedLoader, globalLoader, CLASS_A);
+      C aFromParent = testScenario.loadClass(globalLoader, CLASS_A);
+      assertSame(aFromChild, aFromParent);
+      
+      C aFromChild2 = testScenario.loadClass(scopedLoader, globalLoader, CLASS_A);
+      assertSame(aFromChild, aFromChild2);
+   }
+   
+   public void testChildOverrideWithParentDelegation() throws Exception
+   {
+      L globalLoader = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      L scopedLoader = testScenario.createLoader(new ChildUCLInfo(JAR_A_2_URL, true));
+      
+      C aFromParent = testScenario.loadClass(globalLoader, CLASS_A);
+      C aFromChild = testScenario.loadClass(scopedLoader, globalLoader, CLASS_A);
+      assertSame(aFromParent, aFromChild);
+   }
+
+   public void testChildOverrideWithNoParentDelegation() throws Exception
+   {
+      L globalLoader = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      L scopedLoader = testScenario.createLoader(new ChildUCLInfo(JAR_A_2_URL, false));
+      
+      C aFromParent = testScenario.loadClass(globalLoader, CLASS_A);
+      C aFromChild = testScenario.loadClass(scopedLoader, CLASS_A);
+      assertNotSame(aFromParent, aFromChild);
+   }
+   
+   public void testURLChildOfGlobalUclParentFirst() throws Exception
+   {
+      L globalLoader = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      ClassLoader globalClassLoader = testScenario.getClassLoader(globalLoader);
+      L childLoaderA = testScenario.createLoader(new URLClassLoaderInfo(JAR_B_1_URL, globalClassLoader));
+      
+      //Try loading A from child first
+      C aFromA = testScenario.loadClass(childLoaderA, globalLoader, CLASS_A);
+      
+      //Try loading A from global
+      C aFromGlobal = testScenario.loadClass(globalLoader, CLASS_A);
+      assertSame(aFromA, aFromGlobal);
+      
+      //Try loading B from A
+      testScenario.loadClass(childLoaderA, CLASS_B);
+      
+      L childLoaderB = testScenario.createLoader(new URLClassLoaderInfo(JAR_A_2_URL, globalClassLoader));
+      
+      //Should get the cached copy from the parent
+      C aFromB = testScenario.loadClass(childLoaderB, globalLoader, CLASS_A);
+      assertSame(aFromA, aFromB);
+   }
+
+   public void testUndeploySibling() throws Exception
+   {
+      L loaderA = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      testScenario.cannotLoadClass(loaderA, CLASS_B);
+      
+      UCLInfo uclInfoB = new GlobalUCLInfo(JAR_B_1_URL);
+      L loaderB = testScenario.createLoader(uclInfoB);
+      
+      testScenario.loadClass(loaderA, loaderB, CLASS_B);
+      testScenario.destroyLoader(uclInfoB);
+      testScenario.cannotLoadClass(loaderA, CLASS_B);
+   }
+
+   /* FIXME test doesn't work
+   public void testUndeployParentDomainClassLoader() throws Exception
+   {
+      L loaderA = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
+      testScenario.cannotLoadClass(loaderA, CLASS_B);
+      
+      L childLoader = testScenario.createLoader(new ChildCLInfo(JAR_C_1_URL, true));
+      testScenario.cannotLoadClass(childLoader, CLASS_B);
+      
+      UCLInfo uclInfoB = new GlobalCLInfo(JAR_B_1_URL);
+      L loaderB = testScenario.createLoader(uclInfoB);
+      
+      C bFromChild = testScenario.loadClass(childLoader, loaderB, CLASS_B);
+      C bFromA = testScenario.loadClass(loaderA, loaderB, CLASS_B);
+      assertSame(bFromA, bFromChild);
+      
+      testScenario.destroyLoader(uclInfoB);
+      testScenario.cannotLoadClass(loaderA, CLASS_B);
+      testScenario.cannotLoadClass(childLoader, CLASS_B);
+   }*/
+   
+   public void testUclWithParentClassLoader() throws Exception
+   {
+      L parentLoader = testScenario.createLoader(new URLClassLoaderInfo(JAR_B_1_URL));
+      L globalLoader = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL,
+            testScenario.getClassLoader(parentLoader)));
+      
+      C aFromGlobal = testScenario.loadClass(globalLoader, CLASS_A);
+      C aFromGlobal2 = testScenario.loadClass(globalLoader, CLASS_A);
+      assertSame(aFromGlobal, aFromGlobal2);
+      
+      C bFromGlobal = testScenario.loadClass(globalLoader, parentLoader, CLASS_B);
+      C bFromGlobal2 = testScenario.loadClass(globalLoader, parentLoader, CLASS_B);
+      assertSame(bFromGlobal, bFromGlobal2);
+      
+      C bFromParent = testScenario.loadClass(parentLoader, CLASS_B);
+      C bFromParent2 = testScenario.loadClass(parentLoader, CLASS_B);
+      assertSame(bFromParent, bFromParent2);
+      assertSame(bFromGlobal, bFromParent);
+   }
+
+   
+   public void testUclWithParentClassLoaderAndSameClassInDomain() throws Exception
+   {
+      L parentLoader = testScenario.createLoader(new URLClassLoaderInfo(JAR_B_1_URL));
+      L globalLoaderA = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL,
+            testScenario.getClassLoader(parentLoader)));
+      
+      C aFromGlobal = testScenario.loadClass(globalLoaderA, CLASS_A);
+      C aFromGlobal2 = testScenario.loadClass(globalLoaderA, CLASS_A);
+      assertSame(aFromGlobal, aFromGlobal2);
+      
+      L globalLoaderB = testScenario.createLoader(new GlobalUCLInfo(JAR_B_2_URL));
+      C bFromGlobal = testScenario.loadClass(globalLoaderA, globalLoaderB, CLASS_B);
+      C bFromGlobal2 = testScenario.loadClass(globalLoaderA, globalLoaderB, CLASS_B);
+      assertSame(bFromGlobal, bFromGlobal2);
+      
+      C bFromParent = testScenario.loadClass(parentLoader, CLASS_B);
+      C bFromParent2 = testScenario.loadClass(parentLoader, CLASS_B);
+      assertSame(bFromParent, bFromParent2);
+      
+      assertNotSame(bFromGlobal, bFromParent);
+   }
+   
+   public void testUclLoaderOrdering() throws Exception
+   {
+      L globalLoaderA = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      L globalLoaderB = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      L globalLoaderC = testScenario.createLoader(new GlobalUCLInfo(JAR_A_1_URL));
+      
+      C aFromA = testScenario.loadClass(globalLoaderA, CLASS_A);
+      C aFromB = testScenario.loadClass(globalLoaderB, globalLoaderA, CLASS_A);
+      C aFromC = testScenario.loadClass(globalLoaderC, globalLoaderA, CLASS_A);
+      assertSame(aFromA, aFromB);
+      assertSame(aFromA, aFromC);
+   }
+
+   private void accessGlobalScope(L loaderA, L loaderB) throws Exception
+   {
+      C aFromA = testScenario.loadClass(loaderA, CLASS_A);
+      C bFromA = testScenario.loadClass(loaderA, loaderB, CLASS_B);
+      C aFromB = testScenario.loadClass(loaderB, loaderA, CLASS_A);
+      C bFromB = testScenario.loadClass(loaderB, CLASS_B);
+      assertSame(aFromA, aFromB);
+      assertSame(bFromA, bFromB);
+   }
+   
+   private void accessChildDomain(L loaderA, L loaderB, L loaderC)
+   throws Exception
+   {
+      C aFromA = testScenario.loadClass(loaderA, CLASS_A);
+      C bFromB = testScenario.loadClass(loaderB, CLASS_B);
+      C aFromC = testScenario.loadClass(loaderC, loaderA, CLASS_A);
+      C bFromC = testScenario.loadClass(loaderC, loaderB, CLASS_B);
+      assertSame(aFromA, aFromC);
+      assertSame(bFromB, bFromC);
+
+      testScenario.loadClass(loaderC, CLASS_C);
+      testScenario.cannotLoadClass(loaderA, CLASS_C);
+      testScenario.cannotLoadClass(loaderB, CLASS_C);
+   }
+}
\ No newline at end of file

Deleted: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UCLLoaderClassPoolTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UCLLoaderClassPoolTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UCLLoaderClassPoolTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,108 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.classpool.ucl.test;
-
-import static org.jboss.test.classpool.support.SupportArchives.JAR_A_1_URL;
-import static org.jboss.test.classpool.support.SupportArchives.JAR_A_2_URL;
-import static org.jboss.test.classpool.support.SupportArchives.JAR_B_1_URL;
-import static org.jboss.test.classpool.support.SupportClasses.CLASS_A;
-import static org.jboss.test.classpool.support.SupportClasses.CLASS_B;
-
-import java.net.URL;
-
-import javassist.ClassPool;
-import javassist.CtClass;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.jboss.test.classpool.support.ClassPoolTestScenario;
-import org.jboss.test.classpool.support.TestScenario;
-import org.jboss.test.classpool.ucl.support.GlobalCLInfo;
-import org.jboss.test.classpool.ucl.support.ParentLastURLClassLoaderInfo;
-import org.jboss.test.classpool.ucl.support.UCLFactory;
-import org.jboss.test.classpool.ucl.support.UCLInfo;
-
-/**
- * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
- * @version $Revision$
- */
-
-public class UCLLoaderClassPoolTestCase extends
-      UclLoaderTest<CtClass, ClassPool>
-{
-   public static Test suite()
-   {
-      return new TestSuite(UCLLoaderClassPoolTestCase.class);
-   }
-
-   public UCLLoaderClassPoolTestCase(String name)
-   {
-      super(name);
-   }
-
-   @Override
-   protected TestScenario<CtClass, ClassPool, UCLInfo> getTestScenario()
-   {
-      return new ClassPoolTestScenario<UCLInfo>(new UCLFactory());
-   }
-   
-   // FIXME JBREFLECT-83
-   @Override
-   public void testUclWithParentClassLoaderAndSameClassInDomain() {}
-   
-   // FIXME JBREFLECT-83
-   @Override
-   public void testUclLoaderOrdering() {}
-   
-   public void testURLChildOfGlobalUcParentLast() throws Exception
-   {
-      ClassPool globalPool = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      ClassLoader globalClassLoader = testScenario.getClassLoader(globalPool);
-      ClassPool childPoolA = createParentLastURLClassPool(JAR_B_1_URL, globalClassLoader);
-
-      //Try loading A from child first
-      CtClass aFromA = testScenario.loadClass(childPoolA, globalPool, CLASS_A);/*childPoolA.get(CLASS_A);
-      assertSame(globalPool, aFromA.getClassPool());*/
-      
-      //Try loading A from global
-      CtClass aFromGlobal = testScenario.loadClass(globalPool, CLASS_A);/*globalPool.get(CLASS_A);*/
-      assertSame(aFromA, aFromGlobal);
-      
-      //Try loading B from A
-      CtClass bFromA = childPoolA.get(CLASS_B);
-      assertSame(childPoolA, bFromA.getClassPool());
-      
-      //Should get the child copy
-      /* TODO why can't I use JAR_A1_URL instead?*/
-      ClassPool childPoolB = createParentLastURLClassPool(JAR_A_2_URL, globalClassLoader);
-      CtClass aFromB = childPoolB.get(CLASS_A);
-      assertSame(childPoolB, aFromB.getClassPool());
-   }
-
-   private ClassPool createParentLastURLClassPool(URL url, ClassLoader parent) throws Exception
-   {
-      ClassPool pool = testScenario.createLoader(new ParentLastURLClassLoaderInfo(url, parent));
-      pool.childFirstLookup = true;
-      return pool;
-   }
-}
\ No newline at end of file

Deleted: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UCLLoaderSanityTestCase.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UCLLoaderSanityTestCase.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UCLLoaderSanityTestCase.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,56 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.classpool.ucl.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.jboss.test.classpool.support.SanityTestScenario;
-import org.jboss.test.classpool.support.TestScenario;
-import org.jboss.test.classpool.ucl.support.UCLFactory;
-import org.jboss.test.classpool.ucl.support.UCLInfo;
-
-/**
- * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
- * @version $Revision$
- */
-
-public class UCLLoaderSanityTestCase extends UclLoaderTest<Class<?>, ClassLoader>
-{
-   public static Test suite()
-   {
-      return new TestSuite(UCLLoaderSanityTestCase.class);
-   }
-
-   public UCLLoaderSanityTestCase(String name)
-   {
-      super(name);
-   }
-
-   @Override
-   protected TestScenario<Class<?>, ClassLoader, UCLInfo> getTestScenario()
-   {
-      return new SanityTestScenario<UCLInfo>(new UCLFactory());
-   }
-
-}

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTest.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTest.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTest.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,24 +1,24 @@
 /*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/ 
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
 package org.jboss.test.classpool.ucl.test;
 
 import java.io.File;

Modified: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTestDelegate.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTestDelegate.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTestDelegate.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,39 +1,38 @@
 /*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/ 
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */ 
 package org.jboss.test.classpool.ucl.test;
 
 import org.jboss.test.AbstractTestDelegate;
 
 /**
+ * Delegate of UclClassPoolTest.
  * 
  * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
  * @version $Revision$
  */
 public class UclClassPoolTestDelegate extends AbstractTestDelegate
 {
-
    public UclClassPoolTestDelegate(Class<?> clazz)
    {
       super(clazz);
    }
-
-}
+}
\ No newline at end of file

Deleted: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTestSuite.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTestSuite.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclClassPoolTestSuite.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,50 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/ 
-package org.jboss.test.classpool.ucl.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision$
- */
-public class UclClassPoolTestSuite extends TestSuite
-{
-   public static void main(String[] args)
-   {
-      TestRunner.run(suite());
-   }
-
-   public static Test suite()
-   {
-      TestSuite suite = new TestSuite("UclClassPool All Tests");
-      
-      suite.addTest(UCLLoaderSanityTestCase.suite());
-      suite.addTest(UCLLoaderClassPoolTestCase.suite());
-      
-      return suite;
-   }
-
-}

Deleted: projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclLoaderTest.java
===================================================================
--- projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclLoaderTest.java	2009-12-09 18:09:49 UTC (rev 97632)
+++ projects/jboss-classpool/trunk/src/test/java/org/jboss/test/classpool/ucl/test/UclLoaderTest.java	2009-12-09 19:21:45 UTC (rev 97633)
@@ -1,260 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file in the
-* distribution for a full listing of individual contributors. 
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/ 
-package org.jboss.test.classpool.ucl.test;
-
-import static org.jboss.test.classpool.support.SupportArchives.JAR_A_1_URL;
-import static org.jboss.test.classpool.support.SupportArchives.JAR_A_2_URL;
-import static org.jboss.test.classpool.support.SupportArchives.JAR_B_1_URL;
-import static org.jboss.test.classpool.support.SupportArchives.JAR_B_2_URL;
-import static org.jboss.test.classpool.support.SupportArchives.JAR_C_1_URL;
-import static org.jboss.test.classpool.support.SupportClasses.CLASS_A;
-import static org.jboss.test.classpool.support.SupportClasses.CLASS_B;
-import static org.jboss.test.classpool.support.SupportClasses.CLASS_C;
-
-import org.jboss.test.classpool.ucl.support.ChildCLInfo;
-import org.jboss.test.classpool.ucl.support.GlobalCLInfo;
-import org.jboss.test.classpool.ucl.support.UCLInfo;
-import org.jboss.test.classpool.ucl.support.URLClassLoaderInfo;
-
-/**
- * This is here to figure out how the UCLs work, and we will duplicate this
- * in the classpool test
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
- * @version $Revision$
- */
-public abstract class UclLoaderTest< C, L> extends UclClassPoolTest< C, L>
-{
-   public UclLoaderTest(String name)
-   {
-      super(name);
-   }
-
-   public void testGlobalScope() throws Exception
-   {
-      UCLInfo uclInfoA = new GlobalCLInfo(JAR_A_1_URL);
-      L loaderA = testScenario.createLoader(uclInfoA);
-      UCLInfo uclInfoB = new GlobalCLInfo(JAR_B_1_URL);
-      L loaderB = testScenario.createLoader(uclInfoB);
-      //Call twice to ensure that we hit the cache
-      accessGlobalScope(loaderA, loaderB);
-      accessGlobalScope(loaderA, loaderB);
-      
-      testScenario.destroyLoader(uclInfoB);
-      testScenario.loadClass(loaderA, CLASS_A);
-      testScenario.cannotLoadClass(loaderA, CLASS_B);
-   }
-
-   
-   public void testChildDomain() throws Exception
-   {
-      L loaderA = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      L loaderB = testScenario.createLoader(new GlobalCLInfo(JAR_B_1_URL));
-      L loaderC = testScenario.createLoader(new ChildCLInfo(JAR_C_1_URL, false));
-      //Call twice to ensure that we hit the cache
-      accessChildDomain(loaderA, loaderB, loaderC);
-      accessChildDomain(loaderA, loaderB, loaderC);
-   }
-
-   public void testSiblingDomains() throws Exception
-   {
-      L loaderA = testScenario.createLoader(new ChildCLInfo(JAR_A_1_URL, true));
-      L loaderB = testScenario.createLoader(new ChildCLInfo(JAR_B_1_URL, false));
-
-      testScenario.loadClass(loaderA, CLASS_A);
-      testScenario.loadClass(loaderB, CLASS_B);
-      testScenario.cannotLoadClass(loaderA, CLASS_B);
-      testScenario.cannotLoadClass(loaderB, CLASS_A);
-   }
-
-   public void testChildWithNewClassesInParent() throws Exception
-   {
-      L scopedLoader = testScenario.createLoader(new ChildCLInfo(JAR_B_1_URL, true));
-      testScenario.cannotLoadClass(scopedLoader, CLASS_A);
-      L globalLoader = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      C aFromChild = testScenario.loadClass(scopedLoader, globalLoader, CLASS_A);
-      C aFromParent = testScenario.loadClass(globalLoader, CLASS_A);
-      assertSame(aFromChild, aFromParent);
-      
-      C aFromChild2 = testScenario.loadClass(scopedLoader, globalLoader, CLASS_A);
-      assertSame(aFromChild, aFromChild2);
-   }
-   
-   public void testChildOverrideWithParentDelegation() throws Exception
-   {
-      L globalLoader = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      L scopedLoader = testScenario.createLoader(new ChildCLInfo(JAR_A_2_URL, true));
-      
-      C aFromParent = testScenario.loadClass(globalLoader, CLASS_A);
-      C aFromChild = testScenario.loadClass(scopedLoader, globalLoader, CLASS_A);
-      assertSame(aFromParent, aFromChild);
-   }
-
-   public void testChildOverrideWithNoParentDelegation() throws Exception
-   {
-      L globalLoader = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      L scopedLoader = testScenario.createLoader(new ChildCLInfo(JAR_A_2_URL, false));
-      
-      C aFromParent = testScenario.loadClass(globalLoader, CLASS_A);
-      C aFromChild = testScenario.loadClass(scopedLoader, CLASS_A);
-      assertNotSame(aFromParent, aFromChild);
-   }
-   
-   public void testURLChildOfGlobalUclParentFirst() throws Exception
-   {
-      L globalLoader = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      ClassLoader globalClassLoader = testScenario.getClassLoader(globalLoader);
-      L childLoaderA = testScenario.createLoader(new URLClassLoaderInfo(JAR_B_1_URL, globalClassLoader));
-      
-      //Try loading A from child first
-      C aFromA = testScenario.loadClass(childLoaderA, globalLoader, CLASS_A);
-      
-      //Try loading A from global
-      C aFromGlobal = testScenario.loadClass(globalLoader, CLASS_A);
-      assertSame(aFromA, aFromGlobal);
-      
-      //Try loading B from A
-      testScenario.loadClass(childLoaderA, CLASS_B);
-      
-      L childLoaderB = testScenario.createLoader(new URLClassLoaderInfo(JAR_A_2_URL, globalClassLoader));
-      
-      //Should get the cached copy from the parent
-      C aFromB = testScenario.loadClass(childLoaderB, globalLoader, CLASS_A);
-      assertSame(aFromA, aFromB);
-   }
-
-   public void testUndeploySibling() throws Exception
-   {
-      L loaderA = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      testScenario.cannotLoadClass(loaderA, CLASS_B);
-      
-      UCLInfo uclInfoB = new GlobalCLInfo(JAR_B_1_URL);
-      L loaderB = testScenario.createLoader(uclInfoB);
-      
-      testScenario.loadClass(loaderA, loaderB, CLASS_B);
-      testScenario.destroyLoader(uclInfoB);
-      testScenario.cannotLoadClass(loaderA, CLASS_B);
-   }
-
-   /* FIXME test doesn't work
-   public void testUndeployParentDomainClassLoader() throws Exception
-   {
-      L loaderA = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      testScenario.cannotLoadClass(loaderA, CLASS_B);
-      
-      L childLoader = testScenario.createLoader(new ChildCLInfo(JAR_C_1_URL, true));
-      testScenario.cannotLoadClass(childLoader, CLASS_B);
-      
-      UCLInfo uclInfoB = new GlobalCLInfo(JAR_B_1_URL);
-      L loaderB = testScenario.createLoader(uclInfoB);
-      
-      C bFromChild = testScenario.loadClass(childLoader, loaderB, CLASS_B);
-      C bFromA = testScenario.loadClass(loaderA, loaderB, CLASS_B);
-      assertSame(bFromA, bFromChild);
-      
-      testScenario.destroyLoader(uclInfoB);
-      testScenario.cannotLoadClass(loaderA, CLASS_B);
-      testScenario.cannotLoadClass(childLoader, CLASS_B);
-   }*/
-   
-   public void testUclWithParentClassLoader() throws Exception
-   {
-      L parentLoader = testScenario.createLoader(new URLClassLoaderInfo(JAR_B_1_URL));
-      L globalLoader = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL,
-            testScenario.getClassLoader(parentLoader)));
-      
-      C aFromGlobal = testScenario.loadClass(globalLoader, CLASS_A);
-      C aFromGlobal2 = testScenario.loadClass(globalLoader, CLASS_A);
-      assertSame(aFromGlobal, aFromGlobal2);
-      
-      C bFromGlobal = testScenario.loadClass(globalLoader, parentLoader, CLASS_B);
-      C bFromGlobal2 = testScenario.loadClass(globalLoader, parentLoader, CLASS_B);
-      assertSame(bFromGlobal, bFromGlobal2);
-      
-      C bFromParent = testScenario.loadClass(parentLoader, CLASS_B);
-      C bFromParent2 = testScenario.loadClass(parentLoader, CLASS_B);
-      assertSame(bFromParent, bFromParent2);
-      assertSame(bFromGlobal, bFromParent);
-   }
-
-   
-   public void testUclWithParentClassLoaderAndSameClassInDomain() throws Exception
-   {
-      L parentLoader = testScenario.createLoader(new URLClassLoaderInfo(JAR_B_1_URL));
-      L globalLoaderA = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL,
-            testScenario.getClassLoader(parentLoader)));
-      
-      C aFromGlobal = testScenario.loadClass(globalLoaderA, CLASS_A);
-      C aFromGlobal2 = testScenario.loadClass(globalLoaderA, CLASS_A);
-      assertSame(aFromGlobal, aFromGlobal2);
-      
-      L globalLoaderB = testScenario.createLoader(new GlobalCLInfo(JAR_B_2_URL));
-      C bFromGlobal = testScenario.loadClass(globalLoaderA, globalLoaderB, CLASS_B);
-      C bFromGlobal2 = testScenario.loadClass(globalLoaderA, globalLoaderB, CLASS_B);
-      assertSame(bFromGlobal, bFromGlobal2);
-      
-      C bFromParent = testScenario.loadClass(parentLoader, CLASS_B);
-      C bFromParent2 = testScenario.loadClass(parentLoader, CLASS_B);
-      assertSame(bFromParent, bFromParent2);
-      
-      assertNotSame(bFromGlobal, bFromParent);
-   }
-   
-   public void testUclLoaderOrdering() throws Exception
-   {
-      L globalLoaderA = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      L globalLoaderB = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      L globalLoaderC = testScenario.createLoader(new GlobalCLInfo(JAR_A_1_URL));
-      
-      C aFromA = testScenario.loadClass(globalLoaderA, CLASS_A);
-      C aFromB = testScenario.loadClass(globalLoaderB, globalLoaderA, CLASS_A);
-      C aFromC = testScenario.loadClass(globalLoaderC, globalLoaderA, CLASS_A);
-      assertSame(aFromA, aFromB);
-      assertSame(aFromA, aFromC);
-   }
-
-   private void accessGlobalScope(L loaderA, L loaderB) throws Exception
-   {
-      C aFromA = testScenario.loadClass(loaderA, CLASS_A);
-      C bFromA = testScenario.loadClass(loaderA, loaderB, CLASS_B);
-      C aFromB = testScenario.loadClass(loaderB, loaderA, CLASS_A);
-      C bFromB = testScenario.loadClass(loaderB, CLASS_B);
-      assertSame(aFromA, aFromB);
-      assertSame(bFromA, bFromB);
-   }
-   
-   private void accessChildDomain(L loaderA, L loaderB, L loaderC)
-   throws Exception
-   {
-      C aFromA = testScenario.loadClass(loaderA, CLASS_A);
-      C bFromB = testScenario.loadClass(loaderB, CLASS_B);
-      C aFromC = testScenario.loadClass(loaderC, loaderA, CLASS_A);
-      C bFromC = testScenario.loadClass(loaderC, loaderB, CLASS_B);
-      assertSame(aFromA, aFromC);
-      assertSame(bFromB, bFromC);
-
-      testScenario.loadClass(loaderC, CLASS_C);
-      testScenario.cannotLoadClass(loaderA, CLASS_C);
-      testScenario.cannotLoadClass(loaderB, CLASS_C);
-   }
-}
\ No newline at end of file




More information about the jboss-cvs-commits mailing list