[jboss-cvs] JBossAS SVN: r81450 - in projects/aop/trunk/aop/src/main/org/jboss/aop: advice and 7 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Nov 21 12:56:40 EST 2008
Author: flavia.rainone at jboss.com
Date: 2008-11-21 12:56:39 -0500 (Fri, 21 Nov 2008)
New Revision: 81450
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java
projects/aop/trunk/aop/src/main/org/jboss/aop/ClassAdvisor.java
projects/aop/trunk/aop/src/main/org/jboss/aop/ClassInstanceAdvisor.java
projects/aop/trunk/aop/src/main/org/jboss/aop/Domain.java
projects/aop/trunk/aop/src/main/org/jboss/aop/GeneratedInstanceAdvisorMixin.java
projects/aop/trunk/aop/src/main/org/jboss/aop/HotSwapStrategy.java
projects/aop/trunk/aop/src/main/org/jboss/aop/advice/GenericAspectFactory.java
projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerVmAdvice.java
projects/aop/trunk/aop/src/main/org/jboss/aop/advice/SecurityActions.java
projects/aop/trunk/aop/src/main/org/jboss/aop/advice/annotation/assignability/DegreeAlgorithm.java
projects/aop/trunk/aop/src/main/org/jboss/aop/annotation/PortableAnnotationElement.java
projects/aop/trunk/aop/src/main/org/jboss/aop/classpool/AOPClassPoolRepository.java
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/SecurityActions.java
projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ClassProxyFactory.java
projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyFactory.java
projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyFactory.java
projects/aop/trunk/aop/src/main/org/jboss/aop/util/ReflectToJavassist.java
Log:
[JBAOP-676] The bug is fixed (some calls to Class.getClassLoader() are now replaced by a call to SecurityActions.getClassLoader(class)).
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -771,23 +771,23 @@
if (!advisors.containsKey(advisor.getClazz())) return false;
if (classLoaderValidator != null)
{
- if (classLoaderValidator.isValidClassLoader(advisor.getClazz().getClassLoader()))
+ if (classLoaderValidator.isValidClassLoader(advisor.getClassLoader()))
{
return true;
}
else
{
- unregisterClassLoader(advisor.getClazz().getClassLoader());
+ unregisterClassLoader(advisor.getClassLoader());
return false;
}
}
else
{
- ScopedClassPool pool = (ScopedClassPool) getRegisteredClassPool(advisor.getClazz().getClassLoader());
+ ScopedClassPool pool = (ScopedClassPool) getRegisteredClassPool(advisor.getClassLoader());
if (pool == null) return false;
if (pool.isUnloadedClassLoader())
{
- unregisterClassLoader(advisor.getClazz().getClassLoader());
+ unregisterClassLoader(advisor.getClassLoader());
return false;
}
else
@@ -809,6 +809,11 @@
}
return registerClassLoader(cl);
}
+
+ public ClassPool findClassPool(Class<?> clazz)
+ {
+ return findClassPool(SecurityActions.getClassLoader(clazz));
+ }
protected ClassPool getRegisteredClassPool(ClassLoader cl)
{
@@ -2133,7 +2138,7 @@
private Advisor getAdvisorFromAdvisorsKeySetIterator(Iterator<Class<?>> it)
{
Class<?> clazz = it.next();
- if (classLoaderValidator != null && !classLoaderValidator.isValidClassLoader(clazz.getClassLoader()))
+ if (classLoaderValidator != null && !classLoaderValidator.isValidClassLoader(SecurityActions.getClassLoader(clazz)))
{
it.remove();
return null;
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/ClassAdvisor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/ClassAdvisor.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/ClassAdvisor.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -270,7 +270,7 @@
final AspectManager theManager = manager;
//register class loader: necessary when clazz was precompiled through aopc
- manager.registerClassLoader(clazz.getClassLoader());
+ manager.registerClassLoader(SecurityActions.getClassLoader(clazz));
AccessController.doPrivileged(new PrivilegedExceptionAction<Object>()
{
public Object run() throws Exception
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/ClassInstanceAdvisor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/ClassInstanceAdvisor.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/ClassInstanceAdvisor.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -366,7 +366,7 @@
{
return;
}
- ClassLoader classLoader = advisedClass.getClassLoader();
+ ClassLoader classLoader = SecurityActions.getClassLoader(advisedClass);
if (this.interceptorChainObserver == null ||
!AspectManager.getRegisteredCLs().containsKey(classLoader))
{
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/Domain.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/Domain.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/Domain.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -123,7 +123,7 @@
StringBuffer sb = new StringBuffer();
sb.append(clazz.getName());
sb.append("_");
- sb.append(System.identityHashCode(clazz.getClassLoader()));
+ sb.append(System.identityHashCode(SecurityActions.getClassLoader(clazz)));
if (forInstance)
{
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/GeneratedInstanceAdvisorMixin.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/GeneratedInstanceAdvisorMixin.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/GeneratedInstanceAdvisorMixin.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -396,7 +396,7 @@
*/
protected void finalize()
{
- ClassLoader classLoader = delegate.getAdvisor().getClazz().getClassLoader();
+ ClassLoader classLoader = delegate.getAdvisor().getClassLoader();
if (this.interceptorChainObserver == null || !AspectManager.getRegisteredCLs().containsKey(classLoader))
{
return;
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/HotSwapStrategy.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/HotSwapStrategy.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/HotSwapStrategy.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -128,7 +128,7 @@
*/
public InterceptorChainObserver getInterceptorChainObserver(Class<?> clazz)
{
- ClassPool classPool = AspectManager.instance().findClassPool(clazz.getClassLoader());
+ ClassPool classPool = AspectManager.instance().findClassPool(clazz);
CtClass ctClass = null;
try
{
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/advice/GenericAspectFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/advice/GenericAspectFactory.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/advice/GenericAspectFactory.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -28,6 +28,7 @@
import java.beans.PropertyEditor;
import java.beans.PropertyEditorManager;
import java.lang.reflect.Method;
+
import org.jboss.aop.Advisor;
import org.jboss.aop.AspectManager;
import org.jboss.aop.InstanceAdvisor;
@@ -120,7 +121,7 @@
{
//Get the correct classloader based on the class of the advisor
Class<?> clazz = advisor.getClazz();
- cl = (clazz != null) ? clazz.getClassLoader() : advisor.getClass().getClassLoader();
+ cl = SecurityActions.getClassLoader((clazz != null) ? clazz: advisor.getClass());
}
if (cl != null)
{
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerVmAdvice.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerVmAdvice.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/advice/PerVmAdvice.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -63,7 +63,7 @@
{
return null;
}
- ClassLoader cl = aspect.getClass().getClassLoader();
+ ClassLoader cl = SecurityActions.getClassLoader(aspect.getClass());
String name = "org.jboss.aop.advice." + aspect.getClass().getName() + "_z_" + adviceName + "_" + System.identityHashCode(cl);
Class<?> iclass = null;
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/advice/SecurityActions.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/advice/SecurityActions.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/advice/SecurityActions.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -130,4 +130,40 @@
else
return AccessController.doPrivileged(GetContextClassLoaderAction.INSTANCE);
}
-}
+
+ interface GetClassLoaderAction
+ {
+ ClassLoader getClassLoader(Class<?> clazz);
+
+ GetClassLoaderAction NON_PRIVILEGED = new GetClassLoaderAction() {
+
+ public ClassLoader getClassLoader(Class<?> clazz)
+ {
+ return clazz.getClassLoader();
+ }};
+
+ GetClassLoaderAction PRIVILEGED = new GetClassLoaderAction() {
+
+ public ClassLoader getClassLoader(final Class<?> clazz)
+ {
+ return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() {
+
+ public ClassLoader run()
+ {
+ return clazz.getClassLoader();
+ }});
+ }};
+ }
+
+ public static ClassLoader getClassLoader(Class<?> clazz)
+ {
+ if (System.getSecurityManager() == null)
+ {
+ return GetClassLoaderAction.NON_PRIVILEGED.getClassLoader(clazz);
+ }
+ else
+ {
+ return GetClassLoaderAction.PRIVILEGED.getClassLoader(clazz);
+ }
+ }
+}
\ No newline at end of file
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/advice/annotation/assignability/DegreeAlgorithm.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/advice/annotation/assignability/DegreeAlgorithm.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/advice/annotation/assignability/DegreeAlgorithm.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -27,6 +27,7 @@
import java.lang.reflect.TypeVariable;
import java.util.ArrayList;
+import org.jboss.aop.advice.SecurityActions;
import org.jboss.aop.advice.annotation.AdviceMethodFactory;
/**
@@ -84,7 +85,7 @@
Class<?> componentClass = getClassType(componentType);
try
{
- return componentClass.getClassLoader().loadClass(
+ return SecurityActions.getClassLoader(componentClass).loadClass(
componentClass.getName() + "[]");
}
catch (ClassNotFoundException e)
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/annotation/PortableAnnotationElement.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/annotation/PortableAnnotationElement.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/annotation/PortableAnnotationElement.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -34,6 +34,7 @@
import org.jboss.aop.AspectManager;
import org.jboss.annotation.factory.javassist.AnnotationProxy;
+import org.jboss.aop.advice.SecurityActions;
import org.jboss.aop.util.ReflectToJavassist;
import java.lang.annotation.Annotation;
@@ -411,7 +412,7 @@
protected static ClassFile getClassFile(Class<?> clazz) throws NotFoundException
{
- ClassPool pool = AspectManager.instance().findClassPool(clazz.getClassLoader());
+ ClassPool pool = AspectManager.instance().findClassPool(SecurityActions.getClassLoader(clazz));
CtClass ct = pool.get(clazz.getName());
ClassFile cf = ct.getClassFile2();
return cf;
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/classpool/AOPClassPoolRepository.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/classpool/AOPClassPoolRepository.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/classpool/AOPClassPoolRepository.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -32,6 +32,7 @@
import org.jboss.aop.Advisor;
import org.jboss.aop.AspectManager;
+import org.jboss.aop.advice.SecurityActions;
import org.jboss.aop.instrument.Instrumentor;
import org.jboss.aop.util.logging.AOPLogger;
@@ -163,11 +164,12 @@
public void registerClass(Class<?> clazz)
{
- HashSet<Class<?>> classes = ucl2classes.get(clazz.getClassLoader());
+ ClassLoader classLoader = SecurityActions.getClassLoader(clazz);
+ HashSet<Class<?>> classes = ucl2classes.get(classLoader);
if (classes == null)
{
classes = new HashSet<Class<?>>();
- ucl2classes.put(clazz.getClassLoader(), classes);
+ ucl2classes.put(classLoader, classes);
}
classes.add(clazz);
}
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/GeneratedAdvisorInstrumentor.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -441,7 +441,7 @@
ctor.setBody(
"{" +
" super(\"" + clazz.getName() + "\"); " +
- " initialise(org.jboss.aop.AspectManager.instance(this.getClass().getClassLoader()), false);" + //Use the CL of the class, since we may be in a scoped loader
+ " initialise(org.jboss.aop.AspectManager.instance(org.jboss.aop.advice.SecurityActions.getClassLoader(this.getClass())), false);" + //Use the CL of the class, since we may be in a scoped loader
"}");
genadvisor.addConstructor(ctor);
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -217,8 +217,8 @@
debugClass(sb, newInfo.getAdvisor().getClass());
System.out.println("==================== Error");
System.out.println("Field: " + joinpointField);
- System.out.println("Field: " + joinpointField.getDeclaringClass() + " " + joinpointField.getDeclaringClass().getClassLoader());
- System.out.println("Value: " + newInfo.getAdvisor().getClass() + " " + newInfo.getAdvisor().getClass().getClassLoader());
+ System.out.println("Field: " + joinpointField.getDeclaringClass() + " " + SecurityActions.getClassLoader(joinpointField.getDeclaringClass()));
+ System.out.println("Value: " + newInfo.getAdvisor().getClass() + " " + SecurityActions.getClassLoader(newInfo.getAdvisor().getClass()));
System.out.println(sb.toString());
throw new RuntimeException(e);
@@ -317,11 +317,11 @@
private StringBuffer debugClass(StringBuffer sb, Class<?> clazz)
{
- sb.append("\n\t\t" + Modifier.toString(clazz.getModifiers()) + " " + clazz.getName() + " " + clazz.getClassLoader());
+ sb.append("\n\t\t" + Modifier.toString(clazz.getModifiers()) + " " + clazz.getName() + " " + SecurityActions.getClassLoader(clazz));
Field[] fields = clazz.getDeclaredFields();
for (int i = 0 ; i < fields.length ; i++)
{
- sb.append("\n\t\t\t" + Modifier.toString(fields[i].getModifiers()) + " " + fields[i].getType().getName() + " " + fields[i].getName() + " " + fields[i].getType().getClassLoader());
+ sb.append("\n\t\t\t" + Modifier.toString(fields[i].getModifiers()) + " " + fields[i].getType().getName() + " " + fields[i].getName() + " " + SecurityActions.getClassLoader(fields[i].getType()));
}
Class<?> superClass = clazz.getSuperclass();
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/SecurityActions.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/SecurityActions.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/SecurityActions.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -97,4 +97,40 @@
else
return AccessController.doPrivileged(GetContextClassLoaderAction.INSTANCE);
}
+
+ interface GetClassLoaderAction
+ {
+ ClassLoader getClassLoader(Class<?> clazz);
+
+ GetClassLoaderAction NON_PRIVILEGED = new GetClassLoaderAction() {
+
+ public ClassLoader getClassLoader(Class<?> clazz)
+ {
+ return clazz.getClassLoader();
+ }};
+
+ GetClassLoaderAction PRIVILEGED = new GetClassLoaderAction() {
+
+ public ClassLoader getClassLoader(final Class<?> clazz)
+ {
+ return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() {
+
+ public ClassLoader run()
+ {
+ return clazz.getClassLoader();
+ }});
+ }};
+ }
+
+ static ClassLoader getClassLoader(Class<?> clazz)
+ {
+ if (System.getSecurityManager() == null)
+ {
+ return GetClassLoaderAction.NON_PRIVILEGED.getClassLoader(clazz);
+ }
+ else
+ {
+ return GetClassLoaderAction.PRIVILEGED.getClassLoader(clazz);
+ }
+ }
}
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ClassProxyFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ClassProxyFactory.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ClassProxyFactory.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -82,7 +82,7 @@
// Don't make a proxy of a proxy !
if (ClassProxy.class.isAssignableFrom(clazz)) clazz = clazz.getSuperclass();
- ClassPool pool = AspectManager.instance().findClassPool(clazz.getClassLoader());
+ ClassPool pool = AspectManager.instance().findClassPool(clazz);
if (pool == null) throw new NullPointerException("Could not find ClassPool");
@@ -269,12 +269,12 @@
{
HashSet<Long> mixinMethods = new HashSet<Long>();
Class<?>[] mixinf = mixins[i].getInterfaces();
- ClassPool mixPool = AspectManager.instance().findClassPool(mixins[i].getMixin().getClass().getClassLoader());
+ ClassPool mixPool = AspectManager.instance().findClassPool(mixins[i].getMixin().getClass());
CtClass mixClass = mixPool.get(mixins[i].getMixin().getClass().getName());
for (int j = 0; j < mixinf.length; j++)
{
if (addedInterfaces.contains(mixinf[j].getName())) throw new Exception("2 mixins are implementing the same interfaces");
- ClassPool mixIntfPool = AspectManager.instance().findClassPool(mixinf[j].getClassLoader());
+ ClassPool mixIntfPool = AspectManager.instance().findClassPool(mixinf[j]);
CtClass intfClass = mixIntfPool.get(mixinf[j].getName());
CtMethod[] methods = intfClass.getMethods();
for (int m = 0; m < methods.length; m++)
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyFactory.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/ProxyFactory.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -171,12 +171,12 @@
{
HashSet<Long> mixinMethods = new HashSet<Long>();
Class<?>[] mixinf = mixins[i].getInterfaces();
- ClassPool mixPool = AspectManager.instance().findClassPool(mixins[i].getMixin().getClass().getClassLoader());
+ ClassPool mixPool = AspectManager.instance().findClassPool(mixins[i].getMixin().getClass());
CtClass mixClass = mixPool.get(mixins[i].getMixin().getClass().getName());
for (int j = 0; j < mixinf.length; j++)
{
if (addedInterfaces.contains(mixinf[j].getName())) throw new Exception("2 mixins are implementing the same interfaces");
- ClassPool mixIntfPool = AspectManager.instance().findClassPool(mixinf[j].getClassLoader());
+ ClassPool mixIntfPool = AspectManager.instance().findClassPool(mixinf[j]);
CtClass intfClass = mixIntfPool.get(mixinf[j].getName());
CtMethod[] methods = intfClass.getMethods();
for (int m = 0; m < methods.length; m++)
@@ -206,7 +206,7 @@
for (int i = 0; i < interfaces.length; i++)
{
if (addedInterfaces.contains(interfaces[i].getName())) continue;
- ClassPool mixPool = AspectManager.instance().findClassPool(interfaces[i].getClassLoader());
+ ClassPool mixPool = AspectManager.instance().findClassPool(interfaces[i]);
CtClass intfClass = mixPool.get(interfaces[i].getName());
CtMethod[] methods = intfClass.getMethods();
for (int m = 0; m < methods.length; m++)
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyFactory.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/proxy/container/ContainerProxyFactory.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -131,7 +131,7 @@
// Don't make a proxy of a proxy !
if (Delegate.class.isAssignableFrom(clazz)) clazz = clazz.getSuperclass();
- ClassPool pool = AspectManager.instance().findClassPool(clazz.getClassLoader());
+ ClassPool pool = AspectManager.instance().findClassPool(SecurityActions.getClassLoader(clazz));
if (pool == null) throw new NullPointerException("Could not find ClassPool");
Class<?> proxyClass = null;
@@ -229,7 +229,7 @@
private CtClass createProxyCtClass() throws Exception
{
- this.pool = AspectManager.instance().findClassPool(clazz.getClassLoader());
+ this.pool = AspectManager.instance().findClassPool(clazz);
if (pool == null) throw new NullPointerException("Could not find ClassPool");
createBasics();
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/util/ReflectToJavassist.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/util/ReflectToJavassist.java 2008-11-21 17:42:40 UTC (rev 81449)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/util/ReflectToJavassist.java 2008-11-21 17:56:39 UTC (rev 81450)
@@ -45,7 +45,7 @@
{
public static CtClass classToJavassist(Class<?> clazz) throws NotFoundException
{
- ClassPool pool = AspectManager.instance().findClassPool(clazz.getClassLoader());
+ ClassPool pool = AspectManager.instance().findClassPool(clazz);
CtClass ct = pool.get(clazz.getName());
return ct;
}
More information about the jboss-cvs-commits
mailing list