What do your .classpath and .project files look like?  And what are
the errors you are seeing in your Eclipse project?

On Fri, Apr 22, 2011 at 1:18 PM, Matt Stine <[email protected]> wrote:
> OK, sometimes I should just wait until sending the email. ;-)
>
> Adding this to dependencies {} makes it work w/ "gradle build":
>
> aspects 'org.springframework.data:spring-data-neo4j:1.0.0.RELEASE'
>
> However, the generated project files for Eclipse and IDEA still don't
> seem to be happy.
>
> -Matt
>
> On Fri, Apr 22, 2011 at 2:53 PM, Matt Stine <[email protected]> wrote:
>> Hi all-
>>
>> I am trying to get a spike going w/ Spring Data Graph and Neo4J. SDG
>> uses AspectJ under the covers to enhance your persistent POJO's.
>> Pretty much all of the existing samples for SDG are Maven-centric, and
>> being the maverick that I am I am trying to use the Gradle AspectJ
>> plugin.
>>
>> Here's the build.gradle:
>> =================
>>
>> apply plugin: 'java'
>> apply plugin: 'idea'
>> apply from: 
>> 'https://github.com/breskeby/gradleplugins/raw/0.9-upgrade/aspectjPlugin/aspectJ.gradle'
>>
>> repositories {
>>  mavenCentral()
>>  mavenRepo urls: 'http://maven.springframework.org/milestone'
>>  mavenRepo urls: 'http://maven.springframework.org/release'
>>  mavenRepo urls: 'http://maven.springframework.org/snapshot'
>>  mavenRepo urls: 'http://m2.neo4j.org'
>>  mavenRepo urls: 'http://repository.jboss.com/maven2/'
>> }
>>
>> dependencies {
>>  ajc 'org.aspectj:aspectjtools:1.6.11.RELEASE'
>>  compile 'org.springframework.data:spring-data-neo4j:1.0.0.RELEASE',
>>          'org.aspectj:aspectjrt:1.6.11.RELEASE'
>> }
>>
>> ideaProject {
>>  javaVersion = '1.6'
>> }
>>
>> Here are the classes I'm trying to compile:
>> ===============================
>>
>> package org.stjude.sprdatagraphspike;
>>
>> import org.springframework.data.graph.annotation.NodeEntity;
>> import org.springframework.data.graph.annotation.RelatedTo;
>> import org.springframework.data.graph.core.Direction;
>> import org.springframework.data.graph.neo4j.annotation.Indexed;
>>
>> import java.util.Set;
>>
>> @NodeEntity
>> public class Person {
>>
>>    @Indexed
>>    private String name;
>>
>>    @RelatedTo(direction = Direction.BOTH, elementClass = Person.class)
>>    private Set<Person> friends;
>>
>>    public Person() {}
>>    public Person(String name) {
>>        this.name = name;
>>    }
>>
>>    private void knows(Person friend) { friends.add(friend); }
>> }
>>
>> package org.stjude.sprdatagraphspike;
>>
>> import org.springframework.context.ApplicationContext;
>> import org.springframework.context.support.ClassPathXmlApplicationContext;
>>
>> public class SpikeApp {
>>
>>    public static void main(String[] args) {
>>        ApplicationContext context = new
>> ClassPathXmlApplicationContext("application-context.xml");
>>
>>        Person jon = new Person("Jon").persist();
>>    }
>> }
>>
>> **** Note that the elementClass property of @RelatedTo will only
>> accept the type Class<? extends NodeBacked>. The application of
>> @NodeEntity to this class is supposed to add the NodeBacked interface
>> via AspectJ. It also adds the missing "persist" method that I'm
>> referencing in SpikeApp.main.
>>
>> Here's the output from gradle build:
>> =========================
>>
>> [~/Projects/spr-data-graph-spike] ➔ gradle build
>> :processResources
>> :compileJava
>> [ant:iajc] 
>> /Users/mstine/Projects/spr-data-graph-spike/src/main/java/org/stjude/sprdatagraphspike/Person.java:16
>> [error] Type mismatch: cannot convert from Class<Person> to Class<?
>> extends NodeBacked>
>> [ant:iajc] @RelatedTo(direction = Direction.BOTH, elementClass = 
>> Person.class)
>> [ant:iajc]                                                       ^^^^^^^
>> [ant:iajc] 
>> /Users/mstine/Projects/spr-data-graph-spike/src/main/java/org/stjude/sprdatagraphspike/SpikeApp.java:18
>> [error] The method persist() is undefined for the type Person
>> [ant:iajc] Person jon = new Person("Jon").persist();
>> [ant:iajc]
>> [ant:iajc]
>> [ant:iajc] 2 errors
>>
>> FAILURE: Build failed with an exception.
>>
>> **** As you can see, all of the things that I said are "supposed to
>> happen" aren't. Now I am able to get this to compile by using the
>> AspectJ compiler directly inside of IntelliJ. Interestingly enough,
>> when I generate Eclipse project files and pull this into SpringSource
>> Tool Suite, it doesn't seem to get the AspectJ stuff right and balks
>> at the same things the ajc compiler is balking at in Gradle.
>>
>> At any rate, has anyone had success with this or something similar?
>> I've done very little w/ AspectJ directly, so I'm not sure where to
>> go.
>>
>> Thanks!
>>
>> --
>> Matt Stine
>> Deep South Software: Training, Consulting, Coaching
>> http://www.deepsouthsoftware.com
>> [email protected]
>>
>
>
>
> --
> Matt Stine
> Deep South Software: Training, Consulting, Coaching
> http://www.deepsouthsoftware.com
> [email protected]
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to