From a1c6c8d6719ab6b912677aa97bed5e66904ea18c Mon Sep 17 00:00:00 2001 From: Thomas Risberg Date: Tue, 25 Jan 2011 12:03:24 -0500 Subject: [PATCH] added ExceptionTranslator inreface to factory bean for convenience during configuration and to be consistent with JPA configs --- .../data/document/mongodb/MongoFactoryBean.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoFactoryBean.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoFactoryBean.java index 6894dcc2c..b76274eb2 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoFactoryBean.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoFactoryBean.java @@ -22,6 +22,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.FactoryBean; import org.springframework.beans.factory.InitializingBean; +import org.springframework.dao.DataAccessException; +import org.springframework.dao.support.PersistenceExceptionTranslator; import org.springframework.util.Assert; import com.mongodb.Mongo; @@ -36,7 +38,7 @@ import com.mongodb.ServerAddress; * * @since 1.0 */ -public class MongoFactoryBean implements FactoryBean, InitializingBean { +public class MongoFactoryBean implements FactoryBean, InitializingBean, PersistenceExceptionTranslator { /** @@ -50,6 +52,8 @@ public class MongoFactoryBean implements FactoryBean, InitializingBean { private Integer port; private List replicaSetSeeds; private List replicaPair; + + private PersistenceExceptionTranslator exceptionTranslator = new MongoExceptionTranslator(); public void setMongoOptions(MongoOptions mongoOptions) { this.mongoOptions = mongoOptions; @@ -117,4 +121,8 @@ public class MongoFactoryBean implements FactoryBean, InitializingBean { } } } + + public DataAccessException translateExceptionIfPossible(RuntimeException ex) { + return exceptionTranslator.translateExceptionIfPossible(ex); + } }