diff --git a/src/main/java/org/springframework/persistence/graph/Direction.java b/src/main/java/org/springframework/datastore/graph/api/Direction.java similarity index 86% rename from src/main/java/org/springframework/persistence/graph/Direction.java rename to src/main/java/org/springframework/datastore/graph/api/Direction.java index 6d471955a..77d02d933 100644 --- a/src/main/java/org/springframework/persistence/graph/Direction.java +++ b/src/main/java/org/springframework/datastore/graph/api/Direction.java @@ -1,4 +1,4 @@ -package org.springframework.persistence.graph; +package org.springframework.datastore.graph.api; public enum Direction { diff --git a/src/main/java/org/springframework/datastore/graph/api/GraphEntity.java b/src/main/java/org/springframework/datastore/graph/api/GraphEntity.java new file mode 100644 index 000000000..b6eaeeca0 --- /dev/null +++ b/src/main/java/org/springframework/datastore/graph/api/GraphEntity.java @@ -0,0 +1,15 @@ +package org.springframework.datastore.graph.api; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author Michael Hunger + * @since 27.08.2010 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface GraphEntity { +} diff --git a/src/main/java/org/springframework/datastore/graph/api/GraphEntityRelationship.java b/src/main/java/org/springframework/datastore/graph/api/GraphEntityRelationship.java new file mode 100644 index 000000000..d27416e9a --- /dev/null +++ b/src/main/java/org/springframework/datastore/graph/api/GraphEntityRelationship.java @@ -0,0 +1,20 @@ +package org.springframework.datastore.graph.api; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author Michael Hunger + * @since 27.08.2010 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface GraphEntityRelationship { + String type(); + + Direction direction() default Direction.OUTGOING; + + Class elementClass() default NodeBacked.class; +} diff --git a/src/main/java/org/springframework/datastore/graph/api/GraphEntityRelationshipEntity.java b/src/main/java/org/springframework/datastore/graph/api/GraphEntityRelationshipEntity.java new file mode 100644 index 000000000..2bbe461fb --- /dev/null +++ b/src/main/java/org/springframework/datastore/graph/api/GraphEntityRelationshipEntity.java @@ -0,0 +1,20 @@ +package org.springframework.datastore.graph.api; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author Michael Hunger + * @since 27.08.2010 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface GraphEntityRelationshipEntity { + String type(); + + Direction direction() default Direction.OUTGOING; + + Class elementClass() default RelationshipBacked.class; +} diff --git a/src/main/java/org/springframework/persistence/graph/Graph.java b/src/main/java/org/springframework/datastore/graph/api/GraphInactive.java similarity index 85% rename from src/main/java/org/springframework/persistence/graph/Graph.java rename to src/main/java/org/springframework/datastore/graph/api/GraphInactive.java index f667b574a..213c0ca40 100644 --- a/src/main/java/org/springframework/persistence/graph/Graph.java +++ b/src/main/java/org/springframework/datastore/graph/api/GraphInactive.java @@ -1,16 +1,13 @@ -package org.springframework.persistence.graph; +package org.springframework.datastore.graph.api; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.springframework.persistence.graph.neo4j.NodeBacked; -import org.springframework.persistence.graph.neo4j.RelationshipBacked; - @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) -public @interface Graph { +public @interface GraphInactive { @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) diff --git a/src/main/java/org/springframework/datastore/graph/api/GraphRelationship.java b/src/main/java/org/springframework/datastore/graph/api/GraphRelationship.java new file mode 100644 index 000000000..0b73e3224 --- /dev/null +++ b/src/main/java/org/springframework/datastore/graph/api/GraphRelationship.java @@ -0,0 +1,15 @@ +package org.springframework.datastore.graph.api; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author Michael Hunger + * @since 27.08.2010 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface GraphRelationship { +} diff --git a/src/main/java/org/springframework/datastore/graph/api/GraphRelationshipEndNode.java b/src/main/java/org/springframework/datastore/graph/api/GraphRelationshipEndNode.java new file mode 100644 index 000000000..797cc01d9 --- /dev/null +++ b/src/main/java/org/springframework/datastore/graph/api/GraphRelationshipEndNode.java @@ -0,0 +1,15 @@ +package org.springframework.datastore.graph.api; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author Michael Hunger + * @since 27.08.2010 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface GraphRelationshipEndNode { +} diff --git a/src/main/java/org/springframework/datastore/graph/api/GraphRelationshipStartNode.java b/src/main/java/org/springframework/datastore/graph/api/GraphRelationshipStartNode.java new file mode 100644 index 000000000..b34c1a6f8 --- /dev/null +++ b/src/main/java/org/springframework/datastore/graph/api/GraphRelationshipStartNode.java @@ -0,0 +1,15 @@ +package org.springframework.datastore.graph.api; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author Michael Hunger + * @since 27.08.2010 + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.FIELD) +public @interface GraphRelationshipStartNode { +} diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/NodeBacked.java b/src/main/java/org/springframework/datastore/graph/api/NodeBacked.java similarity index 85% rename from src/main/java/org/springframework/persistence/graph/neo4j/NodeBacked.java rename to src/main/java/org/springframework/datastore/graph/api/NodeBacked.java index f17472dac..e5caa0625 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/NodeBacked.java +++ b/src/main/java/org/springframework/datastore/graph/api/NodeBacked.java @@ -1,4 +1,4 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.api; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/RelationshipBacked.java b/src/main/java/org/springframework/datastore/graph/api/RelationshipBacked.java similarity index 73% rename from src/main/java/org/springframework/persistence/graph/neo4j/RelationshipBacked.java rename to src/main/java/org/springframework/datastore/graph/api/RelationshipBacked.java index 58f159a13..85d563e9c 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/RelationshipBacked.java +++ b/src/main/java/org/springframework/datastore/graph/api/RelationshipBacked.java @@ -1,4 +1,4 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.api; import org.neo4j.graphdb.Relationship; diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/FieldAccessor.java b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/FieldAccessor.java similarity index 60% rename from src/main/java/org/springframework/persistence/graph/neo4j/FieldAccessor.java rename to src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/FieldAccessor.java index 8f39dc0d7..7def9d85b 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/FieldAccessor.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/FieldAccessor.java @@ -1,4 +1,6 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.fieldaccess; + +import org.springframework.datastore.graph.api.NodeBacked; public interface FieldAccessor { diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/FieldAccessorFactory.java b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/FieldAccessorFactory.java similarity index 76% rename from src/main/java/org/springframework/persistence/graph/neo4j/FieldAccessorFactory.java rename to src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/FieldAccessorFactory.java index 24660094d..a8e013e99 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/FieldAccessorFactory.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/FieldAccessorFactory.java @@ -1,4 +1,4 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.fieldaccess; import java.lang.reflect.Field; import java.util.Collection; @@ -7,7 +7,10 @@ import org.neo4j.graphdb.Direction; import org.neo4j.graphdb.DynamicRelationshipType; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; -import org.springframework.persistence.graph.Graph; +import org.springframework.datastore.graph.api.GraphEntityRelationship; +import org.springframework.datastore.graph.api.GraphEntityRelationshipEntity; +import org.springframework.datastore.graph.api.NodeBacked; +import org.springframework.datastore.graph.api.RelationshipBacked; import org.springframework.persistence.support.EntityInstantiator; public class FieldAccessorFactory { @@ -20,26 +23,26 @@ public class FieldAccessorFactory { } public FieldAccessor forField(Field field) { - Graph.Entity.Relationship relAnnotation = field.getAnnotation(Graph.Entity.Relationship.class); + GraphEntityRelationship relAnnotation = field.getAnnotation(GraphEntityRelationship.class); if (isSingleRelationshipField(field)) { Class relatedType = (Class) field.getType(); if (relAnnotation != null) { - return new SingleRelationshipFieldAccessor(DynamicRelationshipType.withName(relAnnotation.type()), + return new SingleRelationshipFieldAccessor(DynamicRelationshipType.withName(relAnnotation.type()), relAnnotation.direction().toNeo4jDir(), relatedType, graphEntityInstantiator); } return new SingleRelationshipFieldAccessor(DynamicRelationshipType.withName(getNeo4jPropertyName(field)), Direction.OUTGOING, relatedType, graphEntityInstantiator); } if (isOneToNRelationshipField(field)) { - return new OneToNRelationshipFieldAccessor(DynamicRelationshipType.withName(relAnnotation.type()), + return new OneToNRelationshipFieldAccessor(DynamicRelationshipType.withName(relAnnotation.type()), relAnnotation.direction().toNeo4jDir(), relAnnotation.elementClass(), graphEntityInstantiator); } if (isReadOnlyOneToNRelationshipField(field)) { - return new ReadOnlyOneToNRelationshipFieldAccessor(DynamicRelationshipType.withName(relAnnotation.type()), + return new ReadOnlyOneToNRelationshipFieldAccessor(DynamicRelationshipType.withName(relAnnotation.type()), relAnnotation.direction().toNeo4jDir(), relAnnotation.elementClass(), graphEntityInstantiator); } if (isOneToNRelationshipEntityField(field)) { - Graph.Entity.RelationshipEntity relEntityAnnotation = field.getAnnotation(Graph.Entity.RelationshipEntity.class); + GraphEntityRelationshipEntity relEntityAnnotation = field.getAnnotation(GraphEntityRelationshipEntity.class); return new OneToNRelationshipEntityFieldAccessor(DynamicRelationshipType.withName(relEntityAnnotation.type()), relEntityAnnotation.direction().toNeo4jDir(), relEntityAnnotation.elementClass(), relationshipEntityInstantiator); } @@ -52,19 +55,19 @@ public class FieldAccessorFactory { private static boolean isOneToNRelationshipField(Field f) { if (!Collection.class.isAssignableFrom(f.getType())) return false; - Graph.Entity.Relationship relAnnotation = f.getAnnotation(Graph.Entity.Relationship.class); + GraphEntityRelationship relAnnotation = f.getAnnotation(GraphEntityRelationship.class); return relAnnotation != null && NodeBacked.class.isAssignableFrom(relAnnotation.elementClass()) && !relAnnotation.elementClass().equals(NodeBacked.class); } private static boolean isReadOnlyOneToNRelationshipField(Field f) { - Graph.Entity.Relationship relAnnotation = f.getAnnotation(Graph.Entity.Relationship.class); + GraphEntityRelationship relAnnotation = f.getAnnotation(GraphEntityRelationship.class); return Iterable.class.equals(f.getType()) && relAnnotation != null && !NodeBacked.class.equals(relAnnotation.elementClass()); } private static boolean isOneToNRelationshipEntityField(Field f) { - Graph.Entity.RelationshipEntity relEntityAnnotation = f.getAnnotation(Graph.Entity.RelationshipEntity.class); + GraphEntityRelationshipEntity relEntityAnnotation = f.getAnnotation(GraphEntityRelationshipEntity.class); return Iterable.class.isAssignableFrom(f.getType()) && relEntityAnnotation != null && !RelationshipBacked.class.equals(relEntityAnnotation.elementClass()); diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/ManagedFieldAccessorSet.java b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/ManagedFieldAccessorSet.java similarity index 88% rename from src/main/java/org/springframework/persistence/graph/neo4j/ManagedFieldAccessorSet.java rename to src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/ManagedFieldAccessorSet.java index 56e880453..4abd67db5 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/ManagedFieldAccessorSet.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/ManagedFieldAccessorSet.java @@ -1,4 +1,6 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.fieldaccess; + +import org.springframework.datastore.graph.api.NodeBacked; import java.util.AbstractSet; import java.util.Iterator; diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/OneToNRelationshipEntityFieldAccessor.java b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/OneToNRelationshipEntityFieldAccessor.java similarity index 89% rename from src/main/java/org/springframework/persistence/graph/neo4j/OneToNRelationshipEntityFieldAccessor.java rename to src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/OneToNRelationshipEntityFieldAccessor.java index bf1bc7715..cabad71f9 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/OneToNRelationshipEntityFieldAccessor.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/OneToNRelationshipEntityFieldAccessor.java @@ -1,4 +1,4 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.fieldaccess; import java.util.HashSet; import java.util.Set; @@ -7,6 +7,8 @@ import org.neo4j.graphdb.Direction; import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.RelationshipType; import org.springframework.dao.InvalidDataAccessApiUsageException; +import org.springframework.datastore.graph.api.NodeBacked; +import org.springframework.datastore.graph.api.RelationshipBacked; import org.springframework.persistence.support.EntityInstantiator; public class OneToNRelationshipEntityFieldAccessor implements FieldAccessor { diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/OneToNRelationshipFieldAccessor.java b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/OneToNRelationshipFieldAccessor.java similarity index 95% rename from src/main/java/org/springframework/persistence/graph/neo4j/OneToNRelationshipFieldAccessor.java rename to src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/OneToNRelationshipFieldAccessor.java index b1fbdf81d..81bf1c579 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/OneToNRelationshipFieldAccessor.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/OneToNRelationshipFieldAccessor.java @@ -1,4 +1,4 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.fieldaccess; import java.util.HashSet; import java.util.Set; @@ -8,7 +8,7 @@ import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.RelationshipType; import org.springframework.dao.InvalidDataAccessApiUsageException; -import org.springframework.persistence.graph.neo4j.ManagedFieldAccessorSet; +import org.springframework.datastore.graph.api.NodeBacked; import org.springframework.persistence.support.EntityInstantiator; public class OneToNRelationshipFieldAccessor implements FieldAccessor { diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/ReadOnlyOneToNRelationshipFieldAccessor.java b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/ReadOnlyOneToNRelationshipFieldAccessor.java similarity index 92% rename from src/main/java/org/springframework/persistence/graph/neo4j/ReadOnlyOneToNRelationshipFieldAccessor.java rename to src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/ReadOnlyOneToNRelationshipFieldAccessor.java index 5ac687562..e65511c97 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/ReadOnlyOneToNRelationshipFieldAccessor.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/ReadOnlyOneToNRelationshipFieldAccessor.java @@ -1,4 +1,4 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.fieldaccess; import java.util.HashSet; import java.util.Set; @@ -8,6 +8,7 @@ import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.RelationshipType; import org.springframework.dao.InvalidDataAccessApiUsageException; +import org.springframework.datastore.graph.api.NodeBacked; import org.springframework.persistence.support.EntityInstantiator; public class ReadOnlyOneToNRelationshipFieldAccessor implements FieldAccessor { @@ -38,7 +39,7 @@ public class ReadOnlyOneToNRelationshipFieldAccessor implements FieldAccessor { for (Relationship rel : entityNode.getRelationships(type, direction)) { result.add(graphEntityInstantiator.createEntityFromState(rel.getOtherNode(entityNode), relatedType)); } - return new ManagedFieldAccessorSet(entity, result, this); + return new ManagedFieldAccessorSet(entity, result, this); } } diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/SingleRelationshipFieldAccessor.java b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/SingleRelationshipFieldAccessor.java similarity index 94% rename from src/main/java/org/springframework/persistence/graph/neo4j/SingleRelationshipFieldAccessor.java rename to src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/SingleRelationshipFieldAccessor.java index 5ecd241b6..236c9f2df 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/SingleRelationshipFieldAccessor.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/fieldaccess/SingleRelationshipFieldAccessor.java @@ -1,10 +1,11 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.fieldaccess; import org.neo4j.graphdb.Direction; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.RelationshipType; import org.springframework.dao.InvalidDataAccessApiUsageException; +import org.springframework.datastore.graph.api.NodeBacked; import org.springframework.persistence.support.EntityInstantiator; public class SingleRelationshipFieldAccessor implements FieldAccessor { diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/Finder.java b/src/main/java/org/springframework/datastore/graph/neo4j/finder/Finder.java similarity index 89% rename from src/main/java/org/springframework/persistence/graph/neo4j/Finder.java rename to src/main/java/org/springframework/datastore/graph/neo4j/finder/Finder.java index 0399867ac..93d3664ae 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/Finder.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/finder/Finder.java @@ -1,4 +1,4 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.finder; import java.util.ArrayList; import java.util.List; @@ -8,6 +8,8 @@ import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.NotFoundException; import org.neo4j.graphdb.Relationship; +import org.springframework.datastore.graph.neo4j.spi.node.Neo4jHelper; +import org.springframework.datastore.graph.api.NodeBacked; import org.springframework.persistence.support.EntityInstantiator; public class Finder { diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/FinderFactory.java b/src/main/java/org/springframework/datastore/graph/neo4j/finder/FinderFactory.java similarity index 85% rename from src/main/java/org/springframework/persistence/graph/neo4j/FinderFactory.java rename to src/main/java/org/springframework/datastore/graph/neo4j/finder/FinderFactory.java index 1fba0d40b..2633ab3ec 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/FinderFactory.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/finder/FinderFactory.java @@ -1,7 +1,8 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.finder; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; +import org.springframework.datastore.graph.api.NodeBacked; import org.springframework.persistence.support.EntityInstantiator; public class FinderFactory { diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManager.java b/src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jEntityManager.java similarity index 97% rename from src/main/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManager.java rename to src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jEntityManager.java index 2b6db26a1..bde4c13b8 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManager.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jEntityManager.java @@ -1,11 +1,11 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.jpa; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; import org.neo4j.kernel.EmbeddedGraphDatabase; +import org.springframework.datastore.graph.api.NodeBacked; import org.springframework.persistence.support.EntityInstantiator; -import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.persistence.*; diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManagerFactory.java b/src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jEntityManagerFactory.java similarity index 91% rename from src/main/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManagerFactory.java rename to src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jEntityManagerFactory.java index 19f7d1741..76b0694dd 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManagerFactory.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jEntityManagerFactory.java @@ -1,8 +1,8 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.jpa; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; -import org.springframework.beans.factory.annotation.Configurable; +import org.springframework.datastore.graph.api.NodeBacked; import org.springframework.persistence.support.EntityInstantiator; import javax.annotation.Resource; diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jEntityTransaction.java b/src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jEntityTransaction.java similarity index 97% rename from src/main/java/org/springframework/persistence/graph/neo4j/Neo4jEntityTransaction.java rename to src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jEntityTransaction.java index 5de5ca3a1..35477d838 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jEntityTransaction.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jEntityTransaction.java @@ -1,4 +1,4 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.jpa; import javax.persistence.EntityTransaction; import javax.transaction.*; diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jJpaDialect.java b/src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jJpaDialect.java similarity index 97% rename from src/main/java/org/springframework/persistence/graph/neo4j/Neo4jJpaDialect.java rename to src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jJpaDialect.java index 04977cbba..cb845372c 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jJpaDialect.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jJpaDialect.java @@ -1,4 +1,4 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.jpa; import org.springframework.dao.DataAccessException; import org.springframework.jdbc.datasource.ConnectionHandle; diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jPersistenceProvider.java b/src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jPersistenceProvider.java similarity index 90% rename from src/main/java/org/springframework/persistence/graph/neo4j/Neo4jPersistenceProvider.java rename to src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jPersistenceProvider.java index b7797c3eb..752ce62b2 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jPersistenceProvider.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jPersistenceProvider.java @@ -1,7 +1,8 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.jpa; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; +import org.springframework.datastore.graph.api.NodeBacked; import org.springframework.persistence.support.EntityInstantiator; import javax.annotation.Resource; diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jConstructorGraphEntityInstantiator.java b/src/main/java/org/springframework/datastore/graph/neo4j/spi/node/Neo4jConstructorGraphEntityInstantiator.java similarity index 78% rename from src/main/java/org/springframework/persistence/graph/neo4j/Neo4jConstructorGraphEntityInstantiator.java rename to src/main/java/org/springframework/datastore/graph/neo4j/spi/node/Neo4jConstructorGraphEntityInstantiator.java index 23a4e5e4c..1c13fa87d 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jConstructorGraphEntityInstantiator.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/spi/node/Neo4jConstructorGraphEntityInstantiator.java @@ -1,6 +1,7 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.spi.node; import org.neo4j.graphdb.Node; +import org.springframework.datastore.graph.api.NodeBacked; import org.springframework.persistence.support.AbstractConstructorEntityInstantiator; /** diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jHelper.java b/src/main/java/org/springframework/datastore/graph/neo4j/spi/node/Neo4jHelper.java similarity index 90% rename from src/main/java/org/springframework/persistence/graph/neo4j/Neo4jHelper.java rename to src/main/java/org/springframework/datastore/graph/neo4j/spi/node/Neo4jHelper.java index e1d016c04..1ad914960 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jHelper.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/spi/node/Neo4jHelper.java @@ -1,4 +1,4 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.spi.node; import org.neo4j.graphdb.DynamicRelationshipType; import org.neo4j.graphdb.GraphDatabaseService; @@ -6,6 +6,7 @@ import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.RelationshipType; import org.neo4j.util.GraphDatabaseUtil; +import org.springframework.datastore.graph.api.NodeBacked; public abstract class Neo4jHelper { diff --git a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jNodeBacking.aj b/src/main/java/org/springframework/datastore/graph/neo4j/spi/node/Neo4jNodeBacking.aj similarity index 92% rename from src/main/java/org/springframework/persistence/graph/neo4j/Neo4jNodeBacking.aj rename to src/main/java/org/springframework/datastore/graph/neo4j/spi/node/Neo4jNodeBacking.aj index 7b5b09e15..bee5b0435 100644 --- a/src/main/java/org/springframework/persistence/graph/neo4j/Neo4jNodeBacking.aj +++ b/src/main/java/org/springframework/datastore/graph/neo4j/spi/node/Neo4jNodeBacking.aj @@ -1,15 +1,8 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.spi.node; import java.lang.reflect.Field; -import java.util.AbstractSet; -import java.util.Collection; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; import org.aspectj.lang.reflect.FieldSignature; -import org.neo4j.graphdb.Direction; -import org.neo4j.graphdb.DynamicRelationshipType; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.NotInTransactionException; @@ -17,9 +10,13 @@ import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.RelationshipType; import org.neo4j.util.GraphDatabaseUtil; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.dao.InvalidDataAccessResourceUsageException; -import org.springframework.persistence.graph.Graph; +import org.springframework.datastore.graph.api.NodeBacked; +import org.springframework.datastore.graph.api.RelationshipBacked; + +import org.springframework.datastore.graph.api.GraphEntity; +import org.springframework.datastore.graph.neo4j.fieldaccess.FieldAccessor; +import org.springframework.datastore.graph.neo4j.fieldaccess.FieldAccessorFactory; import org.springframework.persistence.support.AbstractTypeAnnotatingMixinFields; import org.springframework.persistence.support.EntityInstantiator; @@ -30,7 +27,7 @@ import org.springframework.persistence.support.EntityInstantiator; * * @author Rod Johnson */ -public aspect Neo4jNodeBacking extends AbstractTypeAnnotatingMixinFields { +public aspect Neo4jNodeBacking extends AbstractTypeAnnotatingMixinFields { //------------------------------------------------------------------------- // Configure aspect for whole system. @@ -60,8 +57,8 @@ public aspect Neo4jNodeBacking extends AbstractTypeAnnotatingMixinFields { +public aspect Neo4jRelationshipBacking extends AbstractTypeAnnotatingMixinFields { //------------------------------------------------------------------------- // Configure aspect for whole system. @@ -138,11 +126,11 @@ public aspect Neo4jRelationshipBacking extends AbstractTypeAnnotatingMixinFields } private boolean isEndNodeField(Field f) { - return f.isAnnotationPresent(Graph.Relationship.EndNode.class); + return f.isAnnotationPresent(GraphRelationshipEndNode.class); } private boolean isStartNodeField(Field f) { - return f.isAnnotationPresent(Graph.Relationship.StartNode.class); + return f.isAnnotationPresent(GraphRelationshipStartNode.class); } private boolean isPropertyType(Class fieldType) { diff --git a/src/main/java/org/springframework/datastore/graph/neo4j/Neo4jConnectionFactory.java b/src/main/java/org/springframework/datastore/graph/neo4j/support/Neo4jConnectionFactory.java similarity index 96% rename from src/main/java/org/springframework/datastore/graph/neo4j/Neo4jConnectionFactory.java rename to src/main/java/org/springframework/datastore/graph/neo4j/support/Neo4jConnectionFactory.java index d37dc67fc..9fac2d6cb 100644 --- a/src/main/java/org/springframework/datastore/graph/neo4j/Neo4jConnectionFactory.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/support/Neo4jConnectionFactory.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.datastore.graph.neo4j; +package org.springframework.datastore.graph.neo4j.support; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/src/main/java/org/springframework/datastore/graph/neo4j/Neo4jDatastoreTemplate.java b/src/main/java/org/springframework/datastore/graph/neo4j/support/Neo4jDatastoreTemplate.java similarity index 95% rename from src/main/java/org/springframework/datastore/graph/neo4j/Neo4jDatastoreTemplate.java rename to src/main/java/org/springframework/datastore/graph/neo4j/support/Neo4jDatastoreTemplate.java index 2bec5b5f4..8180d413d 100644 --- a/src/main/java/org/springframework/datastore/graph/neo4j/Neo4jDatastoreTemplate.java +++ b/src/main/java/org/springframework/datastore/graph/neo4j/support/Neo4jDatastoreTemplate.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.datastore.graph.neo4j; +package org.springframework.datastore.graph.neo4j.support; import java.util.List; diff --git a/src/test/java/org/springframework/persistence/test/Friendship.java b/src/test/java/org/springframework/datastore/graph/neo4j/Friendship.java similarity index 64% rename from src/test/java/org/springframework/persistence/test/Friendship.java rename to src/test/java/org/springframework/datastore/graph/neo4j/Friendship.java index 0efcb1873..f90a75c0e 100644 --- a/src/test/java/org/springframework/persistence/test/Friendship.java +++ b/src/test/java/org/springframework/datastore/graph/neo4j/Friendship.java @@ -1,8 +1,11 @@ -package org.springframework.persistence.test; +package org.springframework.datastore.graph.neo4j; -import org.springframework.persistence.graph.Graph; -@Graph.Relationship +import org.springframework.datastore.graph.api.GraphRelationship; +import org.springframework.datastore.graph.api.GraphRelationshipEndNode; +import org.springframework.datastore.graph.api.GraphRelationshipStartNode; + +@GraphRelationship public class Friendship { public Friendship() { @@ -19,10 +22,10 @@ public class Friendship { this.years = years; } - @Graph.Relationship.StartNode + @GraphRelationshipStartNode private Person p1; - @Graph.Relationship.EndNode + @GraphRelationshipEndNode private Person p2; private int years; diff --git a/src/test/java/org/springframework/persistence/test/Group.java b/src/test/java/org/springframework/datastore/graph/neo4j/Group.java similarity index 54% rename from src/test/java/org/springframework/persistence/test/Group.java rename to src/test/java/org/springframework/datastore/graph/neo4j/Group.java index 20b2c6282..ea36dc1dc 100644 --- a/src/test/java/org/springframework/persistence/test/Group.java +++ b/src/test/java/org/springframework/datastore/graph/neo4j/Group.java @@ -1,18 +1,18 @@ -package org.springframework.persistence.test; +package org.springframework.datastore.graph.neo4j; -import org.springframework.persistence.graph.Direction; -import org.springframework.persistence.graph.Graph; +import org.springframework.datastore.graph.api.Direction; +import org.springframework.datastore.graph.api.GraphEntity; +import org.springframework.datastore.graph.api.GraphEntityRelationship; import java.util.Collection; -import java.util.HashSet; -@Graph.Entity +@GraphEntity public class Group { - @Graph.Entity.Relationship(type = "persons", direction = Direction.OUTGOING, elementClass = Person.class) + @GraphEntityRelationship(type = "persons", direction = Direction.OUTGOING, elementClass = Person.class) private Collection persons; - @Graph.Entity.Relationship(type = "persons", elementClass = Person.class) + @GraphEntityRelationship(type = "persons", elementClass = Person.class) private Iterable readOnlyPersons; public void setPersons(Collection persons) { diff --git a/src/test/java/org/springframework/persistence/test/Person.java b/src/test/java/org/springframework/datastore/graph/neo4j/Person.java similarity index 71% rename from src/test/java/org/springframework/persistence/test/Person.java rename to src/test/java/org/springframework/datastore/graph/neo4j/Person.java index 6fd6a8528..5a42b4257 100644 --- a/src/test/java/org/springframework/persistence/test/Person.java +++ b/src/test/java/org/springframework/datastore/graph/neo4j/Person.java @@ -1,11 +1,14 @@ -package org.springframework.persistence.test; +package org.springframework.datastore.graph.neo4j; import org.neo4j.graphdb.DynamicRelationshipType; import org.neo4j.graphdb.Relationship; -import org.springframework.persistence.graph.Direction; -import org.springframework.persistence.graph.Graph; +import org.springframework.datastore.graph.api.Direction; +import org.springframework.datastore.graph.api.GraphEntity; +import org.springframework.datastore.graph.api.GraphEntityRelationship; +import org.springframework.datastore.graph.api.GraphEntityRelationshipEntity; -@Graph.Entity + +@GraphEntity public class Person { private Long id; @@ -18,13 +21,13 @@ public class Person { private Person spouse; - @Graph.Entity.Relationship(type = "mother", direction = Direction.OUTGOING) + @GraphEntityRelationship(type = "mother", direction = Direction.OUTGOING) private Person mother; - @Graph.Entity.Relationship(type = "boss", direction = Direction.INCOMING) + @GraphEntityRelationship(type = "boss", direction = Direction.INCOMING) private Person boss; - @Graph.Entity.RelationshipEntity(type = "knows", elementClass = Friendship.class) + @GraphEntityRelationshipEntity(type = "knows", elementClass = Friendship.class) private Iterable friendships; // @Property(serialize=SerializationPolicy.STRING, index=true, queryable=true, removeOnReset=true) diff --git a/src/test/java/org/springframework/persistence/test/Person_Graph_Entity.aj b/src/test/java/org/springframework/datastore/graph/neo4j/Person_Graph_Entity.aj similarity index 89% rename from src/test/java/org/springframework/persistence/test/Person_Graph_Entity.aj rename to src/test/java/org/springframework/datastore/graph/neo4j/Person_Graph_Entity.aj index 750cfb318..5ce4190c0 100644 --- a/src/test/java/org/springframework/persistence/test/Person_Graph_Entity.aj +++ b/src/test/java/org/springframework/datastore/graph/neo4j/Person_Graph_Entity.aj @@ -1,4 +1,4 @@ -package org.springframework.persistence.test; +package org.springframework.datastore.graph.neo4j; import java.util.ArrayList; import java.util.List; @@ -9,7 +9,7 @@ import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Configurable; -import org.springframework.persistence.graph.neo4j.Neo4jHelper; +import org.springframework.datastore.graph.neo4j.spi.node.Neo4jHelper; /** * EXAMPLE OF CODE THAT SHOULD BE GENERATED BY ROO BESIDES EACH GRAPHENTITY CLASS @@ -23,7 +23,7 @@ privileged aspect Person_Graph_Entity { // TODO should be a better way of getting this? Could at least pull out gdsholder class private static GraphDatabaseService graphDatabaseService() { - return new GdsHolder().gds; + return new Person_Graph_Entity.GdsHolder().gds; } @Configurable @@ -48,7 +48,7 @@ privileged aspect Person_Graph_Entity { Node subrefNode = Neo4jHelper.findSubreferenceNode(Person.class, graphDatabaseService()); // TODO Neo4j should add lazy list on top of graph List people = new ArrayList((int) countPeople()); - for (Relationship rel : subrefNode.getRelationships(Neo4jHelper.INSTANCE_OF_RELATIONSHIP_TYPE, Direction.INCOMING)) { + for (Relationship rel : subrefNode.getRelationships(Neo4jHelper.INSTANCE_OF_RELATIONSHIP_TYPE, org.neo4j.graphdb.Direction.INCOMING)) { Node personNode = rel.getStartNode(); people.add(new Person(personNode)); } diff --git a/src/test/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManagerTest.java b/src/test/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jEntityManagerTest.java similarity index 92% rename from src/test/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManagerTest.java rename to src/test/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jEntityManagerTest.java index 303fe38bf..3958d32ea 100644 --- a/src/test/java/org/springframework/persistence/graph/neo4j/Neo4jEntityManagerTest.java +++ b/src/test/java/org/springframework/datastore/graph/neo4j/jpa/Neo4jEntityManagerTest.java @@ -1,4 +1,4 @@ -package org.springframework.persistence.graph.neo4j; +package org.springframework.datastore.graph.neo4j.jpa; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -18,7 +18,8 @@ import org.junit.runner.RunWith; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.springframework.dao.InvalidDataAccessApiUsageException; -import org.springframework.persistence.test.Person; +import org.springframework.datastore.graph.neo4j.Person; +import org.springframework.datastore.graph.neo4j.spi.node.Neo4jHelper; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.transaction.annotation.Transactional; @@ -28,10 +29,9 @@ import org.springframework.transaction.annotation.Transactional; * @since 20.08.2010 */ @RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = {"classpath:org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest-context.xml"}) +@ContextConfiguration(locations = {"classpath:org/springframework/datastore/graph/neo4j/spi/Neo4jGraphPersistenceTest-context.xml"}) @Transactional public class Neo4jEntityManagerTest { - private static GraphDatabaseService gds; @Resource GraphDatabaseService graphDatabaseService; @PersistenceContext(unitName="neo4j-persistence") @@ -45,13 +45,8 @@ public class Neo4jEntityManagerTest { Neo4jHelper.cleanDb(graphDatabaseService); node = graphDatabaseService.createNode(); person = new Person(node); - gds=graphDatabaseService; } - @AfterClass - public static void shutdownDb() { - gds.shutdown(); - } @Test public void testPersist() throws Exception { entityManager.persist(person); diff --git a/src/test/java/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest.java b/src/test/java/org/springframework/datastore/graph/neo4j/spi/Neo4jGraphPersistenceTest.java similarity index 92% rename from src/test/java/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest.java rename to src/test/java/org/springframework/datastore/graph/neo4j/spi/Neo4jGraphPersistenceTest.java index 3d2c8f8d7..2738ea66e 100644 --- a/src/test/java/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest.java +++ b/src/test/java/org/springframework/datastore/graph/neo4j/spi/Neo4jGraphPersistenceTest.java @@ -1,48 +1,37 @@ -package org.springframework.persistence.test.graph; +package org.springframework.datastore.graph.neo4j.spi; import junit.framework.Assert; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.AfterClass; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; -import org.neo4j.graphdb.Direction; -import org.neo4j.graphdb.DynamicRelationshipType; -import org.neo4j.graphdb.GraphDatabaseService; -import org.neo4j.graphdb.Node; -import org.neo4j.graphdb.Relationship; -import org.neo4j.graphdb.Transaction; +import org.neo4j.graphdb.*; import org.neo4j.helpers.collection.IteratorUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.dao.InvalidDataAccessResourceUsageException; -import org.springframework.persistence.graph.neo4j.Finder; -import org.springframework.persistence.graph.neo4j.FinderFactory; -import org.springframework.persistence.graph.neo4j.Neo4jHelper; -import org.springframework.persistence.graph.neo4j.NodeBacked; +import org.springframework.datastore.graph.api.NodeBacked; +import org.springframework.datastore.graph.neo4j.Friendship; +import org.springframework.datastore.graph.neo4j.Group; +import org.springframework.datastore.graph.neo4j.Person; +import org.springframework.datastore.graph.neo4j.finder.Finder; +import org.springframework.datastore.graph.neo4j.finder.FinderFactory; +import org.springframework.datastore.graph.neo4j.spi.node.Neo4jHelper; import org.springframework.persistence.support.EntityInstantiator; -import org.springframework.persistence.test.Friendship; -import org.springframework.persistence.test.Group; -import org.springframework.persistence.test.Person; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.Set; - +import java.util.*; +//@Ignore @RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration +@ContextConfiguration(locations = {"classpath:org/springframework/datastore/graph/neo4j/spi/Neo4jGraphPersistenceTest-context.xml"}) public class Neo4jGraphPersistenceTest { - private static GraphDatabaseService gds; - protected final Log log = LogFactory.getLog(getClass()); @Autowired @@ -64,11 +53,6 @@ public class Neo4jGraphPersistenceTest { @Transactional public void cleanDb() { Neo4jHelper.cleanDb(graphDatabaseService); - gds=graphDatabaseService; - } - @AfterClass - public static void shutdownDb() { - gds.shutdown(); } @Test diff --git a/src/test/resources/META-INF/persistence.xml b/src/test/resources/META-INF/persistence.xml index 3c50f0d48..4a5564961 100644 --- a/src/test/resources/META-INF/persistence.xml +++ b/src/test/resources/META-INF/persistence.xml @@ -2,7 +2,7 @@ - org.springframework.persistence.graph.neo4j.Neo4jPersistenceProvider + org.springframework.datastore.graph.neo4j.jpa.Neo4jPersistenceProvider diff --git a/src/test/resources/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest-context.xml b/src/test/resources/org/springframework/datastore/graph/neo4j/spi/Neo4jGraphPersistenceTest-context.xml similarity index 87% rename from src/test/resources/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest-context.xml rename to src/test/resources/org/springframework/datastore/graph/neo4j/spi/Neo4jGraphPersistenceTest-context.xml index 41ad377b5..c6d2a5994 100644 --- a/src/test/resources/org/springframework/persistence/test/graph/Neo4jGraphPersistenceTest-context.xml +++ b/src/test/resources/org/springframework/datastore/graph/neo4j/spi/Neo4jGraphPersistenceTest-context.xml @@ -59,7 +59,7 @@ The most commonly used annotation is @Autowired, which instructs Spring to dependency inject an object into your class. --> - + @@ -69,27 +69,27 @@ Start datastore config --> - + - + + destroy-method="shutdown" scope="singleton"> - + - + - + @@ -128,10 +128,10 @@ - + - +