Skip to content

Commit 3e38595

Browse files
author
Thomas Risberg
committed
DATADOC-142 changed constructor taking Mongo and database name to accept user credentials
1 parent ad287ef commit 3e38595

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoDbFactoryBean.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.springframework.beans.factory.InitializingBean;
2323
import org.springframework.dao.DataAccessException;
2424
import org.springframework.dao.DataAccessResourceFailureException;
25+
import org.springframework.data.authentication.UserCredentials;
2526
import org.springframework.util.Assert;
2627

2728
import com.mongodb.DB;
@@ -52,6 +53,12 @@ public class MongoDbFactoryBean implements MongoDbFactory, FactoryBean<MongoDbFa
5253
public MongoDbFactoryBean() {
5354
}
5455

56+
public MongoDbFactoryBean(Mongo mongo, String databaseName, UserCredentials userCredentials) throws DataAccessException {
57+
this(mongo, databaseName);
58+
this.username = userCredentials.getUsername();
59+
this.password = userCredentials.getPassword();
60+
}
61+
5562
public MongoDbFactoryBean(Mongo mongo, String databaseName) throws DataAccessException {
5663
Assert.notNull(mongo, "Mongo must not be null");
5764
Assert.hasText(databaseName, "Database name must not be empty");

spring-data-mongodb/src/main/java/org/springframework/data/document/mongodb/MongoTemplate.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import org.springframework.dao.DataAccessException;
5151
import org.springframework.dao.DataIntegrityViolationException;
5252
import org.springframework.dao.InvalidDataAccessApiUsageException;
53+
import org.springframework.data.authentication.UserCredentials;
5354
import org.springframework.data.document.mongodb.convert.MappingMongoConverter;
5455
import org.springframework.data.document.mongodb.convert.MongoConverter;
5556
import org.springframework.data.document.mongodb.index.IndexDefinition;
@@ -125,15 +126,15 @@ public MongoTemplate(Mongo mongo, String databaseName) {
125126
}
126127

127128
/**
128-
* Constructor used for a template configuration with a custom
129-
* {@link org.springframework.data.document.mongodb.convert.MongoConverter}
129+
* Constructor used for a template configuration with user credentials in the form of
130+
* {@link org.springframework.data.authentication.UserCredentials}
130131
*
131132
* @param mongo
132133
* @param databaseName
133-
* @param mongoConverter
134+
* @param userCredentials
134135
*/
135-
public MongoTemplate(Mongo mongo, String databaseName, MongoConverter mongoConverter) {
136-
this(new MongoDbFactoryBean(mongo, databaseName), mongoConverter, null, null);
136+
public MongoTemplate(Mongo mongo, String databaseName, UserCredentials userCredentials) {
137+
this(new MongoDbFactoryBean(mongo, databaseName, userCredentials));
137138
}
138139

139140
/**

spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/TestMongoConfiguration.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package org.springframework.data.document.mongodb;
22

3-
import java.util.ArrayList;
43
import java.util.HashSet;
5-
import java.util.List;
64
import java.util.Set;
75

86
import com.mongodb.Mongo;

spring-data-mongodb/template.mf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Import-Template:
1414
org.springframework.transaction.*;version="[3.0.0, 4.0.0)",
1515
org.springframework.data.core.*;version="[1.0.0, 2.0.0)",
1616
org.springframework.data.annotation.*;version="[1.0.0, 2.0.0)",
17+
org.springframework.data.authentication.*;version="[1.0.0, 2.0.0)",
1718
org.springframework.data.mapping.*;version="[1.0.0, 2.0.0)",
1819
org.springframework.data.mapping.model.*;version="[1.0.0, 2.0.0)",
1920
org.springframework.data.domain.*;version="[1.0.0, 2.0.0)",

0 commit comments

Comments
 (0)