2 Replies Latest reply on Feb 20, 2006 4:01 PM by Marshall Marshall

    JBossIDE / JEE5 features for JBossAOP Developer

    Marshall Marshall Expert

      Hey guys..

      I'm going around collecting information about what features you envision being supported by JBossIDE in your project for JEE5/JavaOne. I'm starting this thread to get your requests / wishes / concerns for JBossAOP Developer written down so we can assess what is and isn't doable by JavaOne timeframe (if it's not doable, then we will probably put it on the roadmap for a later release).

      Thanks, look forward to the discussion..

        • 1. Re: JBossIDE / JEE5 features for JBossAOP Developer
          Kabir Khan Master

          Hi,

          Here is some correspondance between Rob and myself around the time he finished up last autumn:

          Edit pointcut wizard: The Preview button rocks! Is there any way to get
          the pointcut expression "broken up" when you go to edit an existing one and
          look at it in the wizard?


          I know how to do this but haven't had the time. This will be something I'll definitely look into.



          The Create Binding wizard is cool too, but here I think the interceptors and
          advices should not be separated. Currently you can reorder the order of
          interceptors and the order of advices, but you can't say MyAspect.adviceA
          should come before MyInterceptor should come before MyAspect.adviceB.


          I have not looked at this at all. It doesn't seem like it'd be difficult but again, busy currently. That's a good point, though, and its primarily a leftover from Marshall's design.




          When editing the XML directly, for example by adding or deleting bindings
          this gets correctly updated in the AspectManager view. But, if I try to
          reorder the interceptor/advices for a bindinng in XML this does not seem to
          get reordered.


          Haven't looked into it. Will give it a look when I have time. I guess this was a trouble issue for me in general, though, as to how much control we want the user to have over the xml. Right now I have parts of the xml being sorted and kept orderly, which may annoy power-users.




          One error I found is when creating a pointcut, and getting the edit pattern
          dialog. If I select
          Return Pattern: *
          Class Type Pattern: A typedef called Test
          Method pattern: method (the name of one of the methods in the class)
          Parameters: ..
          When I get back to the Edit Pointcut dialog I get "*
          $typedef{Test}->method()", which should be "* $typedef{Test}->method(..)"
          



          This is definitely a design issue in the wizard. The way I have it, you have to type "..", then click "add", and then it should work. It's definitely not intuitive and I'll have to look into a fix.




          When creating Typedefs, selecting class() and edit pattern you get the
          choice of Instanceof and Class, I think here we should also have Typedef and
          Annotation.


          I didn't know this was allowed, so I'll add those as well.




          The Introduction wizard doesn't seem to work. While I can merrily add stuff,
          the resulting XML becomes just:
           <introduction class="test.core.POJO"/>
          

          The interfaces and mixins I add are ignored. If I edit the XML directly for
          this, this does not seem to get reflected in the Aspect Manager view.



          I definitely remember this problem but I thought I had done something to negate it. I remember the problem 100% though.




          Here's stuff I'd like to see in the future - that I can think of right now
          ;-):

          Would it be possible to have an "Advising" view or something like that? The
          Advised Members view shows what advices are attached to the class, but it
          would be nice to look at an aspect/interceptor and find what classes are
          bound to that, but that might require some work on JBoss AOP itself

          Also, I think what would be both nice and hopefully simple to do would be
          "New Interceptor" and "New Aspect" functionality, giving you a class with
          methods with the right method signatures.



          This new interceptor stuff is there already. I believe it's done through file - new, right now. I can add the menu's though as well.




          Some work is needed to support named interceptors and aspects
           <interceptor name="XXX" class=" test.aspects.MyInterceptor"/>
           <interceptor name="YYY" class="test.aspects.MyInterceptor"/>
           <bind pointcut="execution(public int test.core.POJO->method())">
           <interceptor-ref name="XXX"/>
           </bind>
           <bind pointcut="execution(public int test.core.POJO->method2())">
           <interceptor-ref name="YYY"/>
           </bind>
          And it should also be possible to configure these
           <interceptor name="XXX" class="test.aspects.MyInterceptor">
           <attribute name="InitValue">100</attribute>
           </interceptor>
          



          Yes, this work is most definitely needed. I know this area has been almost completely ignored.





          • 2. Re: JBossIDE / JEE5 features for JBossAOP Developer
            Marshall Marshall Expert

            Hey Kabir thanks for the long reply -- I will put all of this on the TODO list in the AOP extension. Do you have anything else you'd like to add?