From 35537aba8a24b607805f777d29ddb4e0f1ce5a2f Mon Sep 17 00:00:00 2001 From: David Montag Date: Thu, 7 Apr 2011 13:08:54 -0700 Subject: [PATCH] Made failure message customizable. --- .../AbstractConstructorEntityInstantiator.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/persistence/AbstractConstructorEntityInstantiator.java b/spring-data-commons-core/src/main/java/org/springframework/data/persistence/AbstractConstructorEntityInstantiator.java index 7415292e2..2add9a4ce 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/persistence/AbstractConstructorEntityInstantiator.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/persistence/AbstractConstructorEntityInstantiator.java @@ -57,12 +57,16 @@ public abstract class AbstractConstructorEntityInstantiator StateBackedCreator createFailingInstantiator(final Class stateType) { return new StateBackedCreator() { public T create(STATE n, Class c) throws Exception { - throw new IllegalArgumentException(getClass().getSimpleName() + ": entity " + c + - " must have either a constructor taking [" + stateType + "] or a no-arg constructor and state set method"); + throw new IllegalArgumentException(getFailingMessageForClass(c, stateType)); } }; } + protected String getFailingMessageForClass(Class entityClass, Class stateClass) { + return getClass().getSimpleName() + ": entity " + entityClass + + " must have either a constructor taking [" + stateClass + "] or a no-arg constructor and state setter."; + } + private StateBackedCreator emptyConstructorStateSettingInstantiator(Class type, Class stateType) { final Constructor constructor = getNoArgConstructor(type); if (constructor == null) return null;