I am having problems with Eclipse 3.3 Europa and AJDT 1.5.0 (and 1.5.1 too). I have an Eclipse plugin with the following
aspect:
////////////////////////////////////////////////////////////
package com.mapfre.general.eclipse.extensions.model.observer;
import com.mapfre.general.eclipse.extensions.model.IModelData;
import java.util.Iterator;
public aspect PropertyChangeAspect extends PropertyChangeSource perthis(this(IModelData)) {
pointcut add(IModelData affected, Object newElement) : this(affected)
&& args(newElement)
&& execution(public * IModelData +.* ((Object +)));
pointcut touch(IModelData affected) : this(affected)
&& execution(public * IModelData +.touch());
after(IModelData affected, Object newElement) returning: add(affected, newElement) {
Iterator iter = listeners();
while (iter.hasNext()) {
PropertyChangeEvent event = new PropertyChangeEvent(null, newElement, PropertyChangeEvent.NONTOUCH_EVENT);
IPropertyChangeListener listener = (IPropertyChangeListener) iter.next();
listener.propertyChanged(event);
}
}
after(IModelData affected) returning: touch(affected) {
Iterator iter = listeners();
while (iter.hasNext()) {
PropertyChangeEvent event = new PropertyChangeEvent(null, null, PropertyChangeEvent.TOUCH_EVENT);
IPropertyChangeListener listener = (IPropertyChangeListener) iter.next();
listener.propertyChanged(event);
}
}
}
/////////////////////////////////////////////////////////////
whic extends the next class:
////////////////////////////////////////////////////////////
public class PropertyChangeSource {
Collection listeners = new ArrayList();
public void addListener(IPropertyChangeListener listener){
listeners.add(listener);
}
public void removeListener(IPropertyChangeListener listener){
listeners.remove(listener);
}
protected Iterator listeners() {
return listeners.iterator();
}
}
//////////////////////////////////////////////////////////
I get a NoAspectBoundException when i try this sentence:
PropertyChangeSource source = PropertyChangeAspect.aspectOf(model.getModelData());
This same code works perfectly in previous Eclipse versions such as Eclipse 3.2. I am using java 5.
Can anybody help me with this problem?
Thanks!!!
Sigue de cerca las últimas tendencias y lo que más rompe MSN Vídeo
|