From: Kabir K. <kk...@jb...> - 2006-07-04 17:55:53
|
User: kkhan Date: 06/07/04 13:55:51 Modified: src/main/org/jboss/aop/microcontainer/integration AOPDependencyBuilder.java Log: [JBAOP-239] More tests for dependencies from annotations. Test annotated methods in superclass Revision Changes Path 1.10 +16 -9 aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java (In the diff below, changes in quantity of whitespace are not shown.) Index: AOPDependencyBuilder.java =================================================================== RCS file: /cvsroot/jboss/aop-mc-int/src/main/org/jboss/aop/microcontainer/integration/AOPDependencyBuilder.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -b -r1.9 -r1.10 --- AOPDependencyBuilder.java 4 Jul 2006 14:08:14 -0000 1.9 +++ AOPDependencyBuilder.java 4 Jul 2006 17:55:51 -0000 1.10 @@ -26,16 +26,17 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.Set; import org.jboss.aop.Advisor; import org.jboss.aop.AspectManager; import org.jboss.aop.ReflectiveAspectBinder; import org.jboss.aop.advice.AspectDefinition; -import org.jboss.aop.instrument.Instrumentor; import org.jboss.aop.microcontainer.beans.ManagedAspectDefinition; import org.jboss.aop.proxy.container.ContainerCache; import org.jboss.aop.util.Advisable; +import org.jboss.aop.util.ClassInfoMethodHashing; import org.jboss.classadapter.plugins.dependency.AbstractDependencyBuilder; import org.jboss.classadapter.spi.ClassAdapter; import org.jboss.classadapter.spi.Dependency; @@ -53,7 +54,7 @@ * @todo document this class * @author <a href="kab...@jb...">Kabir Khan</a> * @author <a href="ad...@jb...">Adrian Brock</a> - * @version $Revision: 1.9 $ + * @version $Revision: 1.10 $ */ public class AOPDependencyBuilder extends AbstractDependencyBuilder { @@ -165,19 +166,25 @@ } } + private void getMethodMap(ClassInfo classInfo, HashSet<MethodInfo> methods) + { + + + } + private void getMethodAnnotationDependencies(ClassInfo classInfo, MetaDataContext metaDataContext, HashSet<Object> dependencies) throws Exception { - //TODO get for superclass - MethodInfo[] methods = classInfo.getDeclaredMethods(); - if (methods != null) + Map methodMap = ClassInfoMethodHashing.getMethodMap(classInfo); + if (methodMap != null) { - for (int i = 0 ; i < methods.length ; i++) + for (Iterator it = methodMap.values().iterator() ; it.hasNext() ; ) { - if (Advisable.isAdvisableMethod(methods[i].getModifiers(), methods[i].getName())) + MethodInfo method = (MethodInfo)it.next(); + if (Advisable.isAdvisableMethod(method.getModifiers(), method.getName())) { HashMap<String, Object> dependencyMap = new HashMap<String, Object>(); - getRealMethodAnnotationDependencies(methods[i], dependencyMap); - getMetaDataContextMethodAnnotationDependencies(methods[i].getName(), metaDataContext, dependencyMap); + getRealMethodAnnotationDependencies(method, dependencyMap); + getMetaDataContextMethodAnnotationDependencies(method.getName(), metaDataContext, dependencyMap); dependencies.addAll(dependencyMap.values()); } } |