Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
13bb23ac
Commit
13bb23ac
authored
Aug 06, 2014
by
Phillip Webb
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '1.1.x'
parents
7641f23f
88828f50
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
5 deletions
+47
-5
MongoDataAutoConfiguration.java
.../boot/autoconfigure/mongo/MongoDataAutoConfiguration.java
+47
-5
No files found.
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/MongoDataAutoConfiguration.java
View file @
13bb23ac
...
...
@@ -26,12 +26,16 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.dao.DataAccessException
;
import
org.springframework.dao.support.PersistenceExceptionTranslator
;
import
org.springframework.data.mongodb.MongoDbFactory
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.SimpleMongoDbFactory
;
import
org.springframework.data.mongodb.gridfs.GridFsTemplate
;
import
org.springframework.util.Assert
;
import
org.springframework.util.StringUtils
;
import
com.mongodb.DB
;
import
com.mongodb.Mongo
;
/**
...
...
@@ -73,11 +77,49 @@ public class MongoDataAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public
GridFsTemplate
gridFsTemplate
(
Mongo
mongo
,
MongoTemplate
mongoTemplate
)
{
String
db
=
StringUtils
.
hasText
(
this
.
properties
.
getGridFsDatabase
())
?
this
.
properties
.
getGridFsDatabase
()
:
this
.
properties
.
getMongoClientDatabase
();
return
new
GridFsTemplate
(
new
SimpleMongoDbFactory
(
mongo
,
db
),
mongoTemplate
.
getConverter
());
public
GridFsTemplate
gridFsTemplate
(
MongoDbFactory
mongoDbFactory
,
MongoTemplate
mongoTemplate
)
{
return
new
GridFsTemplate
(
new
GridFsMongoDbFactory
(
mongoDbFactory
,
this
.
properties
),
mongoTemplate
.
getConverter
());
}
/**
* {@link MongoDbFactory} decorator to respect
* {@link MongoProperties#getGridFsDatabase()} if set.
*/
private
static
class
GridFsMongoDbFactory
implements
MongoDbFactory
{
private
final
MongoDbFactory
mongoDbFactory
;
private
final
MongoProperties
properties
;
public
GridFsMongoDbFactory
(
MongoDbFactory
mongoDbFactory
,
MongoProperties
properties
)
{
Assert
.
notNull
(
mongoDbFactory
,
"MongoDbFactory must not be null"
);
Assert
.
notNull
(
properties
,
"Properties must not be null"
);
this
.
mongoDbFactory
=
mongoDbFactory
;
this
.
properties
=
properties
;
}
@Override
public
DB
getDb
()
throws
DataAccessException
{
String
gridFsDatabase
=
this
.
properties
.
getGridFsDatabase
();
if
(
StringUtils
.
hasText
(
gridFsDatabase
))
{
return
this
.
mongoDbFactory
.
getDb
(
gridFsDatabase
);
}
return
this
.
mongoDbFactory
.
getDb
();
}
@Override
public
DB
getDb
(
String
dbName
)
throws
DataAccessException
{
return
this
.
mongoDbFactory
.
getDb
(
dbName
);
}
@Override
public
PersistenceExceptionTranslator
getExceptionTranslator
()
{
return
this
.
mongoDbFactory
.
getExceptionTranslator
();
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment