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
f021c227
Commit
f021c227
authored
Aug 02, 2019
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish
parent
45915d08
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
29 deletions
+17
-29
Neo4jDataAutoConfiguration.java
.../autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java
+17
-29
No files found.
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java
View file @
f021c227
...
@@ -23,6 +23,7 @@ import org.apache.commons.logging.LogFactory;
...
@@ -23,6 +23,7 @@ import org.apache.commons.logging.LogFactory;
import
org.neo4j.ogm.session.SessionFactory
;
import
org.neo4j.ogm.session.SessionFactory
;
import
org.neo4j.ogm.session.event.EventListener
;
import
org.neo4j.ogm.session.event.EventListener
;
import
org.springframework.beans.factory.BeanFactory
;
import
org.springframework.beans.factory.ObjectProvider
;
import
org.springframework.beans.factory.ObjectProvider
;
import
org.springframework.boot.autoconfigure.AutoConfigurationPackages
;
import
org.springframework.boot.autoconfigure.AutoConfigurationPackages
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
import
org.springframework.boot.autoconfigure.EnableAutoConfiguration
;
...
@@ -34,7 +35,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplicat
...
@@ -34,7 +35,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplicat
import
org.springframework.boot.autoconfigure.domain.EntityScanPackages
;
import
org.springframework.boot.autoconfigure.domain.EntityScanPackages
;
import
org.springframework.boot.autoconfigure.transaction.TransactionManagerCustomizers
;
import
org.springframework.boot.autoconfigure.transaction.TransactionManagerCustomizers
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Import
;
import
org.springframework.context.annotation.Import
;
...
@@ -66,39 +66,33 @@ public class Neo4jDataAutoConfiguration {
...
@@ -66,39 +66,33 @@ public class Neo4jDataAutoConfiguration {
@ConditionalOnMissingBean
(
PlatformTransactionManager
.
class
)
@ConditionalOnMissingBean
(
PlatformTransactionManager
.
class
)
public
Neo4jTransactionManager
transactionManager
(
SessionFactory
sessionFactory
,
public
Neo4jTransactionManager
transactionManager
(
SessionFactory
sessionFactory
,
ObjectProvider
<
TransactionManagerCustomizers
>
transactionManagerCustomizers
)
{
ObjectProvider
<
TransactionManagerCustomizers
>
transactionManagerCustomizers
)
{
return
customize
(
new
Neo4jTransactionManager
(
sessionFactory
),
transactionManagerCustomizers
.
getIfAvailable
());
Neo4jTransactionManager
transactionManager
=
new
Neo4jTransactionManager
(
sessionFactory
);
}
transactionManagerCustomizers
.
ifAvailable
((
customizers
)
->
customizers
.
customize
(
transactionManager
));
private
Neo4jTransactionManager
customize
(
Neo4jTransactionManager
transactionManager
,
TransactionManagerCustomizers
customizers
)
{
if
(
customizers
!=
null
)
{
customizers
.
customize
(
transactionManager
);
}
return
transactionManager
;
return
transactionManager
;
}
}
@Configuration
(
proxyBeanMethods
=
false
)
@Configuration
(
proxyBeanMethods
=
false
)
@ConditionalOnMissingBean
(
SessionFactory
.
class
)
@ConditionalOnMissingBean
(
SessionFactory
.
class
)
protected
static
class
Neo4jOgmSessionFactoryConfiguration
{
static
class
Neo4jOgmSessionFactoryConfiguration
{
@Bean
@Bean
@ConditionalOnMissingBean
@ConditionalOnMissingBean
public
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
(
Neo4jProperties
properties
)
{
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
(
Neo4jProperties
properties
)
{
return
properties
.
createConfiguration
();
return
properties
.
createConfiguration
();
}
}
@Bean
@Bean
public
SessionFactory
sessionFactory
(
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
,
SessionFactory
sessionFactory
(
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
,
BeanFactory
beanFactory
,
ApplicationContext
applicationContext
,
ObjectProvider
<
EventListener
>
eventListeners
)
{
ObjectProvider
<
EventListener
>
eventListeners
)
{
SessionFactory
sessionFactory
=
new
SessionFactory
(
configuration
,
getPackagesToScan
(
applicationContext
));
SessionFactory
sessionFactory
=
new
SessionFactory
(
configuration
,
getPackagesToScan
(
beanFactory
));
eventListeners
.
s
tream
().
forEach
(
sessionFactory:
:
register
);
eventListeners
.
orderedS
tream
().
forEach
(
sessionFactory:
:
register
);
return
sessionFactory
;
return
sessionFactory
;
}
}
private
String
[]
getPackagesToScan
(
ApplicationContext
applicationContext
)
{
private
String
[]
getPackagesToScan
(
BeanFactory
beanFactory
)
{
List
<
String
>
packages
=
EntityScanPackages
.
get
(
applicationContext
).
getPackageNames
();
List
<
String
>
packages
=
EntityScanPackages
.
get
(
beanFactory
).
getPackageNames
();
if
(
packages
.
isEmpty
()
&&
AutoConfigurationPackages
.
has
(
applicationContext
))
{
if
(
packages
.
isEmpty
()
&&
AutoConfigurationPackages
.
has
(
beanFactory
))
{
packages
=
AutoConfigurationPackages
.
get
(
applicationContext
);
packages
=
AutoConfigurationPackages
.
get
(
beanFactory
);
}
}
return
StringUtils
.
toStringArray
(
packages
);
return
StringUtils
.
toStringArray
(
packages
);
}
}
...
@@ -111,19 +105,13 @@ public class Neo4jDataAutoConfiguration {
...
@@ -111,19 +105,13 @@ public class Neo4jDataAutoConfiguration {
@ConditionalOnMissingBean
(
OpenSessionInViewInterceptor
.
class
)
@ConditionalOnMissingBean
(
OpenSessionInViewInterceptor
.
class
)
@ConditionalOnProperty
(
prefix
=
"spring.data.neo4j"
,
name
=
"open-in-view"
,
havingValue
=
"true"
,
@ConditionalOnProperty
(
prefix
=
"spring.data.neo4j"
,
name
=
"open-in-view"
,
havingValue
=
"true"
,
matchIfMissing
=
true
)
matchIfMissing
=
true
)
protected
static
class
Neo4jWebConfiguration
{
static
class
Neo4jWebConfiguration
{
private
static
final
Log
logger
=
LogFactory
.
getLog
(
Neo4jWebConfiguration
.
class
);
private
static
final
Log
logger
=
LogFactory
.
getLog
(
Neo4jWebConfiguration
.
class
);
private
final
Neo4jProperties
neo4jProperties
;
protected
Neo4jWebConfiguration
(
Neo4jProperties
neo4jProperties
)
{
this
.
neo4jProperties
=
neo4jProperties
;
}
@Bean
@Bean
public
OpenSessionInViewInterceptor
neo4jOpenSessionInViewInterceptor
(
)
{
OpenSessionInViewInterceptor
neo4jOpenSessionInViewInterceptor
(
Neo4jProperties
properties
)
{
if
(
this
.
neo4jP
roperties
.
getOpenInView
()
==
null
)
{
if
(
p
roperties
.
getOpenInView
()
==
null
)
{
logger
.
warn
(
"spring.data.neo4j.open-in-view is enabled by default."
logger
.
warn
(
"spring.data.neo4j.open-in-view is enabled by default."
+
"Therefore, database queries may be performed during view "
+
"Therefore, database queries may be performed during view "
+
"rendering. Explicitly configure "
+
"rendering. Explicitly configure "
...
@@ -133,7 +121,7 @@ public class Neo4jDataAutoConfiguration {
...
@@ -133,7 +121,7 @@ public class Neo4jDataAutoConfiguration {
}
}
@Bean
@Bean
public
WebMvcConfigurer
neo4jOpenSessionInViewInterceptorConfigurer
(
OpenSessionInViewInterceptor
interceptor
)
{
WebMvcConfigurer
neo4jOpenSessionInViewInterceptorConfigurer
(
OpenSessionInViewInterceptor
interceptor
)
{
return
new
WebMvcConfigurer
()
{
return
new
WebMvcConfigurer
()
{
@Override
@Override
...
...
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