From 69b1b9b96b2743bcbe802a1e310403fc731c15be Mon Sep 17 00:00:00 2001 From: Mark Pollack Date: Tue, 24 May 2011 17:23:02 -0400 Subject: [PATCH] DATADOC-88 - Create MongoDbFactory to consolidate DB, Server location, and user credentials into one location --- .../data/document/mongodb/MongoDbFactory.java | 2 +- .../data/document/mongodb/SimpleMongoDbFactory.java | 8 ++++++++ .../document/mongodb/convert/MappingMongoConverter.java | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoDbFactory.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoDbFactory.java index c0fff2ede..6224b2a04 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoDbFactory.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoDbFactory.java @@ -9,6 +9,6 @@ public interface MongoDbFactory { DB getDb() throws DataAccessException; - Mongo getMongo(); + DB getDb(String dbName) throws DataAccessException; } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/SimpleMongoDbFactory.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/SimpleMongoDbFactory.java index b0b3a744b..e82d97c66 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/SimpleMongoDbFactory.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/SimpleMongoDbFactory.java @@ -50,6 +50,14 @@ public class SimpleMongoDbFactory implements MongoDbFactory { Assert.hasText(databaseName, "Database name must not be empty"); return MongoDbUtils.getDB(mongo, databaseName, username, password == null ? null : password.toCharArray()); } + + public DB getDb(String dbName) throws DataAccessException { + Assert.notNull(mongo, "Mongo must not be null"); + Assert.hasText(dbName, "Database name must not be empty"); + return MongoDbUtils.getDB(mongo, dbName, username, password == null ? null : password.toCharArray()); + } + + public Mongo getMongo() { return this.mongo; diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/convert/MappingMongoConverter.java b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/convert/MappingMongoConverter.java index 9309b7587..8abc72a42 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/convert/MappingMongoConverter.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/convert/MappingMongoConverter.java @@ -596,7 +596,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App } String dbname = dbref.db(); - DB db = StringUtils.hasText(dbname) ? mongoDbFactory.getMongo().getDB(dbname) : mongoDbFactory.getDb(); + DB db = StringUtils.hasText(dbname) ? mongoDbFactory.getDb(dbname) : mongoDbFactory.getDb(); return new DBRef(db, collection, id); }