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
ebdacfab
Commit
ebdacfab
authored
Jul 01, 2016
by
Phillip Webb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish
parent
d124d682
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
13 deletions
+29
-13
JdbcSessionDatabaseInitializer.java
...autoconfigure/session/JdbcSessionDatabaseInitializer.java
+26
-11
SessionProperties.java
...amework/boot/autoconfigure/session/SessionProperties.java
+1
-1
SessionAutoConfigurationJdbcTests.java
...oconfigure/session/SessionAutoConfigurationJdbcTests.java
+2
-1
No files found.
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/JdbcSessionDatabaseInitializer.java
View file @
ebdacfab
...
...
@@ -16,6 +16,10 @@
package
org
.
springframework
.
boot
.
autoconfigure
.
session
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.Map
;
import
javax.annotation.PostConstruct
;
import
javax.sql.DataSource
;
...
...
@@ -34,6 +38,15 @@ import org.springframework.util.Assert;
*/
public
class
JdbcSessionDatabaseInitializer
{
private
static
Map
<
String
,
String
>
ALIASES
;
static
{
Map
<
String
,
String
>
aliases
=
new
HashMap
<
String
,
String
>();
aliases
.
put
(
"hsql"
,
"hsqldb"
);
aliases
.
put
(
"postgres"
,
"postgresql"
);
ALIASES
=
Collections
.
unmodifiableMap
(
aliases
);
}
private
SessionProperties
properties
;
private
DataSource
dataSource
;
...
...
@@ -53,26 +66,28 @@ public class JdbcSessionDatabaseInitializer {
@PostConstruct
protected
void
initialize
()
{
if
(
this
.
properties
.
getJdbc
().
getInitializer
().
isEnabled
())
{
String
platform
=
getDatabaseType
();
if
(
"hsql"
.
equals
(
platform
))
{
platform
=
"hsqldb"
;
}
if
(
"postgres"
.
equals
(
platform
))
{
platform
=
"postgresql"
;
}
ResourceDatabasePopulator
populator
=
new
ResourceDatabasePopulator
();
String
schemaLocation
=
this
.
properties
.
getJdbc
().
getSchema
();
schemaLocation
=
schemaLocation
.
replace
(
"@@platform@@"
,
platform
);
schemaLocation
=
schemaLocation
.
replace
(
"@@platform@@"
,
getPlatform
()
);
populator
.
addScript
(
this
.
resourceLoader
.
getResource
(
schemaLocation
));
populator
.
setContinueOnError
(
true
);
DatabasePopulatorUtils
.
execute
(
populator
,
this
.
dataSource
);
}
}
private
String
getDatabaseType
()
{
private
String
getPlatform
()
{
String
databaseName
=
getDatabaseName
();
if
(
ALIASES
.
containsKey
(
databaseName
))
{
return
ALIASES
.
get
(
databaseName
);
}
return
databaseName
;
}
private
String
getDatabaseName
()
{
try
{
String
databaseProductName
=
JdbcUtils
.
extractDatabaseMetaData
(
this
.
dataSource
,
"getDatabaseProductName"
).
toString
();
String
databaseProductName
=
JdbcUtils
.
extractDatabaseMetaData
(
this
.
dataSource
,
"getDatabaseProductName"
)
.
toString
();
return
JdbcUtils
.
commonDatabaseName
(
databaseProductName
).
toLowerCase
();
}
catch
(
MetaDataAccessException
ex
)
{
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/SessionProperties.java
View file @
ebdacfab
...
...
@@ -136,7 +136,7 @@ public class SessionProperties {
}
public
Initializer
getInitializer
()
{
return
initializer
;
return
this
.
initializer
;
}
public
static
class
Initializer
{
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationJdbcTests.java
View file @
ebdacfab
...
...
@@ -37,7 +37,8 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Vedran Pavic
* @author Stephane Nicoll
*/
public
class
SessionAutoConfigurationJdbcTests
extends
AbstractSessionAutoConfigurationTests
{
public
class
SessionAutoConfigurationJdbcTests
extends
AbstractSessionAutoConfigurationTests
{
@Rule
public
ExpectedException
thrown
=
ExpectedException
.
none
();
...
...
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