Oh, I definitely understand your point about ramp up time :-)  I actually
went back and realized that I¹ve already spent about 40 of the 32 hours I
allocated to pure learning for this task.  Learning the quirks of a
technology is one thing, but 4 days to get Hello World working really hurts
confidence, hehe.  Now that it¹s working, I¹m getting the routine quirks I
was expecting with any new technology :-)



From: Ron DiFrango <[EMAIL PROTECTED]>
Reply-To: <[email protected]>
Date: Sun, 25 Feb 2007 13:13:12 -0500
To: <[email protected]>
Conversation: [aspectj-users] Frustrated Newbie
Subject: RE: [aspectj-users] Frustrated Newbie

Kevin,
 
I guess the question that springs into my mind is, when implementing any new
technology you can and should expect some sort of ramp up period.  It sounds
to me like that is in part what has played into your frustrations.  I know I
for one has spent many hours on learning a new framework, getting
frustrated, etc. until I hit that ah ha moment where it finally clicked.
 
I would say that using AJDT within Eclipse should help you tremendously in
accelerating the learning curve because you get immediate visual feedback on
what may/may not be wrong with your pointcut definitions.  I remember a time
when AJDT did not exist and you have to perform trial and error and generate
the source to find out what was going on.
 
I have experience using AJ for mission critical applications and it worked
just fine.  I used it to convert an entire section of my application to
effectively implement a template method without changing the external
interface of that section of code.
 
Ron

 
________________________________

From: [EMAIL PROTECTED] on behalf of Kevin F
Sent: Sun 2/25/2007 12:15 PM
To: [email protected]
Subject: Re: [aspectj-users] Frustrated Newbie


Thanks.

Actually, I want to use it to implement various mission critical orthogonal
crosscuts to dramatically improve project velocity for a deadline in early
April.  Do you have experience using AJ for mission critical functionality?
I spent 30+ hours on this problem in the 4 days so I will be able to devote
time to fixing problems as long as I can observe the effects of my AJ
changes.  How likely is it that I'll run into any more circumstances where
my pointcuts filter far too many joinpoints such as my example below (118
when >3000 should have been found)?  Debugging problems of the nature "the
ubiquitous framework chooses not to call my code" are extreme timewasters.

Kevin


________________________________

From: Dean Wampler <[EMAIL PROTECTED]>
Organization: Aspect Programming
Reply-To: <[email protected]>
Date: Sun, 25 Feb 2007 10:51:52 -0600
To: <[email protected]>
Subject: Re: [aspectj-users] Frustrated Newbie

I'm glad you made some headway.  I'm not sure if your original installation
process caused problems. I think it should have worked, but I've only used
the feature installer myself.

I do believe it's wise to proceed cautiously, since as you've seen, it can
take some effort to understand the join point language and other aspects
(pardon the pun ;) of AspectJ. I don't know what other aspects you've tried
to use, but "policy enforcement" aspects like the one you posted are a good
place to start, since they don't implement production functionality, but
provide a supporting development role. As you build confidence, you can
proceed to more "missing critical" aspects.

Best wishes.

dean

Kevin F wrote: 


 Re: [aspectj-users] Frustrated Newbie Paulo & Dean, thank you for your
replies.  I had given up and was actually in the process of purging AspectJ
from my project when they arrived.  So, I copied my AspectJ-free project to
a new directory and used the Eclipse option to convert to AJ project.  I
didn't think your suggestions were going to help since the failure I had
been getting were on the expression "within(com.mycompany..*+)"; however, I
tried anyway.
  
 Amazingly, things seemed to behave exactly as they should.  With this happy
event, I tried the tests from my original posting.  At the time of posting,
the pointcut "within(com.mycompany..*+)" allowed 118 join points.  Now, it
allows > 3000 which is approximately what I expected.
  
 When I thought back on my installation within Eclipse 3.2.1, I downloaded
AJDT from eclipse.org, extracted the file, copied the features to
.../eclipse_3.2.1/features/, and copied the plugins to
.../eclipse_3.2.1/plugins.  When I installed AJDT for Eclipse 3.3M5, I used
the feature installer.  Is it possible that an improper installation the
first time caused my AJ project to be setup incorrectly and caused all my
problems?
  
 Due to my 4 days of pain, I am a bit timid at the moment; however, I want
to believe that AJ is stable and reliable because
   
 

 1. it is used in a lot of projects
 2. it has the awesome power (for good or bad) to make massive changes to
the code that I write
 3. 
  

 
 Thanks again for the responses,
 Kevin
  
  
 
________________________________

 From: Kevin F <[EMAIL PROTECTED]>
<mailto:[EMAIL PROTECTED]> <mailto:[EMAIL PROTECTED]>
  Reply-To: <[email protected]> <mailto:[email protected]>
<mailto:[email protected]>
  Date: Sun, 25 Feb 2007 08:07:22 -0500
  To: <[email protected]> <mailto:[email protected]>
<mailto:[email protected]>
  Conversation: Frustrated Newbie
  Subject: [aspectj-users] Frustrated Newbie
  
  I've been at this for 4 days now.  I had some good luck with a few initial
cases where I was able to clean up some code and verify through testing it
worked like a charm.  I made a couple minor tweaks to those which broke them
giving the technology an unreliable feel.  I'm willing to write that off as
inexperience.
  
 So I continued on and tried to implement some simple enforcement policies
that I read in the book from the Eclipse Series (trying to support
development by buying products and all).  It isn't working at all and my
frustration level trying to implement even simple enforcement policies is
off the scale.
  
 Yesterday, I posted the following to the AspectJ newsgroup without a
response yet.  I continued researching on my own, even using the latest
milestone AspectJ release for Eclipse 3.3M5.  Still no luck.
  
 --------------- 
 Newsgroup post:
 ---------------
  
 I'm new to AspectJ so please no flames.  I'm using AJDT for Eclipse 3.2.1
 and have been following the details from the "eclipse AspectJ" book.
  
 I'm trying to enforce simple errors such as "It is an error to implement
any
 listener interface unless you also implement interface Foo."  To do this, I
 want to try:
  
 pointcut listeners() : within(*..*Listener*+);
 pointcut myCode() : within(com.mycompany..*+);
 pointcut mySpecialInterface() : within(com.mycompany.Foo+);
 declare error: listeners() && myCode() && !mySpecialInterface()
              : "All listeners must implement Foo";
  
  
 Since this did not work, I tried various experiments.  So, I tried the
 following:
  
 declare error: within(*..*Listener*+)
              : "A";
 declare error: within(com.mycompany..*+)
              : "B";
 declare error: within(*..*Listener*+) && within(com.mycompany..*+)
              : "A intersect B";
 declare error: within(*..*Listener*+ && com.mycompany..*+)
              : "A intersect' B";
 declare error: within(*..*Listener*+) || within(com.mycompany..*+)
              : "A union B";
 declare error: within(*..*Listener*+ || com.mycompany..*+)
              : "A union' B";
  
 A seems to be tagged correctly on all classes that implement any interface
 with the word Listener in its name.
  
 B seems to tag only a fraction of the classes I have written.
  
 A intersect B and A intersect' B both result in no tags.
  
 A union B and A union' B both seem to result in the union of what A and B
 tagged above.
  
  
 AOP seems so powerful yet so cryptic.  Can anybody help?
  
  
 
 
________________________________

 _______________________________________________
 aspectj-users mailing list
 [email protected]
 https://dev.eclipse.org/mailman/listinfo/aspectj-users
   
 
 
________________________________


 _______________________________________________
 aspectj-users mailing list
 [email protected]
 https://dev.eclipse.org/mailman/listinfo/aspectj-users
   
 



-- 
Dean Wampler's Signature Dean Wampler, Ph.D.
 dean at aspectprogramming.com
 objectmentor.com <http://www.objectmentor.com>
<http://www.objectmentor.com/>
 aspectprogramming.com <http://www.aspectprogramming.com>
<http://www.aspectprogramming.com/>
 contract4j.org <http://www.contract4j.org> <http://www.contract4j.org/>
 
 I want my tombstone to say:
 Unknown Application Error in Dean Wampler.exe.
Application Terminated.
 Okay Cancel   


________________________________

_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users


_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to