[jboss-cvs] JBossAS SVN: r61644 - projects/aop/trunk/aop/src/main/org/jboss/aop.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Mar 23 13:19:15 EDT 2007
Author: kabir.khan at jboss.com
Date: 2007-03-23 13:19:15 -0400 (Fri, 23 Mar 2007)
New Revision: 61644
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/ReflectiveAspectBinder.java
Log:
Optimization, only get the bindings once rather than for every field, method, ctor we want to bind
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/ReflectiveAspectBinder.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/ReflectiveAspectBinder.java 2007-03-23 17:16:08 UTC (rev 61643)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/ReflectiveAspectBinder.java 2007-03-23 17:19:15 UTC (rev 61644)
@@ -87,9 +87,10 @@
{
if (!initialisedAspects)
{
- bindMethodAdvices(clazz);
- bindConstructorAdvices();
- bindFieldAdvices();
+ Map bindings = advisor.getManager().getBindings();
+ bindMethodAdvices(clazz, bindings);
+ bindConstructorAdvices(bindings);
+ bindFieldAdvices(bindings);
}
return aspects;
}
@@ -161,7 +162,7 @@
}
}
- protected void bindMethodAdvices(Class superClass)
+ protected void bindMethodAdvices(Class superClass, Map bindings)
{
createMethodMap(superClass);
if (methodMap != null)
@@ -169,12 +170,12 @@
Object[] methods = methodMap.getValues();
for (int i = 0 ; i < methods.length ; i++)
{
- bindMethodAdvice((Method)methods[i]);
+ bindMethodAdvice((Method)methods[i], bindings);
}
}
}
- protected void bindConstructorAdvices()
+ protected void bindConstructorAdvices(Map bindings)
{
Constructor[] cons = (Constructor[]) AccessController.doPrivileged(new PrivilegedAction()
{
@@ -185,11 +186,11 @@
});
for (int i = 0; i < cons.length; i++)
{
- bindConstructorAdvice(cons[i]);
+ bindConstructorAdvice(cons[i], bindings);
}
}
- protected void bindFieldAdvices()
+ protected void bindFieldAdvices(Map bindings)
{
Field[] fields = (Field[]) AccessController.doPrivileged(new PrivilegedAction()
{
@@ -200,8 +201,8 @@
});
for (int i = 0; i < fields.length; i++)
{
- bindFieldGetAdvice(fields[i]);
- bindFieldSetAdvice(fields[i]);
+ bindFieldGetAdvice(fields[i], bindings);
+ bindFieldSetAdvice(fields[i], bindings);
}
}
@@ -211,10 +212,9 @@
return ((Boolean) ai.getTarget().jjtAccept(matcher, null)).booleanValue();
}
- protected void bindMethodAdvice(Method mi)
+ protected void bindMethodAdvice(Method mi, Map bindings)
{
- Map repositoryBindings = advisor.getManager().getBindings();
- Iterator it = repositoryBindings.values().iterator();
+ Iterator it = bindings.values().iterator();
ArrayList advices = (ArrayList)methodAdvices.get(mi);
while (it.hasNext())
{
@@ -238,10 +238,9 @@
}
}
- protected void bindConstructorAdvice(Constructor mi)
+ protected void bindConstructorAdvice(Constructor mi, Map bindings)
{
- Map repositoryBindings = advisor.getManager().getBindings();
- Iterator it = repositoryBindings.values().iterator();
+ Iterator it = bindings.values().iterator();
ArrayList advices = (ArrayList)constructorAdvices.get(mi);
while (it.hasNext())
{
@@ -263,7 +262,7 @@
}
}
- protected void bindFieldGetAdvice(Field mi)
+ protected void bindFieldGetAdvice(Field mi, Map bindings)
{
Map repositoryBindings = advisor.getManager().getBindings();
Iterator it = repositoryBindings.values().iterator();
@@ -288,7 +287,7 @@
}
}
- protected void bindFieldSetAdvice(Field mi)
+ protected void bindFieldSetAdvice(Field mi, Map bindings)
{
Map repositoryBindings = advisor.getManager().getBindings();
Iterator it = repositoryBindings.values().iterator();
More information about the jboss-cvs-commits
mailing list