[jboss-cvs] JBossAS SVN: r83865 - projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/test.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Feb 4 14:55:26 EST 2009


Author: kabir.khan at jboss.com
Date: 2009-02-04 14:55:26 -0500 (Wed, 04 Feb 2009)
New Revision: 83865

Modified:
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/test/ClassPoolWithRepositoryTestCase.java
Log:
[JBAOP-666] Better tests for generating classes

Modified: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/test/ClassPoolWithRepositoryTestCase.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/test/ClassPoolWithRepositoryTestCase.java	2009-02-04 19:17:27 UTC (rev 83864)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/test/ClassPoolWithRepositoryTestCase.java	2009-02-04 19:55:26 UTC (rev 83865)
@@ -491,14 +491,15 @@
 
    public void testSimpleGeneratingClass() throws Exception
    {
+   
       ClassPool global = null;
       try
       {
+         final String classname = CLASS_A + "XYZ";
          global = createClassPool("A", true, JAR_A_1);
-         final String NEW_CLASS = CLASS_A + "XYZ";
-         CtClass newCtClass = global.makeClass(NEW_CLASS);
+         CtClass newCtClass = global.makeClass(classname);
          Class<?> newClass = newCtClass.toClass();
-         Class<?> foundClass = global.getClassLoader().loadClass(NEW_CLASS);
+         Class<?> foundClass = global.getClassLoader().loadClass(classname);
          assertSame(newClass, foundClass);
       }
       finally
@@ -506,25 +507,29 @@
          unregisterClassPool(global);
       }
    }
-   
-   public void testSimpleGeneratingClassAndFindInSameDomain() throws Exception
+
+   public void testGeneratingClassAndFindInSameDomain() throws Exception
    {
       ClassPool globalA = null;
       ClassPool globalB = null;
       try
       {
-         //Created class must be in one of the packages the loader handles
-         //http://www.jboss.com/index.html?module=bb&op=viewtopic&t=147105
-         final String NEW_CLASS = PACKAGE_A + ".NewClass";
-
+         final String classnameA = PACKAGE_A + ".NewClassA";
+         final String classnameB = PACKAGE_B + ".NewClassB";
          globalA = createClassPool("A", true, JAR_A_1);
          globalB = createClassPool("B", true, JAR_B_1);
-         CtClass newCtClass = globalA.makeClass(NEW_CLASS);
-         Class<?> newClass = newCtClass.toClass();
-         Class<?> foundClassA = globalA.getClassLoader().loadClass(NEW_CLASS);
-         Class<?> foundClassB = globalB.getClassLoader().loadClass(NEW_CLASS);
-         assertSame(newClass, foundClassA);
-         assertSame(newClass, foundClassB);
+         
+         CtClass newCtClassA = globalA.makeClass(classnameA);
+         Class<?> newClassA = newCtClassA.toClass();
+         assertSame(globalA.getClassLoader(), newClassA.getClassLoader());
+         assertSame(newClassA, globalA.getClassLoader().loadClass(classnameA));
+         assertSame(newClassA, globalB.getClassLoader().loadClass(classnameA));
+
+         CtClass newCtClassB = globalB.makeClass(classnameB);
+         Class<?> newClassB = newCtClassB.toClass();
+         assertSame(globalB.getClassLoader(), newClassB.getClassLoader());
+         assertSame(newClassB, globalA.getClassLoader().loadClass(classnameB));
+         assertSame(newClassB, globalB.getClassLoader().loadClass(classnameB));
       }
       finally
       {
@@ -532,7 +537,7 @@
          unregisterClassPool(globalB);
       }
    }
-   
+
    public void testGeneratingCrossDomainClassHierarchy() throws Exception
    {
       ClassPool global = null;
@@ -540,40 +545,37 @@
       ClassPool child2 = null;
       try
       {
-         //Created class must be in one of the packages the loader handles
-         //http://www.jboss.com/index.html?module=bb&op=viewtopic&t=147105
-         final String PARENT = PACKAGE_A + ".Parent";
-         final String CHILD = PACKAGE_C + ".Child";
-         
+         final String parentName = PACKAGE_A + ".Parent";
+         final String childName = PACKAGE_C + ".Child";
          global = createClassPool("A", true, JAR_A_1);
          child1 = createChildDomainParentLastClassPool("C1", "C1", true, JAR_B_1);
          child2 = createChildDomainParentLastClassPool("C2", "C2", "C1", true, JAR_C_1);
          
-         assertCannotLoadCtClass(global, PARENT);
-         assertCannotLoadCtClass(child1, PARENT);
-         assertCannotLoadCtClass(child2, PARENT);
-         assertCannotLoadCtClass(child2, CHILD);
+         assertCannotLoadCtClass(global, parentName);
+         assertCannotLoadCtClass(child1, parentName);
+         assertCannotLoadCtClass(child2, parentName);
+         assertCannotLoadCtClass(child2, childName);
          
-         CtClass parentClass = global.makeClass(PARENT);
+         CtClass parentClass = global.makeClass(parentName);
          
-         CtClass childClass = child2.makeClass(CHILD);
+         CtClass childClass = child2.makeClass(childName);
          childClass.setSuperclass(parentClass);
          
-         CtClass parentFromGlobal = global.get(PARENT);
+         CtClass parentFromGlobal = global.get(parentName);
          assertSame(global, parentFromGlobal.getClassPool());
          assertSame(parentClass, parentFromGlobal);
          
-         CtClass childFromChild2 = child2.get(CHILD);
+         CtClass childFromChild2 = child2.get(childName);
          assertSame(child2, childFromChild2.getClassPool());
          assertSame(childClass, childFromChild2);
          
-         assertCannotLoadCtClass(global, CHILD);
-         assertCannotLoadCtClass(child1, CHILD);
+         assertCannotLoadCtClass(global, childName);
+         assertCannotLoadCtClass(child1, childName);
          
          CtClass parentFromChildA = childClass.getSuperclass();
          assertSame(parentClass, parentFromChildA);
        
-         CtClass parentFromChildB = child2.get(PARENT);
+         CtClass parentFromChildB = child2.get(parentName);
          assertSame(parentClass, parentFromChildB);
          
          Class<?> parentClazz = parentClass.toClass();
@@ -582,13 +584,13 @@
          Class<?> childClazz = childClass.toClass();
          assertSame(child2.getClassLoader(), childClazz.getClassLoader());
          
-         Class<?> parentClazzFromParent = global.getClassLoader().loadClass(PARENT);
+         Class<?> parentClazzFromParent = global.getClassLoader().loadClass(parentName);
          assertSame(parentClazz, parentClazzFromParent);
          
-         Class<?> parentClazzFromChild = child2.getClassLoader().loadClass(PARENT);
+         Class<?> parentClazzFromChild = child2.getClassLoader().loadClass(parentName);
          assertSame(parentClazz, parentClazzFromChild);
          
-         Class<?> childClazzFromChild = child2.getClassLoader().loadClass(CHILD);
+         Class<?> childClazzFromChild = child2.getClassLoader().loadClass(childName);
          assertSame(childClazz, childClazzFromChild);
       }
       finally
@@ -601,47 +603,43 @@
       }
    }
    
-   
-   public void testGeneratingClassInDelegatingPool() throws Exception
+   public void testGeneratingClassInMyPackagesInDelegatingPool() throws Exception
    {
       ClassPool globalA = null;
       ClassPool globalB = null;
       ClassPool child = null;
       try
       {
-         //Created class must be in one of the packages the loader handles
-         //http://www.jboss.com/index.html?module=bb&op=viewtopic&t=147105
-         final String A_CLASS = PACKAGE_A + ".AClazz";
-         final String B_CLASS = PACKAGE_B + ".BClazz";
-
+         final String aClassName = PACKAGE_A + ".Parent";
+         final String bClassName = PACKAGE_B + ".BClazz";
          globalA = createClassPool("A", true, JAR_A_1);
          globalB = createClassPool("B", true, JAR_B_1);
          child = createChildURLClassPool(globalA, JAR_C_1);
          
          
-         assertCannotLoadCtClass(globalA, A_CLASS);
-         assertCannotLoadCtClass(globalB, A_CLASS);
-         assertCannotLoadCtClass(child, A_CLASS);
-         assertCannotLoadCtClass(globalA, B_CLASS);
-         assertCannotLoadCtClass(globalB, B_CLASS);
-         assertCannotLoadCtClass(child, B_CLASS);
+         assertCannotLoadCtClass(globalA, aClassName);
+         assertCannotLoadCtClass(globalB, aClassName);
+         assertCannotLoadCtClass(child, aClassName);
+         assertCannotLoadCtClass(globalA, bClassName);
+         assertCannotLoadCtClass(globalB, bClassName);
+         assertCannotLoadCtClass(child, bClassName);
          
-         CtClass a = globalA.makeClass(A_CLASS);
-         CtClass b = globalB.makeClass(B_CLASS);
+         CtClass a = globalA.makeClass(aClassName);
+         CtClass b = globalB.makeClass(bClassName);
          
-         CtClass aFromA = globalA.get(A_CLASS);
+         CtClass aFromA = globalA.get(aClassName);
          assertSame(a, aFromA);
          assertSame(globalA, aFromA.getClassPool());
-         CtClass aFromB = globalB.get(A_CLASS);
+         CtClass aFromB = globalB.get(aClassName);
          assertSame(a, aFromB);
-         CtClass bFromA = globalA.get(B_CLASS);
+         CtClass bFromA = globalA.get(bClassName);
          assertSame(b, bFromA);
          assertSame(globalB, bFromA.getClassPool());
-         CtClass bFromB = globalB.get(B_CLASS);
+         CtClass bFromB = globalB.get(bClassName);
          assertSame(b, bFromB);
-         CtClass aFromChild = child.get(A_CLASS);
+         CtClass aFromChild = child.get(aClassName);
          assertSame(a, aFromChild);
-         CtClass bFromChild = child.get(B_CLASS);
+         CtClass bFromChild = child.get(bClassName);
          assertSame(b, bFromChild);
          
          Class<?> clazzA = a.toClass();
@@ -650,18 +648,18 @@
          Class<?> clazzB = b.toClass();
          assertSame(globalB.getClassLoader(), clazzB.getClassLoader());
          
-         Class<?> clazzAFromA = globalA.getClassLoader().loadClass(A_CLASS);
+         Class<?> clazzAFromA = globalA.getClassLoader().loadClass(aClassName);
          assertSame(clazzA, clazzAFromA);
-         Class<?> clazzAFromB = globalB.getClassLoader().loadClass(A_CLASS);
+         Class<?> clazzAFromB = globalB.getClassLoader().loadClass(aClassName);
          assertSame(clazzA, clazzAFromB);
-         Class<?> clazzAFromChild = child.getClassLoader().loadClass(A_CLASS);
+         Class<?> clazzAFromChild = child.getClassLoader().loadClass(aClassName);
          assertSame(clazzA, clazzAFromChild);
          
-         Class<?> clazzBFromA = globalA.getClassLoader().loadClass(B_CLASS);
+         Class<?> clazzBFromA = globalA.getClassLoader().loadClass(bClassName);
          assertSame(clazzB, clazzBFromA);
-         Class<?> clazzBFromB = globalB.getClassLoader().loadClass(B_CLASS);
+         Class<?> clazzBFromB = globalB.getClassLoader().loadClass(bClassName);
          assertSame(clazzB, clazzBFromB);
-         Class<?> clazzBFromChild = child.getClassLoader().loadClass(B_CLASS);
+         Class<?> clazzBFromChild = child.getClassLoader().loadClass(bClassName);
          assertSame(clazzB, clazzBFromChild);
       }
       finally
@@ -722,7 +720,7 @@
       assertSame(b.getClassPool(), bArray.getClassPool());
    }
 
-   public void testClassLoaderlWithParentClassLoader() throws Exception
+   public void testClassLoaderWithParentClassLoader() throws Exception
    {
       ClassPool parent = createChildURLClassPool(null, JAR_B_1);
       ClassPool global = null;




More information about the jboss-cvs-commits mailing list