[jboss-cvs] JBossAS SVN: r103193 - projects/jboss-reflect/trunk/src/test/java/org/jboss/test/beaninfo/test.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 29 14:05:13 EDT 2010
Author: kabir.khan at jboss.com
Date: 2010-03-29 14:05:11 -0400 (Mon, 29 Mar 2010)
New Revision: 103193
Modified:
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/beaninfo/test/JavassistBeanInfoCacheTestCase.java
Log:
[JBREFLECT-107] Make sure that the class pool factory is reset
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/beaninfo/test/JavassistBeanInfoCacheTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/beaninfo/test/JavassistBeanInfoCacheTestCase.java 2010-03-29 17:50:54 UTC (rev 103192)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/beaninfo/test/JavassistBeanInfoCacheTestCase.java 2010-03-29 18:05:11 UTC (rev 103193)
@@ -21,6 +21,9 @@
*/
package org.jboss.test.beaninfo.test;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedExceptionAction;
import java.util.HashMap;
import java.util.Map;
@@ -30,6 +33,7 @@
import org.jboss.reflect.plugins.javassist.JavassistTypeInfoFactoryImpl;
import org.jboss.reflect.plugins.javassist.classpool.ClassPoolFactory;
+import org.jboss.test.AbstractTestDelegate;
/**
*
@@ -38,13 +42,10 @@
*/
public class JavassistBeanInfoCacheTestCase extends BeanInfoCacheTestCase
{
- MockClassPoolFactory factory = new MockClassPoolFactory();
-
public JavassistBeanInfoCacheTestCase(String name)
{
super(name);
setJavassistConfiguration();
- JavassistTypeInfoFactoryImpl.setPoolFactory(factory);
}
public static Test suite()
@@ -52,15 +53,27 @@
return suite(JavassistBeanInfoCacheTestCase.class);
}
-
+ /**
+ * Special delegate to set/unset the classpool factory
+ */
+ public static AbstractTestDelegate getDelegate(Class<?> clazz) throws Exception
+ {
+ ClassPoolTestDelegate delegate = new ClassPoolTestDelegate(clazz);
+ delegate.enableSecurity = true;
+ return delegate;
+ }
+
@Override
protected void registerClassLoader(ClassLoader cl)
{
- factory.registerClassLoader(cl);
+ MockClassPoolFactory.INSTANCE.registerClassLoader(cl);
}
+
private static class MockClassPoolFactory implements ClassPoolFactory
{
+ static final MockClassPoolFactory INSTANCE = new MockClassPoolFactory();
+
Map<ClassLoader, ClassPool> pools = new HashMap<ClassLoader, ClassPool>();
void registerClassLoader(ClassLoader cl)
@@ -94,4 +107,29 @@
return cl;
}
}
+
+ private static class ClassPoolTestDelegate extends AbstractTestDelegate
+ {
+ ClassPoolFactory factory = JavassistTypeInfoFactoryImpl.getPoolFactory();
+
+ public ClassPoolTestDelegate(Class<?> clazz)
+ {
+ super(clazz);
+ }
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ JavassistTypeInfoFactoryImpl.setPoolFactory(MockClassPoolFactory.INSTANCE);
+ }
+
+ @Override
+ public void tearDown() throws Exception
+ {
+ if (factory == null)
+ JavassistTypeInfoFactoryImpl.setPoolFactory(factory);
+ }
+
+ }
}
More information about the jboss-cvs-commits
mailing list