Bug 215177 - [aspects] OSGiWeavingAdaptor.weaveClass() has to be adapted to the updated super class signature
Summary: [aspects] OSGiWeavingAdaptor.weaveClass() has to be adapted to the updated su...
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Incubator (show other bugs)
Version: 3.3.1   Edit
Hardware: PC Windows XP
: P3 blocker (vote)
Target Milestone: ---   Edit
Assignee: equinox.incubator-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: contributed
Depends on:
Blocks:
 
Reported: 2008-01-14 03:25 EST by Heiko Seeberger CLA
Modified: 2009-04-29 15:26 EDT (History)
1 user (show)

See Also:


Attachments
Suggested patch for this bug (2.26 KB, patch)
2008-01-14 03:34 EST, Heiko Seeberger CLA
mlippert: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Heiko Seeberger CLA 2008-01-14 03:25:56 EST
Build ID: M20071023-1652

Steps To Reproduce:
1. Look at AJDT 1.5.1 (AJ 1.5.4): Weaving.Adaptor.weaveClass() has a changed changed signature.
2. Take Equinox Aspects 1.0.4: OSGiWeavingAdaptor.weaveClass() still has the old signature and also makes a super call with the old signature => Compiler error!

More information:
I will provide a fix soon ...
Comment 1 Heiko Seeberger CLA 2008-01-14 03:34:23 EST
Created attachment 86804 [details]
Suggested patch for this bug

This patch affects two classes: OSGiWeavingAdaptor and WeavingService. I think that for OSGiWeavingAdaptor it works fine, but for WeavingService I am not quite sure.
Martin, could you please take a look?
Comment 2 Martin Lippert CLA 2008-01-14 07:40:51 EST
Thanks a lot for the patch. One question: Why is the default value for the new "mustWeave" parameter false in our case?

I am not sure what the best strategy is for this. I tend to ask the ApsectJ team to reintroduce the old method signature (for compatibility reasons) but that might take some time. We should definitely wait with a new release of equinox aspects until we have a new stable release of AJDT available (current state is rc, if I am right). But that means also to cut off users of Eclipse 3.2 or AJDT older than 1.5.1.

Comment 3 Martin Lippert CLA 2008-01-14 07:53:54 EST
To correct myself: current stable release version of AJDT is 1.5.1. This means we should go with the patch and have a new version of equinox aspects out soon, I think.
Comment 4 Heiko Seeberger CLA 2008-01-14 08:00:48 EST
>Why is the default value for the new "mustWeave" parameter false in our case?
That is a good question that also should be asked the AspectJ team.
Martin, could you please go for AspectJ team?

From the JavaDoc comment "@param mustWeave if true then this class *must* get
woven (used for concrete aspects generated from XML)" I guessed that "false" is
a good starting point. But I also left a comment in WeavingService (should also
add a //TODO) stating that this has to be revised.

For the version problem: Like AJDT we could also have different versions
targeting different Equinox/AJDT versions.
For example: 1.0.x for AJDT up to 1.5.0 (Europa release) and 1.1.x for AJDT
form 1.5.1.
Anyway we should go for 1.1 because of the caching service ...
What do you think?
Comment 5 Martin Lippert CLA 2008-01-14 08:22:40 EST
Regarding the version issue:

Lets update equinox aspects to work with AsjectJ 1.5.4 and AJDT 1.5.1 only, integrate a caching service (for non-IBM vms) and put a 1.1.0 release out.

People depending on AspectJ <= 1.5.3 and/or AJDT <= 1.5.0 could use equinox aspects 1.0.4.
Comment 6 Martin Lippert CLA 2008-01-15 15:01:22 EST
Patch applied to HEAD. Mark as fixed. HEAD development of equinox aspects now depends on the latest AJDT release (1.5.1).

I investigated the "false" parameter value and it seems to be correct.