From: Kabir K. <ka...@us...> - 2004-07-05 17:26:13
|
User: kabkhan Date: 04/07/05 10:26:04 Modified: src/main/org/jboss/aop ClassAdvisor.java Log: Fixed method interception of methods introduced via inteface introductions/mixin classes. Revision Changes Path 1.81 +10 -1 jboss-aop/src/main/org/jboss/aop/ClassAdvisor.java Index: ClassAdvisor.java =================================================================== RCS file: /cvsroot/jboss/jboss-aop/src/main/org/jboss/aop/ClassAdvisor.java,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- ClassAdvisor.java 18 May 2004 21:40:19 -0000 1.80 +++ ClassAdvisor.java 5 Jul 2004 17:26:04 -0000 1.81 @@ -56,7 +56,7 @@ * * * @author <a href="mailto:bi...@jb...">Bill Burke</a> - * @version $Revision: 1.80 $ + * @version $Revision: 1.81 $ */ public class ClassAdvisor extends Advisor { @@ -231,9 +231,17 @@ Method[] methods = intf.getMethods(); for (int k = 0; k < methods.length; k++) { + /* Method method = mixinClass.getMethod(methods[k].getName(), methods[k].getParameterTypes()); long hash = MethodHashing.methodHash(method); unadvisedMethods.put(hash, method); + System.out.println(method + ":" + hash); + */ + //Put wrapped method in the class itself into the unadvisedMethods map + String wrappedName = ClassAdvisor.notAdvisedMethodName(clazz.getName(), methods[k].getName()); + Method method = clazz.getMethod(wrappedName, methods[k].getParameterTypes()); + long hash = MethodHashing.methodHash(method); + unadvisedMethods.put(hash, method); } } } @@ -344,6 +352,7 @@ Method amethod = (Method) advisedMethods.get(keys[i]); info.advisedMethod = amethod; Method umethod = (Method) unadvisedMethods.get(keys[i]); + info.unadvisedMethod = umethod; info.hash = keys[i]; info.advisor = this; |