Hello everyone I had no luck with this. I set up a small project to try it out: https://github.com/ractive/sdn-aspect I'd like to have the aspect "EnhancedPersonAspect" [1] use the method "persist()" that is introduced by the Neo4jNodeBacking [2] aspect from the Spring Data Neo4j lib, but the persist() method is not found. Any hints how to call the persist() method in the EnhancedPersonAspect?
[1] https://github.com/ractive/sdn-aspect/blob/master/src/main/java/com/example/aspect/domain/aspects/EnhancedPersonAspect.aj [2] https://github.com/SpringSource/spring-data-neo4j/blob/master/spring-data-neo4j-aspects/src/main/java/org/springframework/data/neo4j/aspects/support/node/Neo4jNodeBacking.aj Any ideas? Best regards, James 2011/12/22 Andy Clement <[email protected]> > Hi, > > That should work fine. You either have to compile everything together > (using ajc) or two stage compile, first the aspects that introduce the > method you want to access from the other aspect (e.g. foo) then the > aspects that use it. > > Let me know if you have trouble with it. > > cheers, > Andy > > On 22 December 2011 04:18, Jean-Pierre Bergamin <[email protected]> > wrote: > > Hello everyone > > > > Is it possible to use a method that gets introduced by static > crosscutting > > in one aspect in another aspect? > > > > Lets imagine an aspect Foo that introduces a method "void foo()". Can I > now > > use this method foo() in another aspect that introduces other methds with > > static crosscutting? > > > > public interface Foo { > > } > > > > public aspect FooAspect { > > public void Foo.foo() { > > // do something > > } > > } > > > > public aspect BarAspect { > > public void Bar.bar() { > > foo(); // How is it possible to call foo() here? > > } > > } > > > > public class MyEntity implements Foo { > > } > > > > MyEntity e = new MyEntity(); > > e.bar(); > > > > > > The background: > > We are using Spring Data Neo4j (a.k.a SDN). This framework provides an > > aspect which introduces some methods and fields in entities that are > > annotated with @NodeEntity. We now would like to create our own aspects > for > > our entities that in turn use the methods that are introduced by the SDN > > aspsect. > > We'd like to have somthing like: > > > > @NodeEntity > > @ModelAEntity > > public class FooEntity { > > } > > > > @NodeEntity > > @ModelAEntity > > @ModelBEntity > > public class BarEntity { > > } > > > > @NodeEntity > > @ModelBEntity > > @ModelCEntity > > public class BazEntity { > > } > > > > Where the Model(A|B|C)Entity aspects would introduce new methods that all > > need access to the methods introduced by @NodeEntity. Can this be > achieved > > somehow? > > > > > > Best regards, > > James > > > > _______________________________________________ > > aspectj-users mailing list > > [email protected] > > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users >
_______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
