<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:www.nabble.com,2006:forum-2219</id>
	<title>Nabble - AspectJ - users</title>
	<updated>2008-11-21T06:38:07Z</updated>
	<link rel="self" type="application/atom+xml" href="http://www.nabble.com/AspectJ---users-f2219.xml" />
	<link rel="alternate" type="text/html" href="http://www.nabble.com/AspectJ---users-f2219.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:www.nabble.com,2006:post-20622364</id>
	<title>Annotation Style: Ways to access the target of an inter-type declaration inside the interface implementation?</title>
	<published>2008-11-21T06:38:07Z</published>
	<updated>2008-11-21T06:38:07Z</updated>
	<author>
		<name>Michael Bindek</name>
	</author>
	<content type="html">&lt;html&gt;
&lt;head&gt;

&lt;/head&gt;
&lt;body class='hmmessage'&gt;






Hi,&lt;br&gt;&lt;br&gt;I am currently implementing a lot of static cross-cutting with annotation style and have a hard time working around &lt;br&gt;the current limitations. My main problem is the inability to directly access the target object within the implementation of an interface&lt;br&gt;when making an inter-type declaration like&lt;br&gt;&lt;br&gt;@DeclareParents(value=&quot;target&quot;, defaultImpl=Implementation.class)&lt;br&gt;
public SomeInterface SomeInterfaceImpl;&lt;br&gt;&lt;br&gt;public static Implementation implements SomeInterface&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp; &quot;this&quot; returns a reference to an object of this implementation class, not the target object&lt;br&gt;}&lt;br&gt;&lt;br&gt;This topic has been already covered to some extent (like in&amp;nbsp; &lt;a href=&quot;http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg05884.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://dev.eclipse.org/mhonarc/lists/aspectj-users/msg05884.html&lt;/a&gt;),&lt;br&gt;but I couldn't find any direct hints or best practices how to implement a decent workaround for this situat&lt;br&gt;&lt;br&gt;I started working with AspectJ some weeks ago, so my understanding for its internals might still be lacking, &lt;br&gt;but there seems to be no obvious way to access the target from inside the implementation class or vice versa.&lt;br&gt;
(Although there is some kind of stub inside a targets
class-file for each interface-method and some code that&lt;br&gt;
creates the implementation object, that might indicate some field holding a reference ...)&lt;br&gt;&lt;br&gt;My best &quot;solution&quot; so far is storing and retrieving a reference to the target object within the implementation class via get/set methods. &lt;br&gt;Setting the reference can be 
conveniently
 handled by an advice during creation of the target object. This is relatively easy to use, &lt;br&gt;but as all externally accessible methods must be declared in the interface, this approach is horribly invasive and I am not very happy with it.&lt;br&gt;&lt;br&gt;sample code :&lt;br&gt;&lt;br&gt;//-----defaultImpl-----&lt;br&gt;public static Implementation implements SomeInterface&lt;br&gt;
{&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp; private Object target=null;&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setTarget(Object ob) {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; this.target=ob;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Object getTarget() {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return this.target;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; public void someMethod(){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // do something with the target object via getTarget()&lt;br&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;}&lt;br&gt;&lt;br&gt;//-----Advice-----&lt;br&gt;@After(&quot; execution( new(..)) &amp;amp;&amp;amp; @target(SomeAnnotation) &amp;amp;&amp;amp; target (obj))&quot;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; public void storeReference(Object obj )&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ((SomeInterface)obj).setTarget(obj);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;br&gt;I was experimenting with awkward things like multiple interfaces on the implementation class (in order to keep the important interface clean&lt;br&gt;and &quot;hide&quot; the additional methods in another interface)but with no success. It either didn't compile or AspectJ generated a separate object &lt;br&gt;of the implementation class for each interface. &lt;br&gt;&lt;br&gt;Are there any different/better solutions to this problem?&lt;br&gt;&lt;br&gt;Regards,&lt;br&gt;&lt;br&gt;Michael&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;hr /&gt;Get news, entertainment and everything you care about at Live.com. &lt;a href='http://www.live.com/getstarted.aspx ' target='_new' rel=&quot;nofollow&quot;&gt;Check it out!&lt;/a&gt;&lt;/body&gt;
&lt;/html&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20622364&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Annotation-Style%3A-Ways-to-access-the-target-of-an-inter-type-declaration-inside-the-interface-implementation--tp20622364p20622364.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20616717</id>
	<title>RE: Exception ajdt</title>
	<published>2008-11-21T00:02:22Z</published>
	<updated>2008-11-21T00:02:22Z</updated>
	<author>
		<name>hermod.opstvedt</name>
	</author>
	<content type="html">Hi
&lt;br&gt;&lt;br&gt;I have filed a bug. 
&lt;br&gt;&lt;br&gt;Hermod 
&lt;br&gt;-----Original Message-----
&lt;br&gt;From: &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20616717&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users-bounces@...&lt;/a&gt;
&lt;br&gt;[mailto:&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20616717&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users-bounces@...&lt;/a&gt;] On Behalf Of Andrew Eisenberg
&lt;br&gt;Sent: Thursday, November 20, 2008 5:12 PM
&lt;br&gt;To: &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20616717&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;Subject: Re: [aspectj-users] Exception ajdt
&lt;br&gt;&lt;br&gt;This seems like a bug. &amp;nbsp;Please file one under AspectJ.
&lt;br&gt;&lt;br&gt;Looks like the aspectj builder is trying to send a message to the
&lt;br&gt;previous state, but the previous state is null because there are errors
&lt;br&gt;in the program (likely a successful build has never completed) and a NPE
&lt;br&gt;is thrown.
&lt;br&gt;&lt;br&gt;--a
&lt;br&gt;&lt;br&gt;On Thu, Nov 20, 2008 at 3:23 AM, &amp;nbsp;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20616717&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hermod.opstvedt@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Before posting a bug for ajdt, I was wondering if anybody else is 
&lt;br&gt;&amp;gt; experiencing a problem with it. The scenario is that if there is any 
&lt;br&gt;&amp;gt; kind error in my aspect (missing import, mispelled variable etc.) I 
&lt;br&gt;&amp;gt; get the following exception from ajdt when I save it:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; java.lang.NullPointerException
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.aspectj.ajde.core.internal.AjdeCoreBuildManager.performBuild(AjdeC
&lt;br&gt;&amp;gt; or
&lt;br&gt;&amp;gt; eBuildManager.java:121)
&lt;br&gt;&amp;gt; at org.aspectj.ajde.core.AjCompiler.build(AjCompiler.java:88)
&lt;br&gt;&amp;gt; at org.eclipse.ajdt.core.builder.AJBuilder.build(AJBuilder.java:228)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:
&lt;br&gt;&amp;gt; 63
&lt;br&gt;&amp;gt; 3)
&lt;br&gt;&amp;gt; at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
&lt;br&gt;&amp;gt; at org.eclipse.core.internal.events.B ...
&lt;br&gt;&amp;gt; oBuildJob.run(AutoBuildJob.java:238)
&lt;br&gt;&amp;gt; at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Compile error: NullPointerException thrown: null
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am using version 1.6.1.20081104192500
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hermod
&lt;br&gt;&amp;gt; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
&lt;br&gt;&amp;gt; * * *
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This email with attachments is solely for the use of the individual or
&lt;/div&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; entity to whom it is addressed. Please also be aware that the DnB NOR 
&lt;br&gt;&amp;gt; Group cannot accept any payment orders or other legally binding 
&lt;br&gt;&amp;gt; correspondence with customers as a part of an email.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This email message has been virus checked by the anti virus programs 
&lt;br&gt;&amp;gt; used in the DnB NOR Group.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
&lt;br&gt;&amp;gt; * * *
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20616717&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20616717&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
&lt;br&gt;&lt;br&gt;This email with attachments is solely for the use of the individual or
&lt;br&gt;entity to whom it is addressed. Please also be aware that the DnB NOR Group
&lt;br&gt;cannot accept any payment orders or other legally binding correspondence with
&lt;br&gt;customers as a part of an email. 
&lt;br&gt;&lt;br&gt;This email message has been virus checked by the anti virus programs used
&lt;br&gt;in the DnB NOR Group.
&lt;br&gt;&lt;br&gt;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20616717&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Exception-ajdt-tp20599214p20616717.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20612813</id>
	<title>AspectJ exam is on java black belt!</title>
	<published>2008-11-20T16:07:37Z</published>
	<updated>2008-11-20T16:07:37Z</updated>
	<author>
		<name>Simone Gianni-2</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;we managed to have the exam on Java Black Belt. You can find it here :
&lt;br&gt;&lt;a href=&quot;http://www.javablackbelt.com/QuestionnaireDefDisplay.wwa?questPublicId=1630&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.javablackbelt.com/QuestionnaireDefDisplay.wwa?questPublicId=1630&lt;/a&gt;&lt;br&gt;, or arrive to it from the JavaBlackBelt home page, it's filed under the
&lt;br&gt;section &amp;quot;Misc&amp;quot; together with OSGI and Java3D.
&lt;br&gt;&lt;br&gt;Now we have to add questions to it ... I'm adding some basic ones, but
&lt;br&gt;will need your help revising them, fixing errors, voting them, and most
&lt;br&gt;importantly filling with even more questions, especially the theoretical
&lt;br&gt;ones.
&lt;br&gt;&lt;br&gt;I'd like to thanks all the people who helped on this effort.
&lt;br&gt;&lt;br&gt;Simone
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Simone Gianni CEO Semeru s.r.l. Apache Committer
&lt;br&gt;&lt;a href=&quot;http://www.simonegianni.it/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.simonegianni.it/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20612813&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/AspectJ-exam-is-on-java-black-belt%21-tp20612813p20612813.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20604681</id>
	<title>Re: Exception ajdt</title>
	<published>2008-11-20T08:11:57Z</published>
	<updated>2008-11-20T08:11:57Z</updated>
	<author>
		<name>Andrew Eisenberg-3</name>
	</author>
	<content type="html">This seems like a bug. &amp;nbsp;Please file one under AspectJ.
&lt;br&gt;&lt;br&gt;Looks like the aspectj builder is trying to send a message to the
&lt;br&gt;previous state, but the previous state is null because there are
&lt;br&gt;errors in the program (likely a successful build has never completed)
&lt;br&gt;and a NPE is thrown.
&lt;br&gt;&lt;br&gt;--a
&lt;br&gt;&lt;br&gt;On Thu, Nov 20, 2008 at 3:23 AM, &amp;nbsp;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20604681&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hermod.opstvedt@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Before posting a bug for ajdt, I was wondering if anybody else is
&lt;br&gt;&amp;gt; experiencing a problem with it. The scenario is that if there is any
&lt;br&gt;&amp;gt; kind error in my aspect (missing import, mispelled variable etc.) I get
&lt;br&gt;&amp;gt; the following exception from ajdt when I save it:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; java.lang.NullPointerException
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.aspectj.ajde.core.internal.AjdeCoreBuildManager.performBuild(AjdeCor
&lt;br&gt;&amp;gt; eBuildManager.java:121)
&lt;br&gt;&amp;gt; at org.aspectj.ajde.core.AjCompiler.build(AjCompiler.java:88)
&lt;br&gt;&amp;gt; at org.eclipse.ajdt.core.builder.AJBuilder.build(AJBuilder.java:228)
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:63
&lt;br&gt;&amp;gt; 3)
&lt;br&gt;&amp;gt; at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
&lt;br&gt;&amp;gt; at org.eclipse.core.internal.events.B ...
&lt;br&gt;&amp;gt; oBuildJob.run(AutoBuildJob.java:238)
&lt;br&gt;&amp;gt; at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Compile error: NullPointerException thrown: null
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am using version 1.6.1.20081104192500
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hermod
&lt;br&gt;&amp;gt; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This email with attachments is solely for the use of the individual or
&lt;br&gt;&amp;gt; entity to whom it is addressed. Please also be aware that the DnB NOR Group
&lt;br&gt;&amp;gt; cannot accept any payment orders or other legally binding correspondence with
&lt;br&gt;&amp;gt; customers as a part of an email.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This email message has been virus checked by the anti virus programs used
&lt;br&gt;&amp;gt; in the DnB NOR Group.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20604681&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20604681&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Exception-ajdt-tp20599214p20604681.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20599214</id>
	<title>Exception ajdt</title>
	<published>2008-11-20T03:23:59Z</published>
	<updated>2008-11-20T03:23:59Z</updated>
	<author>
		<name>hermod.opstvedt</name>
	</author>
	<content type="html">Hi
&lt;br&gt;&lt;br&gt;Before posting a bug for ajdt, I was wondering if anybody else is
&lt;br&gt;experiencing a problem with it. The scenario is that if there is any
&lt;br&gt;kind error in my aspect (missing import, mispelled variable etc.) I get
&lt;br&gt;the following exception from ajdt when I save it:
&lt;br&gt;&lt;br&gt;java.lang.NullPointerException
&lt;br&gt;at
&lt;br&gt;org.aspectj.ajde.core.internal.AjdeCoreBuildManager.performBuild(AjdeCor
&lt;br&gt;eBuildManager.java:121)
&lt;br&gt;at org.aspectj.ajde.core.AjCompiler.build(AjCompiler.java:88)
&lt;br&gt;at org.eclipse.ajdt.core.builder.AJBuilder.build(AJBuilder.java:228)
&lt;br&gt;at
&lt;br&gt;org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:63
&lt;br&gt;3)
&lt;br&gt;at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
&lt;br&gt;at org.eclipse.core.internal.events.B ...
&lt;br&gt;oBuildJob.run(AutoBuildJob.java:238)
&lt;br&gt;at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
&lt;br&gt;&lt;br&gt;Compile error: NullPointerException thrown: null
&lt;br&gt;&lt;br&gt;&lt;br&gt;I am using version 1.6.1.20081104192500
&lt;br&gt;&lt;br&gt;Hermod
&lt;br&gt;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
&lt;br&gt;&lt;br&gt;This email with attachments is solely for the use of the individual or
&lt;br&gt;entity to whom it is addressed. Please also be aware that the DnB NOR Group
&lt;br&gt;cannot accept any payment orders or other legally binding correspondence with
&lt;br&gt;customers as a part of an email. 
&lt;br&gt;&lt;br&gt;This email message has been virus checked by the anti virus programs used
&lt;br&gt;in the DnB NOR Group.
&lt;br&gt;&lt;br&gt;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20599214&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Exception-ajdt-tp20599214p20599214.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20566387</id>
	<title>Re: external concrete aspect using LTW with java 1.4</title>
	<published>2008-11-18T11:20:56Z</published>
	<updated>2008-11-18T11:20:56Z</updated>
	<author>
		<name>epro etc</name>
	</author>
	<content type="html">Thanks for the help Andrew. I appreciate.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Nov 18, 2008 at 8:12 PM, Andrew Eisenberg &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566387&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andrew@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;This is already logged as a bug:&lt;br&gt;
&lt;br&gt;
&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=131728&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://bugs.eclipse.org/bugs/show_bug.cgi?id=131728&lt;/a&gt;&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;Wj3C7c&quot;&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
On Tue, Nov 18, 2008 at 9:51 AM, epro etc &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566387&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;epro66@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&amp;gt; Hi Andrew,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Thanks for the reply.&lt;br&gt;
&amp;gt; Regarding your questions, If MyConcreteAspect is defined outside of the&lt;br&gt;
&amp;gt; aop.xml file&lt;br&gt;
&amp;gt; than it works fine like all the other aspects. The problem occurs only when&lt;br&gt;
&amp;gt; the aspect&lt;br&gt;
&amp;gt; is defined inline in the aop.xml file.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I apologize for my mistakes in the sample code. I have mistype in the&lt;br&gt;
&amp;gt; previous email&lt;br&gt;
&amp;gt; I have send, that is not the problem.(MyConreteAspect is actually&lt;br&gt;
&amp;gt; MyConcreteAspect.)&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Regards&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; On Tue, Nov 18, 2008 at 5:29 PM, Andrew Eisenberg &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566387&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andrew@...&lt;/a&gt;&amp;gt;&lt;br&gt;
&amp;gt; wrote:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Are you saying that MyConreteAspect is the only aspect defined inline&lt;br&gt;
&amp;gt;&amp;gt; in the aop.xml and it is the only one not working? &amp;nbsp;What happens if&lt;br&gt;
&amp;gt;&amp;gt; you pull it out and define it in its own file? &amp;nbsp;Does it work then?&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Note also that you have MyConreteAspect, not MyConcreteAspect.&lt;br&gt;
&amp;gt;&amp;gt; Doubtful, but that could be the problem, too.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; On Tue, Nov 18, 2008 at 8:09 AM, epro etc &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566387&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;epro66@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; Hi all,&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; I have managed to successfully configure LTW using java 1.4.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; Now I am facing a problem when trying to define a concrete aspect&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; using in external aop.xml file.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; My abstract aspect is packed in a separate jar file(this jar already&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; contains&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; several more aspects that are working OK).&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; When deployed on app server I am getting:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; java.lang.ClassNotFoundException: com.foo.aspect.MyConreteAspect not&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; found -&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; unable to determine URL&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; Please note that all of my other aspects are working correctly.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; sample code:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; 1. This is my abstract aspect:&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; public abstract aspect MyAbstractAspect&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; {&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; public abstract pointcut testConcrete();&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; before() : testConcrete(){&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.err.println(&amp;quot;Adviced ....&amp;quot;);&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; }&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; }&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; 2. This is my external aop.xml file&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;lt;aspectj&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;weaver options=&amp;quot;-verbose -showWeaveInfo&amp;quot; &amp;gt;&amp;lt;/weaver&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;aspects&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;aspect name=&amp;quot;test.aspect.Aspect_1&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . . . . . . . . . .&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;aspect name=&amp;quot;test.aspect.Aspect_N&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;concrete-aspect name=&amp;quot;test.aspect.MyConreteAspect&amp;quot;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; extends=&amp;quot;test.aspect.MyAbstractAspect&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;pointcut name=&amp;quot;testConcrete&amp;quot; expression=&amp;quot;execution(*&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; Test.testMethod(..))&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/concrete-aspect&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;/aspects&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &amp;lt;/aspectj&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; Any help is appreciated.&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; Thanks in advance&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; _______________________________________________&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; aspectj-users mailing list&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566387&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt;&amp;gt; aspectj-users mailing list&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566387&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566387&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/external-concrete-aspect-using-LTW-with-java-1.4-tp20562658p20566387.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20566240</id>
	<title>Re: external concrete aspect using LTW with java 1.4</title>
	<published>2008-11-18T11:12:00Z</published>
	<updated>2008-11-18T11:12:00Z</updated>
	<author>
		<name>Andrew Eisenberg-3</name>
	</author>
	<content type="html">This is already logged as a bug:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=131728&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://bugs.eclipse.org/bugs/show_bug.cgi?id=131728&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Tue, Nov 18, 2008 at 9:51 AM, epro etc &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566240&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;epro66@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Andrew,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks for the reply.
&lt;br&gt;&amp;gt; Regarding your questions, If MyConcreteAspect is defined outside of the
&lt;br&gt;&amp;gt; aop.xml file
&lt;br&gt;&amp;gt; than it works fine like all the other aspects. The problem occurs only when
&lt;br&gt;&amp;gt; the aspect
&lt;br&gt;&amp;gt; is defined inline in the aop.xml file.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I apologize for my mistakes in the sample code. I have mistype in the
&lt;br&gt;&amp;gt; previous email
&lt;br&gt;&amp;gt; I have send, that is not the problem.(MyConreteAspect is actually
&lt;br&gt;&amp;gt; MyConcreteAspect.)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Tue, Nov 18, 2008 at 5:29 PM, Andrew Eisenberg &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566240&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andrew@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Are you saying that MyConreteAspect is the only aspect defined inline
&lt;br&gt;&amp;gt;&amp;gt; in the aop.xml and it is the only one not working? &amp;nbsp;What happens if
&lt;br&gt;&amp;gt;&amp;gt; you pull it out and define it in its own file? &amp;nbsp;Does it work then?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Note also that you have MyConreteAspect, not MyConcreteAspect.
&lt;br&gt;&amp;gt;&amp;gt; Doubtful, but that could be the problem, too.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On Tue, Nov 18, 2008 at 8:09 AM, epro etc &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566240&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;epro66@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Hi all,
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; I have managed to successfully configure LTW using java 1.4.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Now I am facing a problem when trying to define a concrete aspect
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; using in external aop.xml file.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; My abstract aspect is packed in a separate jar file(this jar already
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; contains
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; several more aspects that are working OK).
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; When deployed on app server I am getting:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; java.lang.ClassNotFoundException: com.foo.aspect.MyConreteAspect not
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; found -
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; unable to determine URL
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Please note that all of my other aspects are working correctly.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; sample code:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; 1. This is my abstract aspect:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; public abstract aspect MyAbstractAspect
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; public abstract pointcut testConcrete();
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; before() : testConcrete(){
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.err.println(&amp;quot;Adviced ....&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; 2. This is my external aop.xml file
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;lt;aspectj&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;weaver options=&amp;quot;-verbose -showWeaveInfo&amp;quot; &amp;gt;&amp;lt;/weaver&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;aspects&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;aspect name=&amp;quot;test.aspect.Aspect_1&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . . . . . . . . . .
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;aspect name=&amp;quot;test.aspect.Aspect_N&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;concrete-aspect name=&amp;quot;test.aspect.MyConreteAspect&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; extends=&amp;quot;test.aspect.MyAbstractAspect&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;pointcut name=&amp;quot;testConcrete&amp;quot; expression=&amp;quot;execution(*
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Test.testMethod(..))&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/concrete-aspect&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;/aspects&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;lt;/aspectj&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Any help is appreciated.
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Thanks in advance
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566240&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566240&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20566240&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/external-concrete-aspect-using-LTW-with-java-1.4-tp20562658p20566240.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20564797</id>
	<title>Re: external concrete aspect using LTW with java 1.4</title>
	<published>2008-11-18T09:51:59Z</published>
	<updated>2008-11-18T09:51:59Z</updated>
	<author>
		<name>epro etc</name>
	</author>
	<content type="html">Hi Andrew,&lt;br&gt;&lt;br&gt;Thanks for the reply. &lt;br&gt;Regarding your questions, If MyConcreteAspect is defined outside of the aop.xml file&lt;br&gt;than it works fine like all the other aspects. The problem occurs only when the aspect &lt;br&gt;
is defined inline in the aop.xml file.&lt;br&gt;&lt;br&gt;I apologize for my mistakes in the sample code. I have mistype in the previous email &lt;br&gt;I have send, that is not the problem.(MyConreteAspect is actually MyConcreteAspect.)&lt;br&gt;
&lt;br&gt;Regards&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Nov 18, 2008 at 5:29 PM, Andrew Eisenberg &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20564797&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andrew@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
Are you saying that MyConreteAspect is the only aspect defined inline&lt;br&gt;
in the aop.xml and it is the only one not working? &amp;nbsp;What happens if&lt;br&gt;
you pull it out and define it in its own file? &amp;nbsp;Does it work then?&lt;br&gt;
&lt;br&gt;
Note also that you have MyConreteAspect, not MyConcreteAspect.&lt;br&gt;
Doubtful, but that could be the problem, too.&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;Wj3C7c&quot;&gt;&lt;br&gt;
On Tue, Nov 18, 2008 at 8:09 AM, epro etc &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20564797&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;epro66@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&amp;gt; Hi all,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I have managed to successfully configure LTW using java 1.4.&lt;br&gt;
&amp;gt; Now I am facing a problem when trying to define a concrete aspect&lt;br&gt;
&amp;gt; using in external aop.xml file.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; My abstract aspect is packed in a separate jar file(this jar already&lt;br&gt;
&amp;gt; contains&lt;br&gt;
&amp;gt; several more aspects that are working OK).&lt;br&gt;
&amp;gt; When deployed on app server I am getting:&lt;br&gt;
&amp;gt; java.lang.ClassNotFoundException: com.foo.aspect.MyConreteAspect not found -&lt;br&gt;
&amp;gt; unable to determine URL&lt;br&gt;
&amp;gt; Please note that all of my other aspects are working correctly.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; sample code:&lt;br&gt;
&amp;gt; 1. This is my abstract aspect:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; public abstract aspect MyAbstractAspect&lt;br&gt;
&amp;gt; {&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; public abstract pointcut testConcrete();&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; before() : testConcrete(){&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.err.println(&amp;quot;Adviced ....&amp;quot;);&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; }&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; 2. This is my external aop.xml file&lt;br&gt;
&amp;gt; &amp;lt;aspectj&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;weaver options=&amp;quot;-verbose -showWeaveInfo&amp;quot; &amp;gt;&amp;lt;/weaver&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;aspects&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;aspect name=&amp;quot;test.aspect.Aspect_1&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . . . . . . . . . .&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;aspect name=&amp;quot;test.aspect.Aspect_N&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;concrete-aspect name=&amp;quot;test.aspect.MyConreteAspect&amp;quot;&lt;br&gt;
&amp;gt; extends=&amp;quot;test.aspect.MyAbstractAspect&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;pointcut name=&amp;quot;testConcrete&amp;quot; expression=&amp;quot;execution(*&lt;br&gt;
&amp;gt; Test.testMethod(..))&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/concrete-aspect&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;/aspects&amp;gt;&lt;br&gt;
&amp;gt; &amp;lt;/aspectj&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Any help is appreciated.&lt;br&gt;
&amp;gt; Thanks in advance&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&amp;gt; _______________________________________________&lt;br&gt;
&amp;gt; aspectj-users mailing list&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20564797&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
_______________________________________________&lt;br&gt;
aspectj-users mailing list&lt;br&gt;
&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20564797&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20564797&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/external-concrete-aspect-using-LTW-with-java-1.4-tp20562658p20564797.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20563066</id>
	<title>Re: external concrete aspect using LTW with java 1.4</title>
	<published>2008-11-18T08:29:31Z</published>
	<updated>2008-11-18T08:29:31Z</updated>
	<author>
		<name>Andrew Eisenberg-3</name>
	</author>
	<content type="html">Are you saying that MyConreteAspect is the only aspect defined inline
&lt;br&gt;in the aop.xml and it is the only one not working? &amp;nbsp;What happens if
&lt;br&gt;you pull it out and define it in its own file? &amp;nbsp;Does it work then?
&lt;br&gt;&lt;br&gt;Note also that you have MyConreteAspect, not MyConcreteAspect.
&lt;br&gt;Doubtful, but that could be the problem, too.
&lt;br&gt;&lt;br&gt;On Tue, Nov 18, 2008 at 8:09 AM, epro etc &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20563066&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;epro66@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi all,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have managed to successfully configure LTW using java 1.4.
&lt;br&gt;&amp;gt; Now I am facing a problem when trying to define a concrete aspect
&lt;br&gt;&amp;gt; using in external aop.xml file.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My abstract aspect is packed in a separate jar file(this jar already
&lt;br&gt;&amp;gt; contains
&lt;br&gt;&amp;gt; several more aspects that are working OK).
&lt;br&gt;&amp;gt; When deployed on app server I am getting:
&lt;br&gt;&amp;gt; java.lang.ClassNotFoundException: com.foo.aspect.MyConreteAspect not found -
&lt;br&gt;&amp;gt; unable to determine URL
&lt;br&gt;&amp;gt; Please note that all of my other aspects are working correctly.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; sample code:
&lt;br&gt;&amp;gt; 1. This is my abstract aspect:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; public abstract aspect MyAbstractAspect
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; public abstract pointcut testConcrete();
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; before() : testConcrete(){
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.err.println(&amp;quot;Adviced ....&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 2. This is my external aop.xml file
&lt;br&gt;&amp;gt; &amp;lt;aspectj&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;weaver options=&amp;quot;-verbose -showWeaveInfo&amp;quot; &amp;gt;&amp;lt;/weaver&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;aspects&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;aspect name=&amp;quot;test.aspect.Aspect_1&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; . . . . . . . . . .
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;aspect name=&amp;quot;test.aspect.Aspect_N&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;concrete-aspect name=&amp;quot;test.aspect.MyConreteAspect&amp;quot;
&lt;br&gt;&amp;gt; extends=&amp;quot;test.aspect.MyAbstractAspect&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;pointcut name=&amp;quot;testConcrete&amp;quot; expression=&amp;quot;execution(*
&lt;br&gt;&amp;gt; Test.testMethod(..))&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/concrete-aspect&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;/aspects&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/aspectj&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any help is appreciated.
&lt;br&gt;&amp;gt; Thanks in advance
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20563066&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20563066&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/external-concrete-aspect-using-LTW-with-java-1.4-tp20562658p20563066.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20562658</id>
	<title>external concrete aspect using LTW with java 1.4</title>
	<published>2008-11-18T08:09:28Z</published>
	<updated>2008-11-18T08:09:28Z</updated>
	<author>
		<name>epro etc</name>
	</author>
	<content type="html">Hi all,&lt;br&gt;&lt;br&gt;I have managed to successfully configure LTW using java 1.4.&lt;br&gt;Now I am facing a problem when trying to define a concrete aspect&lt;br&gt;using in external aop.xml file.&lt;br&gt;&lt;br&gt;My abstract aspect is packed in a separate jar file(this jar already contains&lt;br&gt;
several more aspects that are working OK). &lt;br&gt;When deployed on app server I am getting:&lt;br&gt;java.lang.ClassNotFoundException: com.foo.aspect.MyConreteAspect not found - unable to determine URL&lt;br&gt;Please note that all of my other aspects are working correctly.&lt;br&gt;
&lt;br&gt;sample code:&lt;br&gt;1. This is my abstract aspect:&lt;br&gt;&lt;br&gt;public abstract aspect MyAbstractAspect&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public abstract pointcut testConcrete();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; before() : testConcrete(){&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.err.println(&amp;quot;Adviced ....&amp;quot;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br&gt;}&lt;br&gt;&lt;br&gt;2. This is my external aop.xml file&lt;br&gt;&amp;lt;aspectj&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;weaver options=&amp;quot;-verbose -showWeaveInfo&amp;quot; &amp;gt;&amp;lt;/weaver&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;aspects&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;aspect name=&amp;quot;test.aspect.Aspect_1&amp;quot;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; . . . . . . . . . . &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;aspect name=&amp;quot;test.aspect.Aspect_N&amp;quot;&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;lt;concrete-aspect name=&amp;quot;test.aspect.MyConreteAspect&amp;quot; extends=&amp;quot;test.aspect.MyAbstractAspect&amp;quot;&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;pointcut name=&amp;quot;testConcrete&amp;quot; expression=&amp;quot;execution(* Test.testMethod(..))&amp;quot;/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/concrete-aspect&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/aspects&amp;gt;&lt;br&gt;&amp;lt;/aspectj&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Any help is appreciated. &lt;br&gt;
Thanks in advance&lt;br&gt;
&lt;br /&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20562658&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/external-concrete-aspect-using-LTW-with-java-1.4-tp20562658p20562658.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20561907</id>
	<title>Re: How to determine whether a nested	class	constructor is being called</title>
	<published>2008-11-18T07:35:17Z</published>
	<updated>2008-11-18T07:35:17Z</updated>
	<author>
		<name>Piers-3</name>
	</author>
	<content type="html">Okay having had a look at the Java language specification, I have 
&lt;br&gt;decided this is a bug and am posting it with the following summary.
&lt;br&gt;&lt;br&gt;thisJoinPoint.getArgs() exposes incorrect parameter when the join point 
&lt;br&gt;is a nested class constructor call.
&lt;br&gt;&lt;br&gt;Piers
&lt;br&gt;&lt;br&gt;Piers wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Thanks for the reply Eric.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I would agree that the behaviour does not seem to make sense, can anyone 
&lt;br&gt;&amp;gt; &amp;nbsp;confirm our suspicion as to whether this really is a bug?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thank you
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Piers
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Eric Bodden wrote:
&lt;br&gt;&amp;gt;&amp;gt; I think that the current behavior does not make much sense. Usually,
&lt;br&gt;&amp;gt;&amp;gt; the additional parameter holds the outer instance of the inner class.
&lt;br&gt;&amp;gt;&amp;gt; It should never be null, and I am not sure why null ends up being
&lt;br&gt;&amp;gt;&amp;gt; bound in the aspect in your case. I think that's a bug.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Either AspectJ should correctly bind the outer instance, or it should
&lt;br&gt;&amp;gt;&amp;gt; not expose this implicit argument at all (which is probably what one
&lt;br&gt;&amp;gt;&amp;gt; actually wants).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Just my two cents,
&lt;br&gt;&amp;gt;&amp;gt; Eric
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2008/11/15 Piers Powlesland &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20561907&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;piers@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I am attempting to write an aspect that checks for null arguments 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; passed to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; any constructors defined in our project, the problem i am having is that
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; calls to constructors of inner classes get passed a *secret* 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; parameter which
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; evaluates to null. I cannot seem to figure out a way to determine 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; whether
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the constructor called belongs to a nested class and therefore cannot 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; avoid
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; these special cases.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Here is some example code.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; First the aspect that i have created
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; package com.historicalengineering.wwii.aspect.test;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; import java.lang.IllegalArgumentException;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; public aspect EnforceContractAspect
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pointcut allMethodCallsWithParameters() :
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call(* com.historicalengineering..*(*,..));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pointcut allConstructorCallsWithParameters() :
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call(com.historicalengineering..new(*,..)) ||
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call(private com.historicalengineering..new(*,..)) ||
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call(protected com.historicalengineering..new(*,..)) ||
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call(public com.historicalengineering..new(*,..));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/*
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Select all calls to any methods or constructors defined within
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * com.historicalengineering taking one or more parameters
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pointcut allCallsWithParameters() :
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;allConstructorCallsWithParameters() ||
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;allMethodCallsWithParameters();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;before() : allCallsWithParameters()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object[] args = thisJoinPoint.getArgs();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(int i = 0; i &amp;lt; args.length; i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(args[i] == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalArgumentException(
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;thisJoinPointStaticPart.getSignature()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+&amp;quot; passed null 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; parameter at
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; position &amp;quot;+(i+1)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+&amp;quot; of &amp;quot;+args.length);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Second the test class
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; package com.historicalengineering.wwii.aspect.test;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; public class A
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public static void main(String[] args)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//A a = new A();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//InnerStatic i = new InnerStatic();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//a.foo();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//a.bar();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protected void foo()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;InnerStatic inner = new InnerStatic();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protected void bar()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Inner inner = new Inner();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static class InnerStatic
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private InnerStatic()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;class Inner
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Inner()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Third some output
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Output when uncommenting the line: &amp;nbsp; &amp;nbsp; &amp;nbsp;A a = new A();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -None because this constructor really doesn't take any parameters.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Output when uncommenting the line: &amp;nbsp; &amp;nbsp; &amp;nbsp;InnerStatic i = new 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; InnerStatic();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Exception in thread &amp;quot;main&amp;quot; java.lang.IllegalArgumentException:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; com.historicalengineering.wwii.aspect.test.A.InnerStatic(A.InnerStatic)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; passed null parameter at position 1 of 1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; com.historicalengineering.wwii.aspect.test.EnforceContractAspect.ajc$before$com_historicalengineering_wwii_aspect_test_EnforceContractAspect$1$f789a125(EnforceContractAspect.aj:45) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at com.historicalengineering.wwii.aspect.test.A.main(A.java:9)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - As you can see from the trace the inner static constructor was 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; passed an
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;A.InnerStatic&amp;quot; &amp;nbsp;type which has evaluated to null.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Output when uncommenting the lines: &amp;nbsp; &amp;nbsp; A a = new A(); &amp;nbsp;&amp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a.foo();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Exception in thread &amp;quot;main&amp;quot; java.lang.IllegalArgumentException:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; com.historicalengineering.wwii.aspect.test.A.InnerStatic(A.InnerStatic)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; passed null parameter at position 1 of 1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; com.historicalengineering.wwii.aspect.test.EnforceContractAspect.ajc$before$com_historicalengineering_wwii_aspect_test_EnforceContractAspect$1$f789a125(EnforceContractAspect.aj:40) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at com.historicalengineering.wwii.aspect.test.A.foo(A.java:17)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at com.historicalengineering.wwii.aspect.test.A.main(A.java:10)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - Again the null &amp;quot;A.InnerStatic&amp;quot; type has been passed to the 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; constructor.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Output when uncommenting the lines: &amp;nbsp; &amp;nbsp; A a = new A(); &amp;nbsp;&amp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a.bar();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Exception in thread &amp;quot;main&amp;quot; java.lang.IllegalArgumentException:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; com.historicalengineering.wwii.aspect.test.A.Inner(A, A.Inner) passed 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; null
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; parameter at position 2 of 2
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; com.historicalengineering.wwii.aspect.test.EnforceContractAspect.ajc$before$com_historicalengineering_wwii_aspect_test_EnforceContractAspect$1$f789a125(EnforceContractAspect.aj:40) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at com.historicalengineering.wwii.aspect.test.A.bar(A.java:22)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at com.historicalengineering.wwii.aspect.test.A.main(A.java:11)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -In the case of the non static nested class it is passed 2 hidden 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; parameters
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the enclosing class &amp;quot;A&amp;quot; which does not evaluate to null and again the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; infuriating &amp;quot;A.Inner&amp;quot; class which is null.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Your thoughts and help would be very much appreciated.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thank you
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Piers
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20561907&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20561907&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;/div&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20561907&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/How-to-determine-whether-a-nested-class-constructor-is-being-called-tp20515649p20561907.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20560413</id>
	<title>Re: set() pointcut for private fields</title>
	<published>2008-11-18T06:13:37Z</published>
	<updated>2008-11-18T06:13:37Z</updated>
	<author>
		<name>Jochen Wuttke-2</name>
	</author>
	<content type="html">After some experimenting I convince myself that this aspect weaves &amp;nbsp;
&lt;br&gt;just fine with static weaving, but for some reason does not get woven &amp;nbsp;
&lt;br&gt;with LTW. I guess this is a bug, so I opened a new report: &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=255643&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://bugs.eclipse.org/bugs/show_bug.cgi?id=255643&lt;/a&gt;&lt;br&gt;&lt;br&gt;Jochen
&lt;br&gt;&lt;br&gt;On Nov 16, 2008, at 6:36 PM, Jochen Wuttke wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have the following class and aspect structure:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; public abstract class A {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	private List&amp;lt;?&amp;gt; list;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	public getList() {
&lt;br&gt;&amp;gt; 		if ( list == null ) {
&lt;br&gt;&amp;gt; 			list = m(); //m() creates a new list implementation
&lt;br&gt;&amp;gt; 		}
&lt;br&gt;&amp;gt; 		return list;
&lt;br&gt;&amp;gt; 	}
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; public privileged aspect AA {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; before(): set(* A.list) {
&lt;br&gt;&amp;gt; 	//do something
&lt;br&gt;&amp;gt; 	}
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Using load time weaving the assignment to list is not getting &amp;nbsp;
&lt;br&gt;&amp;gt; advised. I tried different variants of the pointcut like set(* &amp;nbsp;
&lt;br&gt;&amp;gt; *.list), but that doesn't help. The aspect gets registered an other &amp;nbsp;
&lt;br&gt;&amp;gt; advice/pointcuts of the aspect do work as expected, so what am I &amp;nbsp;
&lt;br&gt;&amp;gt; doing wrong here?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	
&lt;br&gt;&amp;gt; Jochen
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20560413&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20560413&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/set%28%29-pointcut-for-private-fields-tp20527771p20560413.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20558738</id>
	<title>Re: How to determine whether a nested class	constructor is being called</title>
	<published>2008-11-18T04:35:29Z</published>
	<updated>2008-11-18T04:35:29Z</updated>
	<author>
		<name>Piers-3</name>
	</author>
	<content type="html">Thanks for the reply Eric.
&lt;br&gt;&lt;br&gt;I would agree that the behaviour does not seem to make sense, can anyone 
&lt;br&gt;&amp;nbsp; confirm our suspicion as to whether this really is a bug?
&lt;br&gt;&lt;br&gt;Thank you
&lt;br&gt;&lt;br&gt;Piers
&lt;br&gt;&lt;br&gt;&lt;br&gt;Eric Bodden wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I think that the current behavior does not make much sense. Usually,
&lt;br&gt;&amp;gt; the additional parameter holds the outer instance of the inner class.
&lt;br&gt;&amp;gt; It should never be null, and I am not sure why null ends up being
&lt;br&gt;&amp;gt; bound in the aspect in your case. I think that's a bug.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Either AspectJ should correctly bind the outer instance, or it should
&lt;br&gt;&amp;gt; not expose this implicit argument at all (which is probably what one
&lt;br&gt;&amp;gt; actually wants).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Just my two cents,
&lt;br&gt;&amp;gt; Eric
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2008/11/15 Piers Powlesland &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20558738&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;piers@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt; Hi
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I am attempting to write an aspect that checks for null arguments passed to
&lt;br&gt;&amp;gt;&amp;gt; any constructors defined in our project, the problem i am having is that
&lt;br&gt;&amp;gt;&amp;gt; calls to constructors of inner classes get passed a *secret* parameter which
&lt;br&gt;&amp;gt;&amp;gt; evaluates to null. I cannot seem to figure out a way to determine whether
&lt;br&gt;&amp;gt;&amp;gt; the constructor called belongs to a nested class and therefore cannot avoid
&lt;br&gt;&amp;gt;&amp;gt; these special cases.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Here is some example code.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; First the aspect that i have created
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; package com.historicalengineering.wwii.aspect.test;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; import java.lang.IllegalArgumentException;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; public aspect EnforceContractAspect
&lt;br&gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pointcut allMethodCallsWithParameters() :
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call(* com.historicalengineering..*(*,..));
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pointcut allConstructorCallsWithParameters() :
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call(com.historicalengineering..new(*,..)) ||
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call(private com.historicalengineering..new(*,..)) ||
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call(protected com.historicalengineering..new(*,..)) ||
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call(public com.historicalengineering..new(*,..));
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/*
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Select all calls to any methods or constructors defined within
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * com.historicalengineering taking one or more parameters
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pointcut allCallsWithParameters() :
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;allConstructorCallsWithParameters() ||
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;allMethodCallsWithParameters();
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;before() : allCallsWithParameters()
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object[] args = thisJoinPoint.getArgs();
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(int i = 0; i &amp;lt; args.length; i++)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(args[i] == null)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalArgumentException(
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;thisJoinPointStaticPart.getSignature()
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+&amp;quot; passed null parameter at
&lt;br&gt;&amp;gt;&amp;gt; position &amp;quot;+(i+1)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;+&amp;quot; of &amp;quot;+args.length);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Second the test class
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; package com.historicalengineering.wwii.aspect.test;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; public class A
&lt;br&gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public static void main(String[] args)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//A a = new A();
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//InnerStatic i = new InnerStatic();
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//a.foo();
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//a.bar();
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protected void foo()
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;InnerStatic inner = new InnerStatic();
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protected void bar()
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Inner inner = new Inner();
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static class InnerStatic
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private InnerStatic()
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;class Inner
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Inner()
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Third some output
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Output when uncommenting the line: &amp;nbsp; &amp;nbsp; &amp;nbsp;A a = new A();
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; -None because this constructor really doesn't take any parameters.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Output when uncommenting the line: &amp;nbsp; &amp;nbsp; &amp;nbsp;InnerStatic i = new InnerStatic();
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Exception in thread &amp;quot;main&amp;quot; java.lang.IllegalArgumentException:
&lt;br&gt;&amp;gt;&amp;gt; com.historicalengineering.wwii.aspect.test.A.InnerStatic(A.InnerStatic)
&lt;br&gt;&amp;gt;&amp;gt; passed null parameter at position 1 of 1
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at
&lt;br&gt;&amp;gt;&amp;gt; com.historicalengineering.wwii.aspect.test.EnforceContractAspect.ajc$before$com_historicalengineering_wwii_aspect_test_EnforceContractAspect$1$f789a125(EnforceContractAspect.aj:45)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at com.historicalengineering.wwii.aspect.test.A.main(A.java:9)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; - As you can see from the trace the inner static constructor was passed an
&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;A.InnerStatic&amp;quot; &amp;nbsp;type which has evaluated to null.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Output when uncommenting the lines: &amp;nbsp; &amp;nbsp; A a = new A(); &amp;nbsp;&amp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a.foo();
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Exception in thread &amp;quot;main&amp;quot; java.lang.IllegalArgumentException:
&lt;br&gt;&amp;gt;&amp;gt; com.historicalengineering.wwii.aspect.test.A.InnerStatic(A.InnerStatic)
&lt;br&gt;&amp;gt;&amp;gt; passed null parameter at position 1 of 1
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at
&lt;br&gt;&amp;gt;&amp;gt; com.historicalengineering.wwii.aspect.test.EnforceContractAspect.ajc$before$com_historicalengineering_wwii_aspect_test_EnforceContractAspect$1$f789a125(EnforceContractAspect.aj:40)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at com.historicalengineering.wwii.aspect.test.A.foo(A.java:17)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at com.historicalengineering.wwii.aspect.test.A.main(A.java:10)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; - Again the null &amp;quot;A.InnerStatic&amp;quot; type has been passed to the constructor.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Output when uncommenting the lines: &amp;nbsp; &amp;nbsp; A a = new A(); &amp;nbsp;&amp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a.bar();
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Exception in thread &amp;quot;main&amp;quot; java.lang.IllegalArgumentException:
&lt;br&gt;&amp;gt;&amp;gt; com.historicalengineering.wwii.aspect.test.A.Inner(A, A.Inner) passed null
&lt;br&gt;&amp;gt;&amp;gt; parameter at position 2 of 2
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at
&lt;br&gt;&amp;gt;&amp;gt; com.historicalengineering.wwii.aspect.test.EnforceContractAspect.ajc$before$com_historicalengineering_wwii_aspect_test_EnforceContractAspect$1$f789a125(EnforceContractAspect.aj:40)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at com.historicalengineering.wwii.aspect.test.A.bar(A.java:22)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at com.historicalengineering.wwii.aspect.test.A.main(A.java:11)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; -In the case of the non static nested class it is passed 2 hidden parameters
&lt;br&gt;&amp;gt;&amp;gt; the enclosing class &amp;quot;A&amp;quot; which does not evaluate to null and again the
&lt;br&gt;&amp;gt;&amp;gt; infuriating &amp;quot;A.Inner&amp;quot; class which is null.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Your thoughts and help would be very much appreciated.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thank you
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Piers
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20558738&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20558738&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/How-to-determine-whether-a-nested-class-constructor-is-being-called-tp20515649p20558738.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20542044</id>
	<title>Re: warning on wrong constructor</title>
	<published>2008-11-17T07:51:09Z</published>
	<updated>2008-11-17T07:51:09Z</updated>
	<author>
		<name>Andrew Eisenberg-3</name>
	</author>
	<content type="html">Yes, declare warning is compile time only. &amp;nbsp;You could advise this at
&lt;br&gt;runtime and throw an exception if it doesn't conform to you
&lt;br&gt;specifications.
&lt;br&gt;&lt;br&gt;On Fri, Nov 14, 2008 at 8:58 AM, Luca Ferrari &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20542044&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fluca1978@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; I don't know if it is possible, but I'd like to declare a warning for a
&lt;br&gt;&amp;gt; constructor calls of objects SerializableObject+ when the constructors do not
&lt;br&gt;&amp;gt; initialize all the Collection+ declared within the same class. My thought is
&lt;br&gt;&amp;gt; to write a pointcut that exports the context of the object being constructed,
&lt;br&gt;&amp;gt; so that with reflection I can see the declared collections and get their
&lt;br&gt;&amp;gt; values (that should not be null). The problem is that declare warning works
&lt;br&gt;&amp;gt; not at run-time, right? So I cannot get a context or execute reflection on the
&lt;br&gt;&amp;gt; object. Is there a way to achieve this?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; Luca
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20542044&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20542044&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/warning-on-wrong-constructor-tp20535445p20542044.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20536880</id>
	<title>Re: set() pointcut for private fields</title>
	<published>2008-11-17T02:18:37Z</published>
	<updated>2008-11-17T02:18:37Z</updated>
	<author>
		<name>Jochen Wuttke-2</name>
	</author>
	<content type="html">To add something to this:
&lt;br&gt;&lt;br&gt;Following the suggestion of a colleague, I tried this on a small toy &amp;nbsp;
&lt;br&gt;example, and it worked fine.
&lt;br&gt;So this looks like the same problem that I had with ITDs, that would &amp;nbsp;
&lt;br&gt;work fine on small toy examples, but on real sized applications &amp;nbsp;
&lt;br&gt;(Tomcat) they don't work anymore. So I was wondering if with regard to &amp;nbsp;
&lt;br&gt;load-time weaving, are there any extra requirements, like the order of &amp;nbsp;
&lt;br&gt;JAR files on the classpath or stuff like that, which could have an &amp;nbsp;
&lt;br&gt;influence on the weaving?
&lt;br&gt;&lt;br&gt;Jochen
&lt;br&gt;&lt;br&gt;On Nov 16, 2008, at 6:36 PM, Jochen Wuttke wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have the following class and aspect structure:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; public abstract class A {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	private List&amp;lt;?&amp;gt; list;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	public getList() {
&lt;br&gt;&amp;gt; 		if ( list == null ) {
&lt;br&gt;&amp;gt; 			list = m(); //m() creates a new list implementation
&lt;br&gt;&amp;gt; 		}
&lt;br&gt;&amp;gt; 		return list;
&lt;br&gt;&amp;gt; 	}
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; public privileged aspect AA {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; before(): set(* A.list) {
&lt;br&gt;&amp;gt; 	//do something
&lt;br&gt;&amp;gt; 	}
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Using load time weaving the assignment to list is not getting &amp;nbsp;
&lt;br&gt;&amp;gt; advised. I tried different variants of the pointcut like set(* &amp;nbsp;
&lt;br&gt;&amp;gt; *.list), but that doesn't help. The aspect gets registered an other &amp;nbsp;
&lt;br&gt;&amp;gt; advice/pointcuts of the aspect do work as expected, so what am I &amp;nbsp;
&lt;br&gt;&amp;gt; doing wrong here?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; 	
&lt;br&gt;&amp;gt; Jochen
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20536880&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;/div&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20536880&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/set%28%29-pointcut-for-private-fields-tp20527771p20536880.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20529119</id>
	<title>Re: can arg names be accessed at a joinpoint?</title>
	<published>2008-11-16T11:43:07Z</published>
	<updated>2008-11-16T11:43:07Z</updated>
	<author>
		<name>Owen Corpening-2</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;div style=&quot;font-family:'Courier New', courier, monaco, monospace, sans-serif;font-size:14pt&quot;&gt;&lt;div&gt;Aiieee thanks! the old &quot;can't see my own handwriting&quot; trick!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Now calls to DummyObject.someMethod:&lt;/div&gt;&lt;div&gt;&lt;div&gt;public class DummyObject&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;public int someMethod(int i, int my2ndarg)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;log like this:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;-7    [main] INFO  com.AjlibTest.DummyObject  - trace enter: int com.AjlibTest.DummyObject.someMethod(int, int) , this: com.AjlibTest.DummyObject@152544e, args: i = 5, my2ndarg = 9&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;with this adjustment to the logging aspect:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;    &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;Object
 arguments[] = joinPoint.getArgs();&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;    &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;CodeSignature codeSignature = (CodeSignature) joinPoint.getSignature();&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;    &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;String[] argNames = codeSignature.getParameterNames();&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;		&lt;/span&gt;logStr.append(&quot;, args: &quot;+arguments(argNames, arguments));&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;    }&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;    return logStr.toString();&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;
	&lt;/span&gt;protected String arguments(String[] argNames, Object[] arguments) {&lt;/div&gt;&lt;div&gt;        StringBuffer logStr = new StringBuffer();&lt;/div&gt;&lt;div&gt;        for (int i = 0; i &amp;lt; arguments.length; i++) {&lt;/div&gt;&lt;div&gt;            logStr.append((i&gt;0 ? &quot;, &quot;:&quot;&quot;)+ argNames[i] + &quot; = &quot; + traceString(arguments[i]));&lt;/div&gt;&lt;div&gt;        }&lt;/div&gt;&lt;div&gt;        return logStr.toString();&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt;	&lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;much thanks,&lt;/div&gt;&lt;div&gt;owen&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;font-family:Courier New, courier, monaco, monospace, sans-serif;font-size:14pt&quot;&gt;&lt;div style=&quot;font-family:arial, helvetica, sans-serif;font-size:13px&quot;&gt;&lt;font size=&quot;2&quot; face=&quot;Tahoma&quot;&gt;&lt;hr size=&quot;1&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;From:&lt;/span&gt;&lt;/b&gt; Ramnivas Laddad &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ramnivas@...&lt;/a&gt;&gt;&lt;br&gt;&lt;b&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;To:&lt;/span&gt;&lt;/b&gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;&lt;br&gt;&lt;b&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Sent:&lt;/span&gt;&lt;/b&gt; Saturday, November 15, 2008 2:42:55 PM&lt;br&gt;&lt;b&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Subject:&lt;/span&gt;&lt;/b&gt; Re: [aspectj-users] can arg names be accessed at a joinpoint?&lt;br&gt;&lt;/font&gt;&lt;br&gt;
It seems that it is all working correctly. Does your method is&lt;br&gt;declared as someMethod(int i)? Is so, the output seems to correctly&lt;br&gt;print &quot;i&quot;. You are getting &quot;arg 0&quot; part because you are printing &quot;arg&lt;br&gt;&quot;+i. Right?&lt;br&gt;&lt;br&gt;-Ramnivas&lt;br&gt;&lt;br&gt;On Sat, Nov 15, 2008 at 3:26 PM, Owen Corpening &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;owencorpening@...&lt;/a&gt;&gt; wrote:&lt;br&gt;&gt;&lt;br&gt;&gt; Lord have mercy, ever wish you could take back a posting? I corrected my code, same results, the two lines below should have read:&lt;br&gt;&gt; logStr.append(&quot;, args using CodeSignature: &quot;+arguments(argNames));&lt;br&gt;&gt; logStr.append(&quot;, args using getArgs: &quot;+arguments(getargs));&lt;br&gt;&gt; output is same&lt;br&gt;&gt; darnit all&lt;br&gt;&gt; owen&lt;br&gt;&gt; ________________________________&lt;br&gt;&gt; From: Owen Corpening &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;owencorpening@...&lt;/a&gt;&gt;&lt;br&gt;&gt; To: &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;&lt;br&gt;&gt; Sent: Saturday, November 15, 2008 2:00:05 PM&lt;br&gt;&gt; Subject: Re: [aspectj-users] can arg names be accessed at a joinpoint?&lt;br&gt;&gt;&lt;br&gt;&gt; I not only compile with -g, I am running within the eclipse debugger and I still get &quot;arg 0&quot;.&lt;br&gt;&gt; Plus doesn't thisJoinPoint.getArgs() do the same thing? Seems to, sorry I didn't read the aspectj src to confirm, I am downloading that today.&lt;br&gt;&gt;    if (joinPoint.getArgs() != null &amp;amp;&amp;amp; joinPoint.getArgs().length&gt;0) {&lt;br&gt;&gt;     Object getargs[] = joinPoint.getArgs();&lt;br&gt;&gt;     CodeSignature codeSignature = (CodeSignature) joinPoint.getSignature();&lt;br&gt;&gt;     String[] argNames = codeSignature.getParameterNames();&lt;br&gt;&gt; logStr.append(&quot;, args using CodeSignature: &quot;+arguments(argNames));&lt;br&gt;&gt; logStr.append(&quot;, args using getArgs: &quot;+arguments(argNames));&lt;br&gt;&gt;    }&lt;br&gt;&gt; return logStr.toString();&lt;br&gt;&gt;
 }&lt;br&gt;&gt; protected String arguments(Object[] arguments) {&lt;br&gt;&gt;         StringBuffer logStr = new StringBuffer();&lt;br&gt;&gt;         for (int i = 0; i &amp;lt; arguments.length; i++) {&lt;br&gt;&gt;             logStr.append((i&gt;0 ? &quot;, &quot;:&quot;&quot;)+ &quot;arg &quot;+i+&quot; = &quot;+traceString(arguments[i]));&lt;br&gt;&gt;         }&lt;br&gt;&gt;         return logStr.toString();&lt;br&gt;&gt; }&lt;br&gt;&gt; console output:&lt;br&gt;&gt; INFO  com.AjlibTest.DummyObject  - trace enter: int com.AjlibTest.DummyObject.someMethod(int) , this: com.AjlibTest.DummyObject@152544e, args using CodeSignature: arg 0 = i, args using getArgs: arg 0 = i&lt;br&gt;&gt; -3    [main]&lt;br&gt;&gt; owen&lt;br&gt;&gt; Ramnivas Laddad wrote:&lt;br&gt;&gt; If you compile your code using ajc or javac with -g (for binary weaving purpose), you will get the original argument names.&lt;br&gt;&gt; -Ramnivas&lt;br&gt;&gt;&lt;br&gt;&gt; On Fri, Nov 14, 2008 at 8:19 AM, rmahmood &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rashid_m180@...&lt;/a&gt;&gt; wrote:&lt;br&gt;&gt;&gt;&lt;br&gt;&gt;&gt; But
 this will give the argument names as saved in .class file, normally arg0,&lt;br&gt;&gt;&gt; arg1 etc.&lt;br&gt;&gt;&gt; not the original names as in source code.&lt;br&gt;&gt;&gt;&lt;br&gt;&gt;&gt; Is there any way to get original names as specified in source code?&lt;br&gt;&gt;&gt;&lt;br&gt;&gt;&gt;&lt;br&gt;&gt;&gt; Ramnivas Laddad wrote:&lt;br&gt;&gt;&gt; &gt;&lt;br&gt;&gt;&gt; &gt; You get get the associated CodeSignature object as follows:&lt;br&gt;&gt;&gt; &gt; CodeSignature codeSignature = (CodedSignature)&lt;br&gt;&gt;&gt; &gt; thisJoinPoint.getSignature();&lt;br&gt;&gt;&gt; &gt; String[] argNames = codeSignature.getParameterNames();&lt;br&gt;&gt;&gt; &gt;&lt;br&gt;&gt;&gt; &gt; -Ramnivas&lt;br&gt;&gt;&gt; &gt;&lt;br&gt;&gt;&gt; &gt; On Wed, Nov 12, 2008 at 10:48 PM, Owen Corpening&lt;br&gt;&gt;&gt; &gt; &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;owencorpening@...&lt;/a&gt;&gt;wrote:&lt;br&gt;&gt;&gt; &gt;&lt;br&gt;&gt;&gt; &gt;&gt; I am using a tracing aspect and it is printing the method arg values upon&lt;br&gt;&gt;&gt; &gt;&gt; entry, but without arg names:&lt;br&gt;&gt;&gt; &gt;&gt; trace enter: int com.AjlibTest.DummyObject.someMethod(int) , this:&lt;br&gt;&gt;&gt; &gt;&gt; com.AjlibTest.DummyObject@18941f7, args:
 arg 0 = 5&lt;br&gt;&gt;&gt; &gt;&gt;&lt;br&gt;&gt;&gt; &gt;&gt; using joinPoint.getArgs() - I can see in the debugger that the arg names&lt;br&gt;&gt;&gt; &gt;&gt; are not in the joinpoint - is there a way an aspect can capture that&lt;br&gt;&gt;&gt; &gt;&gt; info?&lt;br&gt;&gt;&gt; &gt;&gt;&lt;br&gt;&gt;&gt; &gt;&gt; Owen Corpening&lt;br&gt;&gt;&gt; &gt;&gt; 10911 Watchful Fox Drive&lt;br&gt;&gt;&gt; &gt;&gt; Austin, TX 78748&lt;br&gt;&gt;&gt; &gt;&gt;&lt;br&gt;&gt;&gt; &gt;&gt; 512 280-1753 Home&lt;br&gt;&gt;&gt; &gt;&gt; 512 634-5148 Office&lt;br&gt;&gt;&gt; &gt;&gt; 512 659-5300 Cell&lt;br&gt;&gt;&gt; &gt;&gt;&lt;br&gt;&gt;&gt; &gt;&gt;&lt;br&gt;&gt;&gt; &gt;&gt; _______________________________________________&lt;br&gt;&gt;&gt; &gt;&gt; aspectj-users mailing list&lt;br&gt;&gt;&gt; &gt;&gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;&lt;br&gt;&gt;&gt; &gt;&gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&gt;&gt; &gt;&gt;&lt;br&gt;&gt;&gt; &gt;&gt;&lt;br&gt;&gt;&gt; &gt;&lt;br&gt;&gt;&gt; &gt; _______________________________________________&lt;br&gt;&gt;&gt; &gt; aspectj-users mailing list&lt;br&gt;&gt;&gt; &gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;&lt;br&gt;&gt;&gt; &gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&gt;&gt; &gt;&lt;br&gt;&gt;&gt; &gt;&lt;br&gt;&gt;&gt;&lt;br&gt;&gt;&gt; --&lt;br&gt;&gt;&gt; View this message in context: &lt;a href=&quot;http://www.nabble.com/can-arg-names-be-accessed-at-a-joinpoint--tp20474387p20500385.html&quot; target=&quot;_blank&quot;&gt;http://www.nabble.com/can-arg-names-be-accessed-at-a-joinpoint--tp20474387p20500385.html&lt;/a&gt;&lt;br&gt;&gt;&gt; Sent from the AspectJ - users mailing list archive at &lt;a target=&quot;_blank&quot; href=&quot;http://Nabble.com&quot; rel=&quot;nofollow&quot;&gt;Nabble.com&lt;/a&gt;.&lt;br&gt;&gt;&gt;&lt;br&gt;&gt;&gt; _______________________________________________&lt;br&gt;&gt;&gt; aspectj-users mailing list&lt;br&gt;&gt;&gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;&lt;br&gt;&gt;&gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&gt;&lt;br&gt;&gt;&lt;br&gt;&gt;&lt;br&gt;&gt;&lt;br&gt;&gt; _______________________________________________&lt;br&gt;&gt; aspectj-users mailing list&lt;br&gt;&gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;&lt;br&gt;&gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&gt;&lt;br&gt;_______________________________________________&lt;br&gt;aspectj-users mailing list&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=11&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;position:fixed&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;

      &lt;/body&gt;&lt;/html&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20529119&amp;i=12&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/can-arg-names-be-accessed-at-a-joinpoint--tp20474387p20529119.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20527771</id>
	<title>set() pointcut for private fields</title>
	<published>2008-11-16T09:36:01Z</published>
	<updated>2008-11-16T09:36:01Z</updated>
	<author>
		<name>Jochen Wuttke-2</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I have the following class and aspect structure:
&lt;br&gt;&lt;br&gt;public abstract class A {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private List&amp;lt;?&amp;gt; list;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public getList() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( list == null ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; list = m(); //m() creates a new list implementation
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return list;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;public privileged aspect AA {
&lt;br&gt;&lt;br&gt;before(): set(* A.list) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //do something
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;Using load time weaving the assignment to list is not getting advised. &amp;nbsp;
&lt;br&gt;I tried different variants of the pointcut like set(* *.list), but &amp;nbsp;
&lt;br&gt;that doesn't help. The aspect gets registered an other advice/ 
&lt;br&gt;pointcuts of the aspect do work as expected, so what am I doing wrong &amp;nbsp;
&lt;br&gt;here?
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;Jochen
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20527771&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/set%28%29-pointcut-for-private-fields-tp20527771p20527771.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20519305</id>
	<title>Re: can arg names be accessed at a joinpoint?</title>
	<published>2008-11-15T12:42:55Z</published>
	<updated>2008-11-15T12:42:55Z</updated>
	<author>
		<name>Ramnivas Laddad</name>
	</author>
	<content type="html">It seems that it is all working correctly. Does your method is
&lt;br&gt;declared as someMethod(int i)? Is so, the output seems to correctly
&lt;br&gt;print &amp;quot;i&amp;quot;. You are getting &amp;quot;arg 0&amp;quot; part because you are printing &amp;quot;arg
&lt;br&gt;&amp;quot;+i. Right?
&lt;br&gt;&lt;br&gt;-Ramnivas
&lt;br&gt;&lt;br&gt;On Sat, Nov 15, 2008 at 3:26 PM, Owen Corpening &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20519305&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;owencorpening@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Lord have mercy, ever wish you could take back a posting? I corrected my code, same results, the two lines below should have read:
&lt;br&gt;&amp;gt; logStr.append(&amp;quot;, args using CodeSignature: &amp;quot;+arguments(argNames));
&lt;br&gt;&amp;gt; logStr.append(&amp;quot;, args using getArgs: &amp;quot;+arguments(getargs));
&lt;br&gt;&amp;gt; output is same
&lt;br&gt;&amp;gt; darnit all
&lt;br&gt;&amp;gt; owen
&lt;br&gt;&amp;gt; ________________________________
&lt;br&gt;&amp;gt; From: Owen Corpening &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20519305&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;owencorpening@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20519305&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Sent: Saturday, November 15, 2008 2:00:05 PM
&lt;br&gt;&amp;gt; Subject: Re: [aspectj-users] can arg names be accessed at a joinpoint?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I not only compile with -g, I am running within the eclipse debugger and I still get &amp;quot;arg 0&amp;quot;.
&lt;br&gt;&amp;gt; Plus doesn't thisJoinPoint.getArgs() do the same thing? Seems to, sorry I didn't read the aspectj src to confirm, I am downloading that today.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;if (joinPoint.getArgs() != null &amp;&amp; joinPoint.getArgs().length&amp;gt;0) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Object getargs[] = joinPoint.getArgs();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; CodeSignature codeSignature = (CodeSignature) joinPoint.getSignature();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; String[] argNames = codeSignature.getParameterNames();
&lt;br&gt;&amp;gt; logStr.append(&amp;quot;, args using CodeSignature: &amp;quot;+arguments(argNames));
&lt;br&gt;&amp;gt; logStr.append(&amp;quot;, args using getArgs: &amp;quot;+arguments(argNames));
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; return logStr.toString();
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; protected String arguments(Object[] arguments) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; StringBuffer logStr = new StringBuffer();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;lt; arguments.length; i++) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; logStr.append((i&amp;gt;0 ? &amp;quot;, &amp;quot;:&amp;quot;&amp;quot;)+ &amp;quot;arg &amp;quot;+i+&amp;quot; = &amp;quot;+traceString(arguments[i]));
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return logStr.toString();
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; console output:
&lt;br&gt;&amp;gt; INFO &amp;nbsp;com.AjlibTest.DummyObject &amp;nbsp;- trace enter: int com.AjlibTest.DummyObject.someMethod(int) , this: com.AjlibTest.DummyObject@152544e, args using CodeSignature: arg 0 = i, args using getArgs: arg 0 = i
&lt;br&gt;&amp;gt; -3 &amp;nbsp; &amp;nbsp;[main]
&lt;br&gt;&amp;gt; owen
&lt;br&gt;&amp;gt; Ramnivas Laddad wrote:
&lt;br&gt;&amp;gt; If you compile your code using ajc or javac with -g (for binary weaving purpose), you will get the original argument names.
&lt;br&gt;&amp;gt; -Ramnivas
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Fri, Nov 14, 2008 at 8:19 AM, rmahmood &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20519305&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rashid_m180@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; But this will give the argument names as saved in .class file, normally arg0,
&lt;br&gt;&amp;gt;&amp;gt; arg1 etc.
&lt;br&gt;&amp;gt;&amp;gt; not the original names as in source code.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Is there any way to get original names as specified in source code?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Ramnivas Laddad wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; You get get the associated CodeSignature object as follows:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; CodeSignature codeSignature = (CodedSignature)
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; thisJoinPoint.getSignature();
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; String[] argNames = codeSignature.getParameterNames();
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; -Ramnivas
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; On Wed, Nov 12, 2008 at 10:48 PM, Owen Corpening
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20519305&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;owencorpening@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; I am using a tracing aspect and it is printing the method arg values upon
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; entry, but without arg names:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; trace enter: int com.AjlibTest.DummyObject.someMethod(int) , this:
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; com.AjlibTest.DummyObject@18941f7, args: arg 0 = 5
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; using joinPoint.getArgs() - I can see in the debugger that the arg names
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; are not in the joinpoint - is there a way an aspect can capture that
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; info?
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Owen Corpening
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; 10911 Watchful Fox Drive
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; Austin, TX 78748
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; 512 280-1753 Home
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; 512 634-5148 Office
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; 512 659-5300 Cell
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20519305&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20519305&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt; View this message in context: &lt;a href=&quot;http://www.nabble.com/can-arg-names-be-accessed-at-a-joinpoint--tp20474387p20500385.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/can-arg-names-be-accessed-at-a-joinpoint--tp20474387p20500385.html&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; Sent from the AspectJ - users mailing list archive at Nabble.com.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20519305&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; aspectj-users mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20519305&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;/div&gt;_______________________________________________
&lt;br&gt;aspectj-users mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=20519305&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;aspectj-users@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/aspectj-users&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://dev.eclipse.org/mailman/listinfo/aspectj-users&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/can-arg-names-be-accessed-at-a-joinpoint--tp20474387p20519305.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-20519185</id>
	<title>Re: can arg names be accessed at a joinpoint?</title>
	<published>2008-11-15T12:26:12Z</published>
	<updated>2008-11-15T12:26:12Z</updated>
	<author>
		<name>Owen Corpening-2</name>
	</author>
	<content type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;div style=&quot;font-family:'Courier New', courier, monaco, monospace, sans-serif;font-size:14pt&quot;&gt;&lt;div&gt;Lord have m