[jboss-cvs] JBossAS SVN: r64204 - projects/aop/trunk/aop/src/main/org/jboss/aop/instrument.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jul 23 15:31:13 EDT 2007
Author: flavia.rainone at jboss.com
Date: 2007-07-23 15:31:13 -0400 (Mon, 23 Jul 2007)
New Revision: 64204
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java
Log:
[JBAOP-441] Remove loop for search of advisor class (getAdvisedField method)
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 2007-07-23 18:26:43 UTC (rev 64203)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/instrument/JoinPointGenerator.java 2007-07-23 19:31:13 UTC (rev 64204)
@@ -181,7 +181,7 @@
};
initialiseJoinPointNames(info);
- findAdvisedField(advisorClass, info);
+ findAdvisedField(info);
initBaseJoinPointClassName(advisor);
}
@@ -461,35 +461,35 @@
}
}
- private void findAdvisedField(Class advisorSuperClazz, JoinPointInfo info)
+ private void findAdvisedField(JoinPointInfo info)
{
if (info.getClazz() == null)
{
return;
}
+ Class advisorClass = null;
+ if (info.getAdvisor().getClazz().equals(info.getClazz()))
+ {
+ // short cut, avoid cost of else block
+ advisorClass = info.getAdvisor().getClass();
+ }
+ else
+ {
+ AspectManager manager = info.getAdvisor().getManager();
+ advisorClass = manager.getAdvisor(info.getClazz()).getClass();
+ }
- //while (advisorSuperClazz != null && advisorSuperClazz.getDeclaringClass() != info.getClazz())
- //{
- // advisorSuperClazz = advisorSuperClazz.getSuperclass();
- //}
- advisorSuperClazz = AspectManager.instance().getAdvisor(info.getClazz()).getClass();
try
{
- try
- {
- joinpointField = advisorSuperClazz.getDeclaredField(joinpointFieldName);
- SecurityActions.setAccessible(joinpointField);
- joinpointFqn = advisorSuperClazz.getDeclaringClass().getName() + "$" + joinpointClassName;
- }
- catch (NoSuchFieldException e)
- {
- //GeneratedClassAdvisor is the base class for all generated advisors
- if (!advisorSuperClazz.getName().equals(GENERATED_CLASS_ADVISOR))
- {
- findAdvisedField(advisorSuperClazz.getSuperclass(), info);
- }
- }
+ joinpointField = advisorClass.getDeclaredField(joinpointFieldName);
+ SecurityActions.setAccessible(joinpointField);
+ System.out.println("JOINPOING FQN: " + joinpointFqn);
+ joinpointFqn = advisorClass.getDeclaringClass().getName() + "$" + joinpointClassName;
}
+ catch (NoSuchFieldException e)
+ {
+ throw new RuntimeException(e);
+ }
catch (NoClassDefFoundError e)
{
throw e;
More information about the jboss-cvs-commits
mailing list