From b10ecc8c5826b64e5a143e1ee141b6906269eaf0 Mon Sep 17 00:00:00 2001 From: David Montag Date: Thu, 7 Apr 2011 13:26:44 -0700 Subject: [PATCH] Added better error messages for entity instantiators. --- .../neo4j/support/node/NodeEntityInstantiator.java | 4 ++++ .../RelationshipEntityInstantiator.java | 14 +++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/node/NodeEntityInstantiator.java b/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/node/NodeEntityInstantiator.java index de9abafba..d2ca0624d 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/node/NodeEntityInstantiator.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/node/NodeEntityInstantiator.java @@ -34,4 +34,8 @@ public class NodeEntityInstantiator extends AbstractConstructorEntityInstantiato entity.setPersistentState(s); } + @Override + protected String getFailingMessageForClass(Class entityClass, Class stateClass) { + return entityClass.getSimpleName() + ": entity must have a no-arg constructor."; + } } diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/relationship/RelationshipEntityInstantiator.java b/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/relationship/RelationshipEntityInstantiator.java index 53b1f5d86..9fa787f99 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/relationship/RelationshipEntityInstantiator.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/graph/neo4j/support/relationship/RelationshipEntityInstantiator.java @@ -16,16 +16,9 @@ package org.springframework.data.graph.neo4j.support.relationship; -import java.lang.reflect.Constructor; -import java.util.HashMap; -import java.util.Map; - import org.neo4j.graphdb.Relationship; import org.springframework.data.graph.core.RelationshipBacked; import org.springframework.data.persistence.AbstractConstructorEntityInstantiator; -import org.springframework.data.persistence.EntityInstantiator; - -import org.springframework.data.persistence.StateBackedCreator; import sun.reflect.ReflectionFactory; /** @@ -40,6 +33,13 @@ public class RelationshipEntityInstantiator extends AbstractConstructorEntityIns protected void setState(RelationshipBacked entity, Relationship relationship) { entity.setPersistentState(relationship); } + + @Override + protected String getFailingMessageForClass(Class entityClass, Class stateClass) { + return entityClass.getSimpleName() + ": entity must have a no-arg constructor."; + } + + /* protected StateBackedCreator createInstantiator(Class type, final Class stateType) { StateBackedCreator creator = createWithoutConstructorInvocation(type,stateType);