[jboss-cvs] JBossAS SVN: r64168 - projects/aop/trunk/aop/src/main/org/jboss/aop.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jul 20 23:56:42 EDT 2007


Author: flavia.rainone at jboss.com
Date: 2007-07-20 23:56:42 -0400 (Fri, 20 Jul 2007)
New Revision: 64168

Modified:
   projects/aop/trunk/aop/src/main/org/jboss/aop/AdvisorFactory.java
Log:
[JBAOP-443] Bug solved.

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/AdvisorFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/AdvisorFactory.java	2007-07-21 03:54:32 UTC (rev 64167)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/AdvisorFactory.java	2007-07-21 03:56:42 UTC (rev 64168)
@@ -23,6 +23,8 @@
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
+import java.security.AccessController;
+import java.security.PrivilegedExceptionAction;
 
 import javassist.CtClass;
 
@@ -113,7 +115,26 @@
                //Generated advisors need to be initialised via the class itself
                try
                {
-                  Method getAdvisor = loadedClass.getMethod(GeneratedAdvisorInstrumentor.GET_CLASS_ADVISOR, NO_ARGS);
+                  final Method getAdvisor = loadedClass.getMethod(GeneratedAdvisorInstrumentor.GET_CLASS_ADVISOR, NO_ARGS);
+                  if (!getAdvisor.isAccessible())
+                  {
+                     if (System.getSecurityManager() == null)
+                     {
+                        getAdvisor.setAccessible(true);
+                     }
+                     else
+                     {
+                        AccessController.doPrivileged(
+                              new PrivilegedExceptionAction<Object>()
+                        {
+                           public Object run() throws Exception
+                           {
+                              getAdvisor.setAccessible(true);
+                              return null;
+                           }
+                        });
+                     }
+                  }
                   ClassAdvisor advisor = (ClassAdvisor)getAdvisor.invoke(null, null);
                   if (advisor != null && advisor.getClazz() == loadedClass)
                   {




More information about the jboss-cvs-commits mailing list