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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jan 19 12:52:54 EST 2007


Author: flavia.rainone at jboss.com
Date: 2007-01-19 12:52:54 -0500 (Fri, 19 Jan 2007)
New Revision: 59848

Modified:
   projects/aop/trunk/aop/src/main/org/jboss/aop/AdvisorFactory.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java
Log:
[JBAOP-348] Fast fix for the problem. Needs further investigation before closing the issue, though.

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/AdvisorFactory.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/AdvisorFactory.java	2007-01-19 17:05:21 UTC (rev 59847)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/AdvisorFactory.java	2007-01-19 17:52:54 UTC (rev 59848)
@@ -112,7 +112,7 @@
                {
                   Method getAdvisor = loadedClass.getMethod(GeneratedAdvisorInstrumentor.GET_CLASS_ADVISOR, NO_ARGS);
                   ClassAdvisor advisor = (ClassAdvisor)getAdvisor.invoke(null, null);
-                  if (advisor.getClazz() == loadedClass)
+                  if (advisor != null && advisor.getClazz() == loadedClass)
                   {
                      //Sub classes may not be instrumented, in which case we have the super class advisor here, which we don't want
                      return advisor;

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java	2007-01-19 17:05:21 UTC (rev 59847)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java	2007-01-19 17:52:54 UTC (rev 59848)
@@ -1088,7 +1088,15 @@
                {
                   Field field = superClass.getDeclaredField(Instrumentor.HELPER_FIELD_NAME);
                   SecurityActions.setAccessible(field);
-                  return (ClassAdvisor) field.get(null);
+                  advisor = (ClassAdvisor) field.get(null);
+                  if (advisor != null)
+                  {
+                     return advisor;
+                  }
+                  else
+                  {
+                     break;
+                  }
                }
                catch (NoSuchFieldException e)
                {




More information about the jboss-cvs-commits mailing list