[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
BTW, Kabir fixed this with the 1.5.0GA. Thanks! View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3945526#3945526 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3945526 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
Cannot do the diff at work and I bastardized my workspace to get things to compile/easily build in eclipse. That's the bad news. I'll do 2 things. First, I'll upload the individual changes. Then, I'll check everything out again, make the changes and get you a diff. Here's the good news, I had another problem with CFlow and introductions (http://jira.jboss.com/jira/browse/JBAOP-235 and http://www.jboss.com/index.html?module=bb&op=viewtopic&t=81993). Looks like this fix seemed to take care of that problem as well. I'll comment on both bugs, add some info and try to get you a proper diff tonight. I'm definitely interested in a legit version with these fixes in. Thanks! View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3941403#3941403 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3941403 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
Two of the unit tests fail currently for the "precompiled-genadvisor-tests" target, There is one in the basic.AOPTester and one in the ExtenderTestCase View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3941376#3941376 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3941376 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
Great stuff! Can you please do a $cd jboss-head/aop $cvs -q diff -u and attach the output to the jira issue? I can then merge it in on the plane back hiI fly back home on Saturday. I need to do a release of JBoss AOP 1.5.0 before Monday :-) View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3941372#3941372 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3941372 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
OK, I hacked together a working version in Eclipse last night (I began by following the instructions then had to improvise). Today I made sure I could export a JAR from Eclipse with the java agent information in the manifest. anonymous wrote : AspectManager.translate()->Instrumentor.transform()->XXXTransformer | | The transformers end up using the Method-/Field-/ConstructorMatcher.These call through to a Util class, to match the class expressions of the expression in question. I think these need to take into account the introductions stored in the AspectManager, since the introductions are done after the method/constructor/field transformation (called from Instrumentor.transform()) I started where you recommended and sure enough, took about 10 minutes to fix. I have not run regression tests to make sure I didn't break anything else, but the fix was what you suggested. I changed the signature from: public static boolean subtypeOf(CtClass clazz, ClassExpression instanceOf) to: public static boolean subtypeOf(CtClass clazz, ClassExpression instanceOf, Advisor advisor) Changed each of the places it was called (Util, ConstructorMatcher, FieldMatcher, MethodMatcher), all of which already had the Advisor available. In the method itself, changed the method: public static boolean subtypeOf(CtClass clazz, ClassExpression instanceOf) | { |try |{ | if (clazz == null) return false; | if (instanceOf.isInstanceOfAnnotated()) | { | if (clazz.isPrimitive()) return false; | String sub = instanceOf.getInstanceOfAnnotation().substring(1); | if (PortableAnnotationElement.isAnyAnnotationPresent(clazz, sub)) | return true; | } | else if (instanceOf.matches(clazz.getName())) | { | return true; | } | CtClass[] interfaces = clazz.getInterfaces(); | for (int i = 0; i < interfaces.length; i++) | { | if (subtypeOf(interfaces, instanceOf)) | return true; | } | if (clazz.isInterface()) return false; // we are done | | // --- CHANGE HERE | // --- CHANGE HERE | | return subtypeOf(clazz.getSuperclass(), instanceOf); | } | catch (Exception e) | { | throw new RuntimeException(e); | } | } By adding the following (see CHANGE HERE above): | ArrayList al = advisor.getInterfaceIntroductions(); | for(Iterator iter = al.iterator(); iter.hasNext();) | { | InterfaceIntroduction currentIi = (InterfaceIntroduction)iter.next(); | if(currentIi.matches(advisor, clazz)) | { | return true; | } | } | I'll look up what I need to do to submit a patch after I've had a chance to run unit tests. Unfortunately, to make exporting the jar from eclipse easy I merged src/main and src/JDK15, so I'll figure out some way of making a proper diff. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3941369#3941369 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3941369 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
That sounds like a good starting point. I was unsuccessful downloading the head at work behind a firewall using cvsgrab. I'll try to get it checked out an built tonight at home then I'll have a look. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3941127#3941127 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3941127 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
anonymous wrote : | I wonder, given that the examples from the tutorial do not work and there is example output from the tutorial, either: | 1. Someone ignored the output - or - | 2. This used to work and got broken. | The stuff I pasted in was a modified version of the example to try it out :-) anonymous wrote : | What are you teaching? | I'm in Portugal teaching the advanced class anonymous wrote : | If you could provide any tips/pointers I'd be handy. | AspectManager.translate()->Instrumentor.transform()->XXXTransformer The transformers end up using the Method-/Field-/ConstructorMatcher.These call through to a Util class, to match the class expressions of the expression in question. I think these need to take into account the introductions stored in the AspectManager, since the introductions are done after the method/constructor/field transformation (called from Instrumentor.transform()) Head is the right branch :-) Good luck ;-) View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3941089#3941089 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3941089 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
What are you teaching? I'm with Valtech. We are partnered with JBoss and teach some of your classes(as well as ours). RE: Digging in. Maybe. It might be a bit beyond me. This is happening during weave-time not runtime. I'll have a look and see if I can get any hooks into what's happening. If you could provide any tips/pointers I'd be handy. I'm grabbing the source right now. I see the head is JBoss AOP 2.0, seems I should be working there, right? Once it builds, I'll plug that version in to see if I get the same results. I'll then get the build environment setup for eclipse so I can work there and see what I can see. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3941056#3941056 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3941056 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
It is meant to work yes I am teaching this week + have a load of other stuff to work on at the moment, so I am not sure exactly when I will be able to fix it though. Do you feel like digging in and submitting a patch ;-) View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940900#3940900 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940900 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
Oops! I committed a heinous off by one error: http://jira.jboss.com/jira/browse/JBAOP-241 I wonder, given that the examples from the tutorial do not work and there is example output from the tutorial, either: 1. Someone ignored the output - or - 2. This used to work and got broken. Can I assume that both cflow/execution + $instanceof{...} + introduction is meant to work but does not? If so, then I can proceed with my examples next week (talking at the DFW JBUG and the OkC JUG - same topic, JBoss AOP) and I can describe how these are meant to work. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940783#3940783 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940783 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
Nope, I posted this bug ;-) View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940778#3940778 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940778 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
"[EMAIL PROTECTED]" wrote : You are right, this is a bug | | http://jira.jboss.com/jira/browse/JBAOP-242 That may be a false positive. I posted that bug and I might be wrong. It does seem strange that set(...) is captured but execution(...) is not, but like I said, I might be wrong. We'll see. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940773#3940773 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940773 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
OK, this doesn't seem like a similar to a problem I just explained. However, I found an older thread where this problem I faced has been encountered by others, too: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=61953 View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940750#3940750 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940750 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
I am not sure if this is actually the same problem or similar to the problem "eprst" encountered, but anyway, here's what I found out. The following annotation is provided for dynamic AOP: | | | and | package com.mycompany; | | import java.lang.annotation.ElementType; | import java.lang.annotation.Target; | | @Target({ElementType.TYPE}) | public @interface MyAnnotation { } | I have two classes A and B, and B is inheriting A, like: | @com.mycompany.MyAnnotation | class A { | private int a; | | public int getA() { | return this.a; | } | | public void setA(int a) { | this.a = a; | } | } | | | class B extends A { | private int b; | | public int getB() { | return this.b; | } | | public void setB(int b) { | this.b = b; | } | } | So B gets also advised as it extends class A that is annotated for dynamic AOP. Now, if I inspect an Advised instance of class B, there are two _instanceAdvisor fields, one for the super class A and one for class B. When I execute the following code: | B b = new B(); | InstanceAdvisor advisor = ((Advised) b)._getInstanceAdvisor(); | advisor.appendInterceptor(new SomeInterceptor(...)); | only the _instanceAdvisor for class B gets an advisor (_instanceAdvisor of class A remains null). Accessing field "a" in class A won't get intercepted, but accessing field "b" in class B will. -- If I understand the code in org.jboss.aop.instrument.Instrumentor, only base class of Advised hierarchy should get _instanceadvisor field: | if (isBaseClass(clazz)) | { | addBaseElements(clazz); // In this method a protected _instanceAdvisor is added | } | However, if I run the code mentioned above and then inspect an instance of class B, I see two _instanceAdvisor fields at the same time, one for class A (which is always null) and one for class B (which gets ClassInstanceAdvisor when I call _getInstanceAdvisor() ). If I create an instance of class A, everything works OK (accessing the field "a" gets intercepted). I believe this is because there is only one _instanceAdvisor field (because of the class is not inherited) so the interceptor gets added to the right Advisor. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940724#3940724 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940724 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
You are right, this is a bug http://jira.jboss.com/jira/browse/JBAOP-242 View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940720#3940720 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940720 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
Precedence will not make a difference, but it should still work with introductions. I will try it out View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940685#3940685 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940685 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
Thanks for the reply. What you suggested did not initially work. I still had the same problem. BUT your suggestion lead me to wonder if it happened to be related to how Address "implements" ITrackedObject. It turns out I am introducing the interface ITrackedObject to Address in the jboss-aop.xml. Since Address does not actually implement ITrackedObject until AFTER load time weaving, there's no way (I'm guessing) I can make this work. When I instead make Address directly implement ITrackedObject, everything worked. So, apparently, I cannot use $instanceof on a class where I'm checking for an $instanceof that is introduced. That's not entirely a problem. I'll see if using precedence makes it work. I wonder if this is a fringe case or a bug??? Not really sure. Thanks again for your suggestion, at least I can make this example work (though now how I had hopped). View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940684#3940684 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940684 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
This should work, I just tried it. Try modifying the jboss-aop.xml of the "instanceof" tutorial example to see | | | | | | | | | | | | View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940668#3940668 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940668 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
anonymous wrote : If you're intercepting some methods declared in the superclass and not overriden in the subclass, then it can be the same problem as mine: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=81990 eprst, Thanks for the reply. I think we're talking about different problems. I had a look at your post and I'm working in a different direction. I'm trying to capture all constructor calls of all implementors of an interface. Good luck with your search! View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940655#3940655 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940655 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss AOP] - Re: $instanceof{...} and execution/am I clueless?
If you're intercepting some methods declared in the superclass and not overriden in the subclass, then it can be the same problem as mine: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=81990 View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940603#3940603 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940603 --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user