[jboss-cvs] JBossAS SVN: r83867 - 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 15:25:57 EST 2009
Author: kabir.khan at jboss.com
Date: 2009-02-04 15:25:57 -0500 (Wed, 04 Feb 2009)
New Revision: 83867
Modified:
projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/test/ClassPoolWithRepositoryTestCase.java
Log:
[JBAOP-666] Check that blacklisteded classes can be loaded once they are generated
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 20:07:41 UTC (rev 83866)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/test/ClassPoolWithRepositoryTestCase.java 2009-02-04 20:25:57 UTC (rev 83867)
@@ -21,11 +21,17 @@
*/
package org.jboss.test.aop.classpool.jbosscl.test;
+import java.util.ArrayList;
+
import javassist.ClassPool;
import javassist.CtClass;
import javassist.NotFoundException;
import junit.framework.Test;
+import org.jboss.aop.proxy.container.AOPProxyFactoryParameters;
+import org.jboss.aop.proxy.container.AspectManaged;
+import org.jboss.aop.proxy.container.ContainerProxyFactory;
+import org.jboss.aop.proxy.container.GeneratedAOPProxyFactory;
import org.jboss.classloader.spi.ClassLoaderDomain;
/**
@@ -538,6 +544,41 @@
}
}
+ public void testGeneratingClassAndFindPreviouslyBlacklistedInSameDomain() throws Exception
+ {
+ ClassPool globalA = null;
+ ClassPool globalB = null;
+ try
+ {
+ 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);
+
+ assertCannotLoadClass(globalA.getClassLoader(), classnameA);
+ assertCannotLoadClass(globalA.getClassLoader(), classnameB);
+ assertCannotLoadClass(globalB.getClassLoader(), classnameA);
+ assertCannotLoadClass(globalB.getClassLoader(), classnameB);
+
+ 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
+ {
+ unregisterClassPool(globalA);
+ unregisterClassPool(globalB);
+ }
+ }
+
public void testGeneratingCrossDomainClassHierarchy() throws Exception
{
ClassPool global = null;
More information about the jboss-cvs-commits
mailing list