From 264e7825da0c94dec03f7c699817ba24e5f62128 Mon Sep 17 00:00:00 2001 From: Michael Hunger Date: Mon, 24 Feb 2014 10:15:27 +0100 Subject: [PATCH] DATAGRAPH-388 Support for Labels * make base-package mandatory * fix tests --- pom.xml | 2 +- .../data/neo4j/config/BasePackageScanner.java | 4 +- .../Neo4jAuditingBeanDefinitionParser.java | 2 +- .../neo4j/conversion/DefaultConverter.java | 1 + .../data/neo4j/mapping/RelationshipInfo.java | 8 +- .../data/neo4j/support/Neo4jTemplate.java | 2 +- .../support/mapping/Neo4jMappingContext.java | 27 ++++- .../support/schema/SchemaIndexProvider.java | 112 +----------------- .../BiDirectionalMappingTests.java | 2 +- ...BiDirectionalRelatedToViaMappingTests.java | 2 +- ...dToViaWithCollectionFetchMappingTests.java | 2 +- ...latedToViaWithSingleFetchMappingTests.java | 2 +- .../DataGraphNamespaceHandlerTests.java | 2 +- ...RepositoriesRegistrarIntegrationTests.java | 9 +- ...estedNeo4jRepositoriesJavaConfigTests.java | 10 +- ...dNeo4jRepositoriesNamspaceConfigTests.java | 2 +- .../neo4j/config/{ => model}/TestEntity.java | 2 +- .../QueryMapResultConverterTests.java | 8 +- .../data/neo4j/equality/EqualityTests.java | 4 + .../PropertyTypeConversionTests.java | 5 + .../model}/InvalidMappingTests.java | 2 +- .../unique}/InvalidClub.java | 2 +- .../unique}/InvalidClubRepository.java | 3 +- .../unique/InvalidUniqueEntityTests.java | 48 ++++++++ .../lifecycle/AfterDeleteEventTests.java | 4 + .../neo4j/lifecycle/AfterSaveEventTests.java | 3 + .../lifecycle/BeforeDeleteEventTests.java | 3 + .../neo4j/lifecycle/BeforeSaveEventTests.java | 3 + .../neo4j/lifecycle/DeleteEventTests.java | 5 +- .../data/neo4j/lifecycle/SaveEventTests.java | 5 + .../mapping/Neo4jPersistentTestBase.java | 26 +++- .../Neo4jMappingContextTests.java | 3 +- .../Neo4jEntityConverterTests.java | 8 +- .../Neo4jEntityPersisterTests.java | 10 +- .../Neo4jPersistentEntityTests.java | 5 +- .../AbstractNodeEntityRepository.java | 2 +- .../BeingRepository.java | 3 +- .../ClassWithNestedRepository.java | 2 +- .../FriendshipRepository.java | 3 +- .../GroupRepository.java | 4 +- .../PersonRepository.java | 3 +- .../PersonRepositoryFriendship.java | 2 +- .../PersonRepositoryImpl.java | 2 +- ...edeclaringRepositoryMethodsRepository.java | 3 +- .../UserRepository.java | 4 +- ...stractEntityBasedGraphRepositoryTests.java | 2 + .../repository/CypherDslRepositoryTests.java | 4 +- .../neo4j/repository/DerivedFinderTests.java | 4 + .../repository/GraphRepositoryTests.java | 12 +- .../repository/NoIndexDerivedFinderTests.java | 2 + .../RedeclaringRepositoryMethodsTests.java | 4 +- .../SerializableEntityRepositoryTests.java | 3 + ...SerializableGraphQueryRepositoryTests.java | 3 + .../SpatialGraphRepositoryTests.java | 6 +- ...ParameterisedByArrayOfSimpleTypeTests.java | 7 +- .../cypher/InParameterisedByDateTests.java | 6 +- .../cypher/InParameterisedByEnumTests.java | 7 +- .../InParameterisedBySimpleTypeTests.java | 6 +- .../query/cypher/ParameterisedInTests.java | 6 +- .../data/neo4j/unique/UniqueEntityTests.java | 12 +- .../neo4j/unique/UniqueRelationshipTests.java | 6 + .../resources/DocumentingTests-context.xml | 4 +- .../resources/invalid-unique-test-context.xml | 24 ++++ ...NamespaceHandlerTests-entities-context.xml | 4 +- ...ndlerTests-nested-repositories-context.xml | 6 +- .../data/neo4j/config/auditing-bean.xml | 2 +- .../data/neo4j/config/auditing.xml | 2 +- .../inheritance/InheritanceTests-context.xml | 4 +- ...ntityBasedGraphRepositoryTests-context.xml | 6 +- .../GraphRepositoryTests-context.xml | 6 +- ...ializableEntityRepositoryTests-context.xml | 6 +- ...zableGraphQueryRepositoryTests-context.xml | 6 +- ...rMethodForIndexedBasedTRSTests-context.xml | 4 +- ...derMethodForLabelBasedTRSTests-context.xml | 4 +- .../resources/related-to-test-context.xml | 2 +- .../resources/related-to-via-test-context.xml | 4 +- ...ontext-with-type-safety-returning-null.xml | 4 +- ...xt-with-type-safety-throwing-exception.xml | 4 +- .../resources/template-config-context.xml | 4 +- .../test/resources/unique-test-context.xml | 4 +- 80 files changed, 339 insertions(+), 217 deletions(-) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/{bidirectional => }/BiDirectionalMappingTests.java (96%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/{bidirectional => }/BiDirectionalRelatedToViaMappingTests.java (97%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/{bidirectional => }/BiDirectionalRelatedToViaWithCollectionFetchMappingTests.java (97%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/{bidirectional => }/BiDirectionalRelatedToViaWithSingleFetchMappingTests.java (97%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/{ => model}/TestEntity.java (93%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{mapping/invalid => invalid/model}/InvalidMappingTests.java (96%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{unique/domain => invalid/unique}/InvalidClub.java (95%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{unique/repository => invalid/unique}/InvalidClubRepository.java (87%) create mode 100644 spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/unique/InvalidUniqueEntityTests.java rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/{ => context}/Neo4jMappingContextTests.java (94%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/{ => converter}/Neo4jEntityConverterTests.java (96%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/{ => persist}/Neo4jEntityPersisterTests.java (88%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/{ => persist}/Neo4jPersistentEntityTests.java (92%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{repository => repositories}/AbstractNodeEntityRepository.java (87%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{repository => repositories}/BeingRepository.java (86%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{repository => repositories}/ClassWithNestedRepository.java (84%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{repository => repositories}/FriendshipRepository.java (86%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{repository => repositories}/GroupRepository.java (84%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{repository => repositories}/PersonRepository.java (97%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{repository => repositories}/PersonRepositoryFriendship.java (94%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{repository => repositories}/PersonRepositoryImpl.java (95%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{repository => repositories}/RedeclaringRepositoryMethodsRepository.java (92%) rename spring-data-neo4j/src/test/java/org/springframework/data/neo4j/{repository => repositories}/UserRepository.java (89%) create mode 100644 spring-data-neo4j/src/test/resources/invalid-unique-test-context.xml diff --git a/pom.xml b/pom.xml index 43a261171..670fa4ef6 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ multi spring-data-neo4j - 1.7.0.RC1 + 1.7.0.BUILD-SNAPSHOT 1.7 diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/BasePackageScanner.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/BasePackageScanner.java index 400d87769..0fb738adb 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/BasePackageScanner.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/BasePackageScanner.java @@ -24,6 +24,8 @@ public class BasePackageScanner { public static Set scanBasePackages(String...basePackages) { ClassPathScanningCandidateComponentProvider componentProvider = new ClassPathScanningCandidateComponentProvider(false); componentProvider.addIncludeFilter(new AnnotationTypeFilter(Persistent.class)); + componentProvider.addIncludeFilter(new AnnotationTypeFilter(NodeEntity.class)); + componentProvider.addIncludeFilter(new AnnotationTypeFilter(RelationshipEntity.class)); Set classes = new ManagedSet(); for (String basePackage : basePackages) { @@ -35,7 +37,7 @@ public class BasePackageScanner { return classes; } - static Set> scanBasePackageForClasses(String...basePackages) throws ClassNotFoundException { + public static Set> scanBasePackageForClasses(String...basePackages) throws ClassNotFoundException { Set> classes = new HashSet<>(); for (String basePackage : basePackages) { for (String className : scanBasePackage(basePackage)){ diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/Neo4jAuditingBeanDefinitionParser.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/Neo4jAuditingBeanDefinitionParser.java index 8c6c0c855..ce32c1b93 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/Neo4jAuditingBeanDefinitionParser.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/Neo4jAuditingBeanDefinitionParser.java @@ -80,7 +80,7 @@ public class Neo4jAuditingBeanDefinitionParser extends AbstractSingleBeanDefinit return ctxRef; } - return "neo4jMappingContext"; + return MAPPING_CONTEXT; } private String createIsNewStrategyFactoryBeanDefinition(String mappingContextRef, ParserContext context, diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/conversion/DefaultConverter.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/conversion/DefaultConverter.java index 1a878e392..0c0ddc9db 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/conversion/DefaultConverter.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/conversion/DefaultConverter.java @@ -36,6 +36,7 @@ public class DefaultConverter implements ResultConverter { return convert(value,type, null); } public R convert(Object value, Class type, MappingPolicy mappingPolicy) { + if (type == null) return (R) value; if (value == null || type.isInstance(value)) return (R) value; Object singleValue = extractValue(value); if (singleValue == null || type.isInstance(singleValue)) return (R) singleValue; diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/mapping/RelationshipInfo.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/mapping/RelationshipInfo.java index 438572592..59f4f9f62 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/mapping/RelationshipInfo.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/mapping/RelationshipInfo.java @@ -79,7 +79,9 @@ public class RelationshipInfo { annotation.elementClass() != Object.class ? ClassTypeInformation.from(annotation.elementClass()) : null, ctx ); - if (relationshipInfo.isRelatedToVia()) throw new MappingException("Relationship field with NodeEntity "+relationshipInfo.getTargetEntity().getType()+" annotated with @RelatedTo"); + if (relationshipInfo.isRelatedToVia()) { + throw new MappingException("Relationship field with NodeEntity "+relationshipInfo.getTargetEntity().getType()+" annotated with @RelatedTo"); + } return relationshipInfo; } @@ -100,7 +102,9 @@ public class RelationshipInfo { if (!annotation.type().isEmpty()) return annotation.type(); final TypeInformation relationshipEntityType = elementClass(annotation, typeInformation); final RelationshipEntity relationshipEntity = relationshipEntityType.getType().getAnnotation(RelationshipEntity.class); - if (relationshipEntity==null) throw new MappingException(typeInformation.getType()+" is no RelationshipEntity"); + if (relationshipEntity==null) { + throw new MappingException(typeInformation.getType()+" is no RelationshipEntity"); + } if (relationshipEntity.type()==null || relationshipEntity.type().isEmpty()) { throw new MappingException("Relationship entity must have a default type"); } diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/Neo4jTemplate.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/Neo4jTemplate.java index f1ff16715..cac47c94d 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/Neo4jTemplate.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/Neo4jTemplate.java @@ -269,7 +269,7 @@ public class Neo4jTemplate implements Neo4jOperations, ApplicationContextAware { final Node node = createNode(properties); if (isNodeEntity(target)) { final StoredEntityType entityType = getEntityType(target); - infrastructure.getTypeRepresentationStrategies().writeTypeTo(node, entityType); + if (entityType!=null) infrastructure.getTypeRepresentationStrategies().writeTypeTo(node, entityType); } return convert(node, target); } diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/mapping/Neo4jMappingContext.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/mapping/Neo4jMappingContext.java index 115a00175..f38eb7201 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/mapping/Neo4jMappingContext.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/mapping/Neo4jMappingContext.java @@ -16,7 +16,10 @@ package org.springframework.data.neo4j.support.mapping; +import org.neo4j.graphdb.Node; import org.neo4j.graphdb.PropertyContainer; +import org.neo4j.graphdb.Relationship; +import org.neo4j.index.lucene.ValueContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.annotation.Reference; @@ -29,6 +32,7 @@ import org.springframework.data.neo4j.annotation.RelationshipEntity; import org.springframework.data.neo4j.mapping.InvalidEntityTypeException; import org.springframework.data.neo4j.mapping.Neo4jPersistentEntity; import org.springframework.data.neo4j.mapping.Neo4jPersistentProperty; +import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.TypeInformation; import java.beans.PropertyDescriptor; @@ -70,7 +74,7 @@ public class Neo4jMappingContext extends AbstractMappingContext entity, Collection> superTypeEntities) { entity.updateStoredType(new StoredEntityType(entity, superTypeEntities, entityAlias)); - entityIndexCreator.ensureEntityIndexes(entity); + if (entityIndexCreator!=null) entityIndexCreator.ensureEntityIndexes(entity); } private List> addSuperTypes(Neo4jPersistentEntity entity) { @@ -134,7 +138,9 @@ public class Neo4jMappingContext extends AbstractMappingContext persistentEntity = getPersistentEntity(type); + return persistentEntity==null ? null : persistentEntity.getEntityType(); } @Override @@ -146,6 +152,7 @@ public class Neo4jMappingContext extends AbstractMappingContext,Class> annotationCheckCache = new IdentityHashMap, Class>(); public boolean isNodeEntity(Class type) { + if (Node.class.isAssignableFrom(type)) return true; if (!annotationCheckCache.containsKey(type)) cacheType(type); return checkAnnotationType(type,NodeEntity.class); } @@ -162,6 +169,22 @@ public class Neo4jMappingContext extends AbstractMappingContext typeInformation) { + boolean result = super.shouldCreatePersistentEntityFor(typeInformation); + if (!result) return result; + if (typeInformation.isCollectionLike()) return false; + Class type = typeInformation.getType(); + if (type.isEnum() || type.isArray() || type.equals(Node.class) || type.equals(Relationship.class) || type.equals(ValueContext.class)) { + return false; + } + String packageName = type.getPackage().getName(); + if (packageName.startsWith("java")) { + return false; + } + return true; + } + private boolean checkAnnotationType(Class type, Class annotation) { final Class marker = annotationCheckCache.get(type); return marker==annotation; diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/schema/SchemaIndexProvider.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/schema/SchemaIndexProvider.java index 993b114b1..57c704568 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/schema/SchemaIndexProvider.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/schema/SchemaIndexProvider.java @@ -3,22 +3,14 @@ package org.springframework.data.neo4j.support.schema; import org.neo4j.graphdb.Transaction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.neo4j.graphdb.event.TransactionData; -import org.neo4j.graphdb.event.TransactionEventHandler; -import org.springframework.data.mapping.model.MappingException; import org.springframework.data.neo4j.annotation.QueryType; import org.springframework.data.neo4j.conversion.EndResult; import org.springframework.data.neo4j.core.GraphDatabase; import org.springframework.data.neo4j.mapping.IndexInfo; import org.springframework.data.neo4j.mapping.Neo4jPersistentEntity; import org.springframework.data.neo4j.mapping.Neo4jPersistentProperty; -import org.springframework.data.neo4j.support.DelegatingGraphDatabase; import org.springframework.data.neo4j.support.query.QueryEngine; -import java.util.Queue; -import java.util.concurrent.*; - -import static java.lang.String.format; import static org.neo4j.helpers.collection.MapUtil.map; /** @@ -30,33 +22,17 @@ public class SchemaIndexProvider { private final QueryEngine cypher; private static final Logger logger = LoggerFactory.getLogger(SchemaIndexProvider.class); - private final IndexCreator indexCreator; public SchemaIndexProvider(GraphDatabase gd) { this.gd = gd; - indexCreator = setupIndexCreator(); cypher = gd.queryEngineFor(QueryType.Cypher); } - private IndexCreator setupIndexCreator() { -// if (this.gd instanceof DelegatingGraphDatabase) { -// TransactionalHandler handler = new TransactionalHandler(); -// ((DelegatingGraphDatabase)this.gd).getGraphDatabaseService().registerTransactionEventHandler(handler); -// return handler; -// } else { -// return new SeparateThreadIndexCreator(); -// } - return new InlineCreator(); - } - public void createIndex(Neo4jPersistentProperty property) { - indexCreator.deferCreateIndex(property); - } - public void doCreateIndex(Neo4jPersistentProperty property) { String label = getLabel(property); String prop = getName(property); String query = indexQuery(label, prop, property.getIndexInfo().isUnique()); - System.err.println(query); + if (logger.isInfoEnabled()) logger.info(query); cypher.query(query, null); } @@ -100,90 +76,4 @@ public class SchemaIndexProvider { interface IndexCreator { void deferCreateIndex(Neo4jPersistentProperty property); } - - private class TransactionalHandler extends TransactionEventHandler.Adapter implements IndexCreator { - Queue indexesToBeCreated=new ArrayBlockingQueue<>(10); - - @Override - public void afterCommit(TransactionData data, Object state) { - runAfterTransaction(); - } - - private void runAfterTransaction() { - while (gd.transactionIsRunning()) { - try { - Thread.sleep(1); - } catch (InterruptedException e) { } - } - if (gd.transactionIsRunning()) return; - if (indexesToBeCreated.isEmpty()) return; - try (Transaction tx = gd.beginTx()) { - while (!indexesToBeCreated.isEmpty()) { - Neo4jPersistentProperty property = indexesToBeCreated.poll(); - doCreateIndex(property); - } - tx.success(); - } - } - - @Override - public void afterRollback(TransactionData data, Object state) { - runAfterTransaction(); - } - - @Override - public void deferCreateIndex(Neo4jPersistentProperty property) { - indexesToBeCreated.add(property); - } - } - - private class InlineCreator implements IndexCreator { - - @Override - public void deferCreateIndex(Neo4jPersistentProperty property) { - doCreateIndex(property); - } - } - private class SeparateThreadIndexCreator implements IndexCreator { - private final ExecutorService pool = Executors.newFixedThreadPool(1); - @Override - public void deferCreateIndex(final Neo4jPersistentProperty property) { - /* 1) NW-ISSUE01 - If we don't do this in a separate tx we get the following - error depending on certain circumstances .... : - "org.neo4j.cypher.CypherExecutionException: Cannot perform - schema updates in a transaction that has performed data updates." - - HOWEVER, even doing this does not necessarily work in all cases as - often it appears that there have been some previous updates in the - original calling thread, which itself took out some locks and then - essentially blocks this code from ever completing ... As a temp - measure introducing a timeout to catch this case rather than letting - it just hang forever (see LabelBasedIndexedPropertyHangingEntityTests) - - TODO: Look at an alternative approach / way to ensure these schema - updates are the first things done - this is not very efficient - as it stands anyway - */ - - try { - pool.submit(new Callable() { - @Override - public Boolean call() throws Exception { - doCreateIndex(property); - return true; - } - }).get(2, TimeUnit.SECONDS); - } catch (TimeoutException e) { - throw new MappingException(format( - "Timeour occured trying to create schema index %s on against label %s: " + - "This may well be an indicator that another thread (the one which just " + - "initiated this update), has probably got a lock of " + - "this node and this timeout is because its in a deadlock situation and" + - " cant acquire it - investigation required", getName(property), getLabel(property)),e); - } catch (Exception e) { - throw new MappingException(format("Unable to create schema index %s on against label %s", getName(property), getLabel(property)),e); - } - } - } } diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/bidirectional/BiDirectionalMappingTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/BiDirectionalMappingTests.java similarity index 96% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/bidirectional/BiDirectionalMappingTests.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/BiDirectionalMappingTests.java index c54fbad7d..4d20ed780 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/bidirectional/BiDirectionalMappingTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/BiDirectionalMappingTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.annotation.relatedto.bidirectional; +package org.springframework.data.neo4j.annotation.relatedto; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/bidirectional/BiDirectionalRelatedToViaMappingTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/BiDirectionalRelatedToViaMappingTests.java similarity index 97% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/bidirectional/BiDirectionalRelatedToViaMappingTests.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/BiDirectionalRelatedToViaMappingTests.java index cc1956d09..a19a91dbc 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/bidirectional/BiDirectionalRelatedToViaMappingTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/BiDirectionalRelatedToViaMappingTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.annotation.relatedto.bidirectional; +package org.springframework.data.neo4j.annotation.relatedto; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/bidirectional/BiDirectionalRelatedToViaWithCollectionFetchMappingTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/BiDirectionalRelatedToViaWithCollectionFetchMappingTests.java similarity index 97% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/bidirectional/BiDirectionalRelatedToViaWithCollectionFetchMappingTests.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/BiDirectionalRelatedToViaWithCollectionFetchMappingTests.java index f22958d4a..16e00290c 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/bidirectional/BiDirectionalRelatedToViaWithCollectionFetchMappingTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/BiDirectionalRelatedToViaWithCollectionFetchMappingTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.annotation.relatedto.bidirectional; +package org.springframework.data.neo4j.annotation.relatedto; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/bidirectional/BiDirectionalRelatedToViaWithSingleFetchMappingTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/BiDirectionalRelatedToViaWithSingleFetchMappingTests.java similarity index 97% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/bidirectional/BiDirectionalRelatedToViaWithSingleFetchMappingTests.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/BiDirectionalRelatedToViaWithSingleFetchMappingTests.java index 24ddb1e32..9406623a7 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/bidirectional/BiDirectionalRelatedToViaWithSingleFetchMappingTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/annotation/relatedto/BiDirectionalRelatedToViaWithSingleFetchMappingTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.annotation.relatedto.bidirectional; +package org.springframework.data.neo4j.annotation.relatedto; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTests.java index 20ef1034a..7e5f7f0c1 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTests.java @@ -28,13 +28,13 @@ import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.TypeDescriptor; import org.springframework.core.convert.converter.GenericConverter; +import org.springframework.data.neo4j.config.model.TestEntity; import org.springframework.data.neo4j.model.PersonRepository; import org.springframework.data.neo4j.support.Neo4jTemplate; import org.springframework.data.neo4j.support.mapping.Neo4jMappingContext; import org.springframework.data.neo4j.support.mapping.Neo4jPersistentEntityImpl; import org.springframework.transaction.PlatformTransactionManager; -import java.io.File; import java.util.Collection; import java.util.Collections; import java.util.Set; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/Neo4jRepositoriesRegistrarIntegrationTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/Neo4jRepositoriesRegistrarIntegrationTests.java index 7ba823050..6172ad758 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/Neo4jRepositoriesRegistrarIntegrationTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/Neo4jRepositoriesRegistrarIntegrationTests.java @@ -22,7 +22,7 @@ import org.neo4j.test.TestGraphDatabaseFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.data.neo4j.repository.PersonRepository; +import org.springframework.data.neo4j.repositories.PersonRepository; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -36,10 +36,13 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; public class Neo4jRepositoriesRegistrarIntegrationTests { @Configuration - @EnableNeo4jRepositories(basePackages = "org.springframework.data.neo4j.repository") + @EnableNeo4jRepositories(basePackages = "org.springframework.data.neo4j.repositories") static class Config extends Neo4jConfiguration { + Config() throws ClassNotFoundException { + setBasePackage("org.springframework.data.neo4j.model"); + } - @Bean + @Bean public GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); } diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/NestedNeo4jRepositoriesJavaConfigTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/NestedNeo4jRepositoriesJavaConfigTests.java index 299eceec5..2d6d807fd 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/NestedNeo4jRepositoriesJavaConfigTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/NestedNeo4jRepositoriesJavaConfigTests.java @@ -25,8 +25,9 @@ import org.neo4j.test.TestGraphDatabaseFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.data.neo4j.repository.ClassWithNestedRepository.NestedUserRepository; -import org.springframework.data.neo4j.repository.PersonRepository; +import org.springframework.data.neo4j.model.Person; +import org.springframework.data.neo4j.repositories.ClassWithNestedRepository.NestedUserRepository; +import org.springframework.data.neo4j.repositories.PersonRepository; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -42,8 +43,11 @@ public class NestedNeo4jRepositoriesJavaConfigTests { @Configuration @EnableNeo4jRepositories(basePackageClasses = PersonRepository.class, considerNestedRepositories = true) static class Config extends Neo4jConfiguration { + Config() throws ClassNotFoundException { + setBasePackage(Person.class.getPackage().getName()); + } - @Bean + @Bean public GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); } diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/NestedNeo4jRepositoriesNamspaceConfigTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/NestedNeo4jRepositoriesNamspaceConfigTests.java index 772e79fd3..7b3e581fb 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/NestedNeo4jRepositoriesNamspaceConfigTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/NestedNeo4jRepositoriesNamspaceConfigTests.java @@ -21,7 +21,7 @@ import static org.junit.Assert.*; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.neo4j.repository.ClassWithNestedRepository.NestedUserRepository; +import org.springframework.data.neo4j.repositories.ClassWithNestedRepository.NestedUserRepository; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/TestEntity.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/model/TestEntity.java similarity index 93% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/TestEntity.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/model/TestEntity.java index e388531e3..01d580ca7 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/TestEntity.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/model/TestEntity.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.data.neo4j.config; +package org.springframework.data.neo4j.config.model; import org.springframework.data.neo4j.annotation.GraphId; import org.springframework.data.neo4j.annotation.NodeEntity; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/conversion/QueryMapResultConverterTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/conversion/QueryMapResultConverterTests.java index fadb91d38..07a718ca8 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/conversion/QueryMapResultConverterTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/conversion/QueryMapResultConverterTests.java @@ -22,6 +22,7 @@ import org.springframework.data.neo4j.mapping.Neo4jPersistentTestBase; import org.springframework.data.neo4j.model.Friendship; import org.springframework.data.neo4j.model.Person; import org.springframework.data.neo4j.support.conversion.NoSuchColumnFoundException; +import org.springframework.data.neo4j.support.mapping.Neo4jMappingContext; import java.util.HashMap; import java.util.HashSet; @@ -63,6 +64,11 @@ public class QueryMapResultConverterTests extends Neo4jPersistentTestBase { Iterable getFriendNames(); } + @Override + protected void setBasePackage(Neo4jMappingContext mappingContext) throws ClassNotFoundException { + super.setBasePackage(mappingContext,Person.class.getPackage().getName()); + } + @Before public void init() throws Exception { storeInGraph( michael ); @@ -151,4 +157,4 @@ public class QueryMapResultConverterTests extends Neo4jPersistentTestBase { private QueryMapResultConverter getConverter() { return new QueryMapResultConverter( template ); } -} \ No newline at end of file +} diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/equality/EqualityTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/equality/EqualityTests.java index db2d5d7cc..db3a4481b 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/equality/EqualityTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/equality/EqualityTests.java @@ -114,6 +114,10 @@ public class EqualityTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + TestConfig() throws ClassNotFoundException { + setBasePackage("org.springframework.data.neo4j.equality"); + } + @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/fieldaccess/PropertyTypeConversionTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/fieldaccess/PropertyTypeConversionTests.java index 70abbfc37..b4b69e574 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/fieldaccess/PropertyTypeConversionTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/fieldaccess/PropertyTypeConversionTests.java @@ -79,6 +79,11 @@ public class PropertyTypeConversionTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + + TestConfig() throws ClassNotFoundException { + setBasePackage(EntityWithCustomTypeProperty.class.getPackage().getName()); + } + @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/invalid/InvalidMappingTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/model/InvalidMappingTests.java similarity index 96% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/invalid/InvalidMappingTests.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/model/InvalidMappingTests.java index 34ba4fbf3..55c0ef604 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/invalid/InvalidMappingTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/model/InvalidMappingTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.mapping.invalid; +package org.springframework.data.neo4j.invalid.model; import org.junit.Test; import org.springframework.data.mapping.context.MappingContext; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/domain/InvalidClub.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/unique/InvalidClub.java similarity index 95% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/domain/InvalidClub.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/unique/InvalidClub.java index eb718a9e6..43e5448e6 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/domain/InvalidClub.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/unique/InvalidClub.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.unique.domain; +package org.springframework.data.neo4j.invalid.unique; import org.springframework.data.neo4j.annotation.GraphId; import org.springframework.data.neo4j.annotation.Indexed; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/repository/InvalidClubRepository.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/unique/InvalidClubRepository.java similarity index 87% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/repository/InvalidClubRepository.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/unique/InvalidClubRepository.java index ead803f0b..a1cba1e21 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/repository/InvalidClubRepository.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/unique/InvalidClubRepository.java @@ -13,11 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.unique.repository; +package org.springframework.data.neo4j.invalid.unique; import org.springframework.data.neo4j.repository.GraphRepository; import org.springframework.data.neo4j.repository.NamedIndexRepository; -import org.springframework.data.neo4j.unique.domain.InvalidClub; public interface InvalidClubRepository extends GraphRepository, NamedIndexRepository { diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/unique/InvalidUniqueEntityTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/unique/InvalidUniqueEntityTests.java new file mode 100644 index 000000000..6b005a6d9 --- /dev/null +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/invalid/unique/InvalidUniqueEntityTests.java @@ -0,0 +1,48 @@ +/** + * Copyright 2011 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.data.neo4j.invalid.unique; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.neo4j.graphdb.GraphDatabaseService; +import org.springframework.beans.factory.BeanCreationException; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.dao.DataIntegrityViolationException; +import org.springframework.data.mapping.model.MappingException; +import org.springframework.data.neo4j.unique.domain.Club; +import org.springframework.data.neo4j.unique.domain.UniqueClub; +import org.springframework.data.neo4j.unique.domain.UniqueNumericIdClub; +import org.springframework.data.neo4j.unique.repository.ClubRepository; +import org.springframework.data.neo4j.unique.repository.UniqueClubRepository; +import org.springframework.data.neo4j.unique.repository.UniqueNumericIdClubRepository; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.transaction.annotation.Transactional; + +import static org.junit.Assert.assertEquals; + +public class InvalidUniqueEntityTests { + + @Test(expected = BeanCreationException.class) + public void shouldThrowExceptionWhenMultipleUniqueSpecified() { + ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:invalid-unique-test-context.xml"); + InvalidClubRepository invalidClubRepository = ctx.getBean(InvalidClubRepository.class); + InvalidClub club = new InvalidClub(); + invalidClubRepository.save(club); + } +} diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/AfterDeleteEventTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/AfterDeleteEventTests.java index 38bb9680d..d1034459f 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/AfterDeleteEventTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/AfterDeleteEventTests.java @@ -48,6 +48,10 @@ public class AfterDeleteEventTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + TestConfig() throws ClassNotFoundException { + setBasePackage(Program.class.getPackage().getName()); + } + @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/AfterSaveEventTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/AfterSaveEventTests.java index 9253db3e2..7b976411f 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/AfterSaveEventTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/AfterSaveEventTests.java @@ -51,6 +51,9 @@ public class AfterSaveEventTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + TestConfig() throws ClassNotFoundException { + setBasePackage(Bar.class.getPackage().getName()); + } @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/BeforeDeleteEventTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/BeforeDeleteEventTests.java index ab55e7bc6..b22809b01 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/BeforeDeleteEventTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/BeforeDeleteEventTests.java @@ -50,6 +50,9 @@ public class BeforeDeleteEventTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + TestConfig() throws ClassNotFoundException { + setBasePackage(Program.class.getPackage().getName()); + } @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/BeforeSaveEventTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/BeforeSaveEventTests.java index 298e57786..f12b85edd 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/BeforeSaveEventTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/BeforeSaveEventTests.java @@ -51,6 +51,9 @@ public class BeforeSaveEventTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + TestConfig() throws ClassNotFoundException { + setBasePackage(Foo.class.getPackage().getName()); + } @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/DeleteEventTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/DeleteEventTests.java index 682a929f6..9e2e7e66c 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/DeleteEventTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/DeleteEventTests.java @@ -68,6 +68,9 @@ public class DeleteEventTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + TestConfig() throws ClassNotFoundException { + setBasePackage(DeprecatedProgram.class.getPackage().getName()); + } @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); @@ -110,4 +113,4 @@ public class DeleteEventTests { assertThat(deletions, hasItem(sark)); } -} \ No newline at end of file +} diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/SaveEventTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/SaveEventTests.java index ad87d09c4..7cc44506b 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/SaveEventTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/lifecycle/SaveEventTests.java @@ -176,6 +176,11 @@ public class SaveEventTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + + public TestConfig() throws ClassNotFoundException { + setBasePackage(SaveEventTests.class.getPackage().getName()); + } + @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jPersistentTestBase.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jPersistentTestBase.java index e6bd5bdc7..3285a72f8 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jPersistentTestBase.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jPersistentTestBase.java @@ -25,6 +25,7 @@ import org.springframework.data.convert.DefaultTypeMapper; import org.springframework.data.convert.TypeMapper; import org.springframework.data.neo4j.annotation.GraphId; import org.springframework.data.neo4j.annotation.NodeEntity; +import org.springframework.data.neo4j.config.BasePackageScanner; import org.springframework.data.neo4j.fieldaccess.DelegatingFieldAccessorFactory; import org.springframework.data.neo4j.fieldaccess.FieldAccessorFactoryFactory; import org.springframework.data.neo4j.fieldaccess.Neo4jConversionServiceFactoryBean; @@ -36,12 +37,14 @@ import org.springframework.data.neo4j.support.DelegatingGraphDatabase; import org.springframework.data.neo4j.support.Infrastructure; import org.springframework.data.neo4j.support.MappingInfrastructureFactoryBean; import org.springframework.data.neo4j.support.Neo4jTemplate; +import org.springframework.data.neo4j.support.index.IndexProviderImpl; import org.springframework.data.neo4j.support.mapping.*; import org.springframework.data.neo4j.support.node.EntityStateFactory; import org.springframework.data.neo4j.support.node.NodeEntityInstantiator; import org.springframework.data.neo4j.support.node.NodeEntityStateFactory; import org.springframework.data.neo4j.support.relationship.RelationshipEntityInstantiator; import org.springframework.data.neo4j.support.relationship.RelationshipEntityStateFactory; +import org.springframework.data.neo4j.support.schema.SchemaIndexProvider; import org.springframework.data.neo4j.support.typerepresentation.ClassValueTypeInformationMapper; import org.springframework.data.neo4j.support.typerepresentation.NoopNodeTypeRepresentationStrategy; import org.springframework.data.neo4j.support.typerepresentation.NoopRelationshipTypeRepresentationStrategy; @@ -82,8 +85,8 @@ public class Neo4jPersistentTestBase { @NodeEntity public static class Developer { @GraphId - Long id; - String name; + public Long id; + public String name; } @Before @@ -131,6 +134,9 @@ public class Neo4jPersistentTestBase { factoryBean.setNodeEntityStateFactory(nodeEntityStateFactory); factoryBean.setRelationshipEntityStateFactory(relationshipEntityStateFactory); + mappingContext.setEntityIndexCreator(new EntityIndexCreator(new IndexProviderImpl(graphDatabase), new SchemaIndexProvider(graphDatabase))); + mappingContext.setSimpleTypeHolder(null); + setBasePackage(mappingContext); nodeEntityInstantiator = new NodeEntityInstantiator(entityStateHandler); relationshipEntityInstantiator = new RelationshipEntityInstantiator(entityStateHandler); @@ -143,11 +149,19 @@ public class Neo4jPersistentTestBase { final EntityTools relationshipEntityTools = new EntityTools(relationshipTypeRepresentationStrategy, relationshipEntityStateFactory, relationshipEntityInstantiator, mappingContext); entityPersister = new Neo4jEntityPersister(conversionService, nodeEntityTools, relationshipEntityTools, mappingContext, entityStateHandler); - + mappingContext.afterPropertiesSet(); factoryBean.afterPropertiesSet(); return factoryBean.getObject(); } + protected void setBasePackage(Neo4jMappingContext mappingContext) throws ClassNotFoundException { + setBasePackage(mappingContext, getClass().getPackage().getName()); + } + + protected void setBasePackage(Neo4jMappingContext mappingContext, String...basePackages) throws ClassNotFoundException { + mappingContext.setInitialEntitySet(BasePackageScanner.scanBasePackageForClasses(basePackages)); + } + protected List groupMemberNodes() { return groupMemberNodes(groupNode()); } @@ -158,8 +172,10 @@ public class Neo4jPersistentTestBase { @After public void tearDown() throws Exception { - tx.failure(); - tx.close(); + if (tx!=null) { + tx.failure(); + tx.close(); + } template.getGraphDatabaseService().shutdown(); } diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jMappingContextTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/context/Neo4jMappingContextTests.java similarity index 94% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jMappingContextTests.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/context/Neo4jMappingContextTests.java index fab66b599..2b2d4c3cc 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jMappingContextTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/context/Neo4jMappingContextTests.java @@ -13,11 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.mapping; +package org.springframework.data.neo4j.mapping.context; import org.junit.Before; import org.junit.Test; import org.springframework.data.mapping.model.MappingException; +import org.springframework.data.neo4j.mapping.Neo4jPersistentProperty; import org.springframework.data.neo4j.model.Person; import org.springframework.data.neo4j.invalid.model.PrimitiveIdEntity; import org.springframework.data.neo4j.support.index.IndexType; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jEntityConverterTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/converter/Neo4jEntityConverterTests.java similarity index 96% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jEntityConverterTests.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/converter/Neo4jEntityConverterTests.java index 7dbcc8b9f..f247bd21b 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jEntityConverterTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/converter/Neo4jEntityConverterTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.mapping; +package org.springframework.data.neo4j.mapping.converter; import org.junit.Test; import org.neo4j.graphdb.Direction; @@ -22,10 +22,12 @@ import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.index.Index; import org.neo4j.helpers.collection.IteratorUtil; +import org.springframework.data.neo4j.mapping.Neo4jPersistentTestBase; import org.springframework.data.neo4j.model.Friendship; import org.springframework.data.neo4j.model.Group; import org.springframework.data.neo4j.model.Person; import org.springframework.data.neo4j.model.Personality; +import org.springframework.data.neo4j.support.mapping.Neo4jMappingContext; import org.springframework.transaction.annotation.Transactional; import java.util.Collection; @@ -70,6 +72,10 @@ public class Neo4jEntityConverterTests extends Neo4jPersistentTestBase { */ + @Override + protected void setBasePackage(Neo4jMappingContext mappingContext) throws ClassNotFoundException { + super.setBasePackage(mappingContext,Person.class.getPackage().getName()); + } @Test public void testWriteEntityToNewNode() { diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jEntityPersisterTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/persist/Neo4jEntityPersisterTests.java similarity index 88% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jEntityPersisterTests.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/persist/Neo4jEntityPersisterTests.java index 829d333ab..32360c01b 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jEntityPersisterTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/persist/Neo4jEntityPersisterTests.java @@ -13,13 +13,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.mapping; +package org.springframework.data.neo4j.mapping.persist; import org.junit.Test; import org.mockito.Mockito; import org.neo4j.graphdb.Node; +import org.springframework.data.neo4j.mapping.ManagedEntity; +import org.springframework.data.neo4j.mapping.Neo4jPersistentTestBase; import org.springframework.data.neo4j.model.Friendship; import org.springframework.data.neo4j.model.Person; +import org.springframework.data.neo4j.support.mapping.Neo4jMappingContext; import org.springframework.transaction.annotation.Transactional; import static java.util.Arrays.asList; @@ -33,6 +36,11 @@ import static org.junit.Assert.assertNotSame; */ public class Neo4jEntityPersisterTests extends Neo4jPersistentTestBase { + @Override + protected void setBasePackage(Neo4jMappingContext mappingContext) throws ClassNotFoundException { + super.setBasePackage(mappingContext,Person.class.getPackage().getName(),Developer.class.getPackage().getName()); + } + @Test public void testCreateEntityFromStoredType() throws Exception { final Node personNode = template.createNode(); diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jPersistentEntityTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/persist/Neo4jPersistentEntityTests.java similarity index 92% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jPersistentEntityTests.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/persist/Neo4jPersistentEntityTests.java index 62b7b225e..dde278972 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/Neo4jPersistentEntityTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/mapping/persist/Neo4jPersistentEntityTests.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.mapping; +package org.springframework.data.neo4j.mapping.persist; import org.junit.Before; import org.junit.Test; @@ -24,6 +24,8 @@ import org.springframework.data.neo4j.support.mapping.Neo4jMappingContext; import org.springframework.data.neo4j.support.mapping.Neo4jPersistentEntityImpl; import org.springframework.data.neo4j.support.mapping.StoredEntityType; +import java.util.Collections; + import static org.junit.Assert.assertEquals; /** @@ -38,6 +40,7 @@ public class Neo4jPersistentEntityTests { @Before public void setUp() throws Exception { mappingContext = new Neo4jMappingContext(); + mappingContext.setInitialEntitySet(Collections.singleton(Person.class)); personType = mappingContext.getPersistentEntity(Person.class); } diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/AbstractNodeEntityRepository.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/AbstractNodeEntityRepository.java similarity index 87% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/AbstractNodeEntityRepository.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/AbstractNodeEntityRepository.java index b03ad0a41..7b079b625 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/AbstractNodeEntityRepository.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/AbstractNodeEntityRepository.java @@ -1,4 +1,4 @@ -package org.springframework.data.neo4j.repository; +package org.springframework.data.neo4j.repositories; import org.springframework.data.neo4j.model.AbstractNodeEntity; import org.springframework.data.neo4j.repository.GraphRepository; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/BeingRepository.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/BeingRepository.java similarity index 86% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/BeingRepository.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/BeingRepository.java index 1eb8a146a..0a07f9ac8 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/BeingRepository.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/BeingRepository.java @@ -13,9 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.repository; +package org.springframework.data.neo4j.repositories; import org.springframework.data.neo4j.model.Being; +import org.springframework.data.neo4j.repository.GraphRepository; /** * @author mh diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/ClassWithNestedRepository.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/ClassWithNestedRepository.java similarity index 84% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/ClassWithNestedRepository.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/ClassWithNestedRepository.java index 389ef579f..52037d9d0 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/ClassWithNestedRepository.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/ClassWithNestedRepository.java @@ -1,4 +1,4 @@ -package org.springframework.data.neo4j.repository; +package org.springframework.data.neo4j.repositories; import org.springframework.data.neo4j.model.Person; import org.springframework.data.repository.Repository; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/FriendshipRepository.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/FriendshipRepository.java similarity index 86% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/FriendshipRepository.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/FriendshipRepository.java index 97d93d76c..4663e2220 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/FriendshipRepository.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/FriendshipRepository.java @@ -14,9 +14,10 @@ * limitations under the License. */ -package org.springframework.data.neo4j.repository; +package org.springframework.data.neo4j.repositories; import org.springframework.data.neo4j.model.Friendship; +import org.springframework.data.neo4j.repository.GraphRepository; public interface FriendshipRepository extends GraphRepository { } diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/GroupRepository.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/GroupRepository.java similarity index 84% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/GroupRepository.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/GroupRepository.java index 749b7edb1..3318a576d 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/GroupRepository.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/GroupRepository.java @@ -14,11 +14,13 @@ * limitations under the License. */ -package org.springframework.data.neo4j.repository; +package org.springframework.data.neo4j.repositories; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.neo4j.model.Group; +import org.springframework.data.neo4j.repository.GraphRepository; +import org.springframework.data.neo4j.repository.NamedIndexRepository; /** diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/PersonRepository.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/PersonRepository.java similarity index 97% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/PersonRepository.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/PersonRepository.java index 2ce8a6161..d1adc8f74 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/PersonRepository.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/PersonRepository.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.data.neo4j.repository; +package org.springframework.data.neo4j.repositories; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -26,6 +26,7 @@ import org.springframework.data.neo4j.annotation.ResultColumn; import org.springframework.data.neo4j.conversion.EndResult; import org.springframework.data.neo4j.model.Group; import org.springframework.data.neo4j.model.Person; +import org.springframework.data.neo4j.repository.*; import org.springframework.data.repository.query.Param; import org.springframework.transaction.annotation.Transactional; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/PersonRepositoryFriendship.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/PersonRepositoryFriendship.java similarity index 94% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/PersonRepositoryFriendship.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/PersonRepositoryFriendship.java index 4c9101484..7b8712a3e 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/PersonRepositoryFriendship.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/PersonRepositoryFriendship.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.repository; +package org.springframework.data.neo4j.repositories; import org.springframework.data.neo4j.model.Friendship; import org.springframework.data.neo4j.model.Person; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/PersonRepositoryImpl.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/PersonRepositoryImpl.java similarity index 95% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/PersonRepositoryImpl.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/PersonRepositoryImpl.java index 1d8fcbaa2..6dc84aa46 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/PersonRepositoryImpl.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/PersonRepositoryImpl.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.repository; +package org.springframework.data.neo4j.repositories; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.neo4j.model.Friendship; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/RedeclaringRepositoryMethodsRepository.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/RedeclaringRepositoryMethodsRepository.java similarity index 92% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/RedeclaringRepositoryMethodsRepository.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/RedeclaringRepositoryMethodsRepository.java index ba11a0142..c779de5b8 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/RedeclaringRepositoryMethodsRepository.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/RedeclaringRepositoryMethodsRepository.java @@ -14,13 +14,14 @@ * limitations under the License. */ -package org.springframework.data.neo4j.repository; +package org.springframework.data.neo4j.repositories; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.neo4j.annotation.Query; import org.springframework.data.neo4j.conversion.EndResult; import org.springframework.data.neo4j.model.Person; +import org.springframework.data.neo4j.repository.GraphRepository; /** * @author Thomas Darimont diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/UserRepository.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/UserRepository.java similarity index 89% rename from spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/UserRepository.java rename to spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/UserRepository.java index cd30f6e05..8fc8c7afa 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/UserRepository.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repositories/UserRepository.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.data.neo4j.repository; +package org.springframework.data.neo4j.repositories; import org.springframework.data.neo4j.annotation.Query; import org.springframework.data.neo4j.model.Car; @@ -21,7 +21,7 @@ import org.springframework.data.neo4j.model.User; import org.springframework.data.neo4j.repository.GraphRepository; import org.springframework.data.repository.query.Param; -interface UserRepository extends GraphRepository { +public interface UserRepository extends GraphRepository { @Query("start user=node:User(name={name}) match user-[:Loves]->car return car limit 1") public Car getSingleCar(@Param("name") String name); } diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/AbstractEntityBasedGraphRepositoryTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/AbstractEntityBasedGraphRepositoryTests.java index f4eb78d87..af13173a0 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/AbstractEntityBasedGraphRepositoryTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/AbstractEntityBasedGraphRepositoryTests.java @@ -26,6 +26,8 @@ import org.springframework.data.neo4j.model.AbstractNodeEntity; import org.springframework.data.neo4j.model.Concrete1NodeEntity; import org.springframework.data.neo4j.model.Concrete2NodeEntity; import org.springframework.data.neo4j.model.Person; +import org.springframework.data.neo4j.repositories.AbstractNodeEntityRepository; +import org.springframework.data.neo4j.repositories.PersonRepository; import org.springframework.data.neo4j.support.Neo4jTemplate; import org.springframework.data.neo4j.support.node.Neo4jHelper; import org.springframework.test.context.CleanContextCacheTestExecutionListener; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/CypherDslRepositoryTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/CypherDslRepositoryTests.java index aceb0f71f..67c853301 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/CypherDslRepositoryTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/CypherDslRepositoryTests.java @@ -30,6 +30,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.neo4j.model.Person; import org.springframework.data.neo4j.model.QPerson; +import org.springframework.data.neo4j.repositories.PersonRepository; import org.springframework.data.neo4j.template.Neo4jOperations; import org.springframework.test.context.CleanContextCacheTestExecutionListener; import org.springframework.test.context.ContextConfiguration; @@ -58,7 +59,8 @@ import static org.neo4j.helpers.collection.MapUtil.map; @Ignore public class CypherDslRepositoryTests { - @Autowired PersonRepository personRepository; + @Autowired + PersonRepository personRepository; @Autowired Neo4jOperations template; private TestTeam team; private Map peopleParams; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/DerivedFinderTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/DerivedFinderTests.java index b69cceb4c..31b8748d2 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/DerivedFinderTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/DerivedFinderTests.java @@ -175,6 +175,10 @@ public class DerivedFinderTests { @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + TestConfig() throws ClassNotFoundException { + setBasePackage("org.springframework.data.neo4j.repository","org.springframework.data.neo4j.model"); + } + @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/GraphRepositoryTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/GraphRepositoryTests.java index 67e9bd4a1..f4a07a7d4 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/GraphRepositoryTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/GraphRepositoryTests.java @@ -30,6 +30,8 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Sort; import org.springframework.data.neo4j.model.*; +import org.springframework.data.neo4j.repositories.*; +import org.springframework.data.neo4j.repositories.FriendshipRepository; import org.springframework.data.neo4j.support.Neo4jTemplate; import org.springframework.data.neo4j.support.ReferenceNodes; import org.springframework.data.neo4j.support.conversion.NoSuchColumnFoundException; @@ -79,11 +81,11 @@ public class GraphRepositoryTests { private PlatformTransactionManager transactionManager; @Autowired - private PersonRepository personRepository; + private org.springframework.data.neo4j.repositories.PersonRepository personRepository; @Autowired private BeingRepository beingRepository; @Autowired - GroupRepository groupRepository; + org.springframework.data.neo4j.repositories.GroupRepository groupRepository; @Autowired FriendshipRepository friendshipRepository; @@ -213,7 +215,7 @@ public class GraphRepositoryTests { @Test @Transactional public void testFindQueryResultWithCollection() { - PersonRepository.TeamResult teamMembers = personRepository.findAllTeamMembersAsGroup(testTeam.sdg); + org.springframework.data.neo4j.repositories.PersonRepository.TeamResult teamMembers = personRepository.findAllTeamMembersAsGroup(testTeam.sdg); assertThat( teamMembers.getName(), is( testTeam.sdg.getName() ) ); assertThat( asCollection( teamMembers.getMembers() ), hasItems( testTeam.michael, testTeam.david, testTeam.emil ) ); } @@ -471,8 +473,8 @@ public class GraphRepositoryTests { @Transactional public void findWithMapResult() throws InterruptedException { - Iterable result = personRepository.getAllNamesAndPeople(); - PersonRepository.NameAndPersonResult nameAndPerson = IteratorUtil.first( result ); + Iterable result = personRepository.getAllNamesAndPeople(); + org.springframework.data.neo4j.repositories.PersonRepository.NameAndPersonResult nameAndPerson = IteratorUtil.first( result ); assertEquals( testTeam.david.getName(), nameAndPerson.getName() ); assertEquals( testTeam.david, nameAndPerson.getPerson() ); } diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/NoIndexDerivedFinderTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/NoIndexDerivedFinderTests.java index 5e5b4b5ef..220d1d279 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/NoIndexDerivedFinderTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/NoIndexDerivedFinderTests.java @@ -33,6 +33,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.neo4j.conversion.EndResult; import org.springframework.data.neo4j.model.Group; import org.springframework.data.neo4j.model.Person; +import org.springframework.data.neo4j.repositories.GroupRepository; +import org.springframework.data.neo4j.repositories.PersonRepository; import org.springframework.test.context.CleanContextCacheTestExecutionListener; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.TestExecutionListeners; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/RedeclaringRepositoryMethodsTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/RedeclaringRepositoryMethodsTests.java index ee16d7467..789623a6a 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/RedeclaringRepositoryMethodsTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/RedeclaringRepositoryMethodsTests.java @@ -25,6 +25,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.neo4j.conversion.EndResult; import org.springframework.data.neo4j.model.Person; +import org.springframework.data.neo4j.repositories.RedeclaringRepositoryMethodsRepository; import org.springframework.transaction.annotation.Transactional; /** @@ -33,7 +34,8 @@ import org.springframework.transaction.annotation.Transactional; @Transactional public class RedeclaringRepositoryMethodsTests extends AbstractEntityBasedGraphRepositoryTests { - @Autowired RedeclaringRepositoryMethodsRepository repository; + @Autowired + RedeclaringRepositoryMethodsRepository repository; /** * @see DATAGRAPH-392 diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/SerializableEntityRepositoryTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/SerializableEntityRepositoryTests.java index 87c2363b6..e90fdd1ec 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/SerializableEntityRepositoryTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/SerializableEntityRepositoryTests.java @@ -27,6 +27,9 @@ import org.springframework.data.neo4j.fieldaccess.ManagedFieldAccessorSet; import org.springframework.data.neo4j.fieldaccess.ManagedPrefixedDynamicProperties; import org.springframework.data.neo4j.fieldaccess.PrefixedDynamicProperties; import org.springframework.data.neo4j.model.Person; +import org.springframework.data.neo4j.repositories.FriendshipRepository; +import org.springframework.data.neo4j.repositories.GroupRepository; +import org.springframework.data.neo4j.repositories.PersonRepository; import org.springframework.data.neo4j.support.Neo4jTemplate; import org.springframework.data.neo4j.support.node.Neo4jHelper; import org.springframework.data.neo4j.template.GraphCallback; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/SerializableGraphQueryRepositoryTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/SerializableGraphQueryRepositoryTests.java index 47346b0d6..42e7ecc96 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/SerializableGraphQueryRepositoryTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/SerializableGraphQueryRepositoryTests.java @@ -22,6 +22,9 @@ import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.neo4j.repositories.FriendshipRepository; +import org.springframework.data.neo4j.repositories.GroupRepository; +import org.springframework.data.neo4j.repositories.PersonRepository; import org.springframework.data.neo4j.support.Neo4jTemplate; import org.springframework.data.neo4j.support.node.Neo4jHelper; import org.springframework.test.context.CleanContextCacheTestExecutionListener; diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/SpatialGraphRepositoryTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/SpatialGraphRepositoryTests.java index a55c6d046..c3392a800 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/SpatialGraphRepositoryTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/SpatialGraphRepositoryTests.java @@ -24,6 +24,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.neo4j.model.Person; +import org.springframework.data.neo4j.repositories.FriendshipRepository; +import org.springframework.data.neo4j.repositories.GroupRepository; +import org.springframework.data.neo4j.repositories.PersonRepository; import org.springframework.data.neo4j.support.Neo4jTemplate; import org.springframework.data.neo4j.support.node.Neo4jHelper; import org.springframework.test.context.CleanContextCacheTestExecutionListener; @@ -59,7 +62,8 @@ public class SpatialGraphRepositoryTests { @Autowired GroupRepository groupRepository; - @Autowired FriendshipRepository friendshipRepository; + @Autowired + FriendshipRepository friendshipRepository; @Autowired diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedByArrayOfSimpleTypeTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedByArrayOfSimpleTypeTests.java index 2dc4eb01b..76759e885 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedByArrayOfSimpleTypeTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedByArrayOfSimpleTypeTests.java @@ -114,6 +114,11 @@ public class InParameterisedByArrayOfSimpleTypeTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + + TestConfig() throws ClassNotFoundException { + setBasePackage(SimpleTypeArrayEntity.class.getPackage().getName()); + } + @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); @@ -186,4 +191,4 @@ public class InParameterisedByArrayOfSimpleTypeTests { public void shouldSupportCharArrayAsParameterForIn() throws Exception { assertThat(simpleTypeArrayEntityRepository.findUsingChar(asList(CHARS)).chars, is(CHARS)); } -} \ No newline at end of file +} diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedByDateTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedByDateTests.java index 1245da5bf..bce960fe6 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedByDateTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedByDateTests.java @@ -84,6 +84,10 @@ public class InParameterisedByDateTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + TestConfig() throws ClassNotFoundException { + setBasePackage(DateEntity.class.getPackage().getName()); + } + @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); @@ -127,4 +131,4 @@ public class InParameterisedByDateTests { Iterable dates = asList(new Date[]{TODAY, TOMORROW}, new Date[]{YESTERDAY}); assertThat(dateEntityRepository.findUsingArrayOfArrayOfDate(dates).date, is(TODAY)); } -} \ No newline at end of file +} diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedByEnumTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedByEnumTests.java index a803626b6..28811dcc6 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedByEnumTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedByEnumTests.java @@ -85,6 +85,11 @@ public class InParameterisedByEnumTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + + TestConfig() throws ClassNotFoundException { + setBasePackage(EnumEntity.class.getPackage().getName()); + } + @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); @@ -128,4 +133,4 @@ public class InParameterisedByEnumTests { assertThat(enumEntityRepository.findUsingArrayOfArrayOfString(asList(new String[]{"CLUB", "DIAMOND", "HEART"}, new String[]{"SPADE", "DIAMOND"})).suit, is(SPADE)); assertThat(enumEntityRepository.findUsingArrayOfArrayOfEnum(asList(new Suit[]{CLUB, DIAMOND, HEART}, new Suit[]{SPADE, DIAMOND})).suit, is(SPADE)); } -} \ No newline at end of file +} diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedBySimpleTypeTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedBySimpleTypeTests.java index 714cf9eff..a2c687332 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedBySimpleTypeTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/InParameterisedBySimpleTypeTests.java @@ -106,6 +106,10 @@ public class InParameterisedBySimpleTypeTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + TestConfig() throws ClassNotFoundException { + setBasePackage(SimpleTypeEntity.class.getPackage().getName()); + } + @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); @@ -157,4 +161,4 @@ public class InParameterisedBySimpleTypeTests { assertThat(simpleTypeEntityRepository.findUsingChar(CHAR).aChar, is(CHAR)); assertThat(simpleTypeEntityRepository.findUsingString(STRING).aString, is(STRING)); } -} \ No newline at end of file +} diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/ParameterisedInTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/ParameterisedInTests.java index 1b1c55609..5110688e4 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/ParameterisedInTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/repository/query/cypher/ParameterisedInTests.java @@ -70,6 +70,10 @@ public class ParameterisedInTests { @Configuration @EnableNeo4jRepositories static class TestConfig extends Neo4jConfiguration { + TestConfig() throws ClassNotFoundException { + setBasePackage(RandomEntity.class.getPackage().getName()); + } + @Bean GraphDatabaseService graphDatabaseService() { return new TestGraphDatabaseFactory().newImpermanentDatabase(); @@ -113,4 +117,4 @@ public class ParameterisedInTests { public void shouldSupportParametersAsVarargs() throws Exception { assertThat(randomEntityRepository.findUsingVarargs("Louie").name, is("Louie")); } -} \ No newline at end of file +} diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/UniqueEntityTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/UniqueEntityTests.java index 129ad6cf0..d5b5740a1 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/UniqueEntityTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/UniqueEntityTests.java @@ -23,11 +23,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.data.mapping.model.MappingException; import org.springframework.data.neo4j.unique.domain.Club; -import org.springframework.data.neo4j.unique.domain.InvalidClub; +import org.springframework.data.neo4j.invalid.unique.InvalidClub; import org.springframework.data.neo4j.unique.domain.UniqueClub; import org.springframework.data.neo4j.unique.domain.UniqueNumericIdClub; import org.springframework.data.neo4j.unique.repository.ClubRepository; -import org.springframework.data.neo4j.unique.repository.InvalidClubRepository; +import org.springframework.data.neo4j.invalid.unique.InvalidClubRepository; import org.springframework.data.neo4j.unique.repository.UniqueClubRepository; import org.springframework.data.neo4j.unique.repository.UniqueNumericIdClubRepository; import org.springframework.test.context.ContextConfiguration; @@ -47,9 +47,6 @@ public class UniqueEntityTests { @Autowired private UniqueClubRepository uniqueClubRepository; - @Autowired - private InvalidClubRepository invalidClubRepository; - @Autowired protected GraphDatabaseService graphDatabaseService; @@ -153,9 +150,4 @@ public class UniqueEntityTests { uniqueClubRepository.save(club); assertEquals(club.getId(),uniqueClubRepository.findByPropertyValue("name","bar").getId()); } - @Test(expected = MappingException.class) - public void shouldThrowExceptionWhenMultipleUniqueSpecified() { - InvalidClub club = new InvalidClub(); - invalidClubRepository.save(club); - } } diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/UniqueRelationshipTests.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/UniqueRelationshipTests.java index b91fb86d9..0afebc933 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/UniqueRelationshipTests.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/unique/UniqueRelationshipTests.java @@ -23,6 +23,7 @@ import org.neo4j.graphdb.Relationship; import org.springframework.data.neo4j.mapping.Neo4jPersistentTestBase; import org.springframework.data.neo4j.model.BestFriend; import org.springframework.data.neo4j.model.Person; +import org.springframework.data.neo4j.support.mapping.Neo4jMappingContext; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -34,6 +35,11 @@ import static org.junit.Assert.assertNotSame; */ public class UniqueRelationshipTests extends Neo4jPersistentTestBase { + @Override + protected void setBasePackage(Neo4jMappingContext mappingContext) throws ClassNotFoundException { + super.setBasePackage(mappingContext,Person.class.getPackage().getName()); + } + @Test public void testCreateUniqueRelationship() { final Person p1 = storeInGraph(michael); diff --git a/spring-data-neo4j/src/test/resources/DocumentingTests-context.xml b/spring-data-neo4j/src/test/resources/DocumentingTests-context.xml index f6caa7562..a9df60334 100644 --- a/spring-data-neo4j/src/test/resources/DocumentingTests-context.xml +++ b/spring-data-neo4j/src/test/resources/DocumentingTests-context.xml @@ -9,8 +9,8 @@ http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> - + - \ No newline at end of file + diff --git a/spring-data-neo4j/src/test/resources/invalid-unique-test-context.xml b/spring-data-neo4j/src/test/resources/invalid-unique-test-context.xml new file mode 100644 index 000000000..d996e344e --- /dev/null +++ b/spring-data-neo4j/src/test/resources/invalid-unique-test-context.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTests-entities-context.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTests-entities-context.xml index 1b099b427..45fb4e968 100644 --- a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTests-entities-context.xml +++ b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTests-entities-context.xml @@ -11,5 +11,5 @@ - - \ No newline at end of file + + diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTests-nested-repositories-context.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTests-nested-repositories-context.xml index 86d8ec721..74238b279 100644 --- a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTests-nested-repositories-context.xml +++ b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTests-nested-repositories-context.xml @@ -9,8 +9,8 @@ http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> - + - - \ No newline at end of file + + diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/auditing-bean.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/auditing-bean.xml index c55683176..671e5c72f 100644 --- a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/auditing-bean.xml +++ b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/auditing-bean.xml @@ -5,7 +5,7 @@ xsi:schemaLocation="http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j-2.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> - + diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/auditing.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/auditing.xml index 01bc3e12a..0a530fee1 100644 --- a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/auditing.xml +++ b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/config/auditing.xml @@ -5,7 +5,7 @@ xsi:schemaLocation="http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j-2.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> - + diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/inheritance/InheritanceTests-context.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/inheritance/InheritanceTests-context.xml index 0a98e9f79..d574ab66f 100644 --- a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/inheritance/InheritanceTests-context.xml +++ b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/inheritance/InheritanceTests-context.xml @@ -9,8 +9,8 @@ http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> - + - \ No newline at end of file + diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/AbstractEntityBasedGraphRepositoryTests-context.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/AbstractEntityBasedGraphRepositoryTests-context.xml index 08d6d11c3..fdcecc54b 100644 --- a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/AbstractEntityBasedGraphRepositoryTests-context.xml +++ b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/AbstractEntityBasedGraphRepositoryTests-context.xml @@ -7,7 +7,7 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd"> - - + + - \ No newline at end of file + diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/GraphRepositoryTests-context.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/GraphRepositoryTests-context.xml index 08d6d11c3..fdcecc54b 100644 --- a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/GraphRepositoryTests-context.xml +++ b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/GraphRepositoryTests-context.xml @@ -7,7 +7,7 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd"> - - + + - \ No newline at end of file + diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/SerializableEntityRepositoryTests-context.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/SerializableEntityRepositoryTests-context.xml index 08d6d11c3..fdcecc54b 100644 --- a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/SerializableEntityRepositoryTests-context.xml +++ b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/SerializableEntityRepositoryTests-context.xml @@ -7,7 +7,7 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd"> - - + + - \ No newline at end of file + diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/SerializableGraphQueryRepositoryTests-context.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/SerializableGraphQueryRepositoryTests-context.xml index 08d6d11c3..fdcecc54b 100644 --- a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/SerializableGraphQueryRepositoryTests-context.xml +++ b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/SerializableGraphQueryRepositoryTests-context.xml @@ -7,7 +7,7 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd"> - - + + - \ No newline at end of file + diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/query/DerivedFinderMethodForIndexedBasedTRSTests-context.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/query/DerivedFinderMethodForIndexedBasedTRSTests-context.xml index d4ddf5a12..4451cfa8a 100644 --- a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/query/DerivedFinderMethodForIndexedBasedTRSTests-context.xml +++ b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/query/DerivedFinderMethodForIndexedBasedTRSTests-context.xml @@ -13,7 +13,7 @@ - + - \ No newline at end of file + diff --git a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/query/DerivedFinderMethodForLabelBasedTRSTests-context.xml b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/query/DerivedFinderMethodForLabelBasedTRSTests-context.xml index 9da71fad0..5ba7b9894 100644 --- a/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/query/DerivedFinderMethodForLabelBasedTRSTests-context.xml +++ b/spring-data-neo4j/src/test/resources/org/springframework/data/neo4j/repository/query/DerivedFinderMethodForLabelBasedTRSTests-context.xml @@ -13,7 +13,7 @@ - + - \ No newline at end of file + diff --git a/spring-data-neo4j/src/test/resources/related-to-test-context.xml b/spring-data-neo4j/src/test/resources/related-to-test-context.xml index 16989c300..5aa42819b 100644 --- a/spring-data-neo4j/src/test/resources/related-to-test-context.xml +++ b/spring-data-neo4j/src/test/resources/related-to-test-context.xml @@ -12,7 +12,7 @@ - + diff --git a/spring-data-neo4j/src/test/resources/related-to-via-test-context.xml b/spring-data-neo4j/src/test/resources/related-to-via-test-context.xml index f380ac22f..b7e3ac856 100644 --- a/spring-data-neo4j/src/test/resources/related-to-via-test-context.xml +++ b/spring-data-neo4j/src/test/resources/related-to-via-test-context.xml @@ -11,7 +11,9 @@ - + + + diff --git a/spring-data-neo4j/src/test/resources/template-config-context-with-type-safety-returning-null.xml b/spring-data-neo4j/src/test/resources/template-config-context-with-type-safety-returning-null.xml index 1c1297e54..d49b88451 100644 --- a/spring-data-neo4j/src/test/resources/template-config-context-with-type-safety-returning-null.xml +++ b/spring-data-neo4j/src/test/resources/template-config-context-with-type-safety-returning-null.xml @@ -9,11 +9,11 @@ http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> - + RETURNS_NULL - \ No newline at end of file + diff --git a/spring-data-neo4j/src/test/resources/template-config-context-with-type-safety-throwing-exception.xml b/spring-data-neo4j/src/test/resources/template-config-context-with-type-safety-throwing-exception.xml index 40e472a58..343ac9fef 100644 --- a/spring-data-neo4j/src/test/resources/template-config-context-with-type-safety-throwing-exception.xml +++ b/spring-data-neo4j/src/test/resources/template-config-context-with-type-safety-throwing-exception.xml @@ -9,11 +9,11 @@ http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> - + THROWS_EXCEPTION - \ No newline at end of file + diff --git a/spring-data-neo4j/src/test/resources/template-config-context.xml b/spring-data-neo4j/src/test/resources/template-config-context.xml index 7fb1ad1c5..119920448 100644 --- a/spring-data-neo4j/src/test/resources/template-config-context.xml +++ b/spring-data-neo4j/src/test/resources/template-config-context.xml @@ -9,8 +9,8 @@ http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> - + - \ No newline at end of file + diff --git a/spring-data-neo4j/src/test/resources/unique-test-context.xml b/spring-data-neo4j/src/test/resources/unique-test-context.xml index 21431057a..64b40556f 100644 --- a/spring-data-neo4j/src/test/resources/unique-test-context.xml +++ b/spring-data-neo4j/src/test/resources/unique-test-context.xml @@ -12,7 +12,9 @@ - + + +