Hello!
I ran into a similar problem.
My Main class is:
Code:
package neo4jSpringDataTestPackage;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Transaction;
import org.neo4j.kernel.EmbeddedGraphDatabase;
import org.springframework.data.neo4j.core.GraphDatabase;
import org.springframework.data.neo4j.support.DelegatingGraphDatabase;
import org.springframework.data.neo4j.support.Neo4jTemplate;
public class Main {
private static Neo4jTemplate template;
public static void main(String[] args) {
GraphDatabaseService gds = new EmbeddedGraphDatabase("testdb");
try {
GraphDatabase gd = new DelegatingGraphDatabase(gds);
template = new Neo4jTemplate(gd);
template.postConstruct();
Transaction tx = gds.beginTx();
try {
template.save(new Movie("1", "Test Movie"));
tx.success();
} finally {
tx.finish();
}
} finally {
gds.shutdown();
}
}
}
I use a simpler version of the Movie class from the example projects:
Code:
package neo4jSpringDataTestPackage;
import org.springframework.data.neo4j.annotation.*;
import org.springframework.data.neo4j.support.index.IndexType;
@NodeEntity
public class Movie {
@GraphId Long nodeId;
@Indexed
String id;
@Indexed(indexType=IndexType.FULLTEXT, indexName = "search")
String title;
public Movie() {
}
public Movie(String id, String title) {
this.id = id;
this.title = title;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Movie movie = (Movie) o;
if (nodeId == null) return super.equals(o);
return nodeId.equals(movie.nodeId);
}
@Override
public int hashCode() {
return nodeId != null ? nodeId.hashCode() : super.hashCode();
}
}
I get the following exception using both the *.2.0.1.RELEASE and the *.2.1.0.M1 jar files.
Code:
Exception in thread "main" java.lang.NullPointerException
at org.springframework.data.neo4j.support.mapping.SourceStateTransmitter.getTemplate(SourceStateTransmitter.java:82)
at org.springframework.data.neo4j.support.mapping.SourceStateTransmitter.copyPropertiesTo(SourceStateTransmitter.java:116)
at org.springframework.data.neo4j.support.mapping.Neo4jEntityConverterImpl.write(Neo4jEntityConverterImpl.java:149)
at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister$CachedConverter.write(Neo4jEntityPersister.java:176)
at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.persist(Neo4jEntityPersister.java:238)
at org.springframework.data.neo4j.support.mapping.Neo4jEntityPersister.persist(Neo4jEntityPersister.java:227)
at org.springframework.data.neo4j.support.Neo4jTemplate.save(Neo4jTemplate.java:295)
at neo4jSpringDataTestPackage.Main.main(Main.java:22)
How can I get round this problem?
Thanks,
szarnyasg