Browse Source

Polish

pull/17774/head
Stephane Nicoll 6 years ago
parent
commit
f021c227e1
  1. 46
      spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java

46
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java

@ -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.event.EventListener;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.autoconfigure.AutoConfigurationPackages;
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.transaction.TransactionManagerCustomizers;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@ -66,39 +66,33 @@ public class Neo4jDataAutoConfiguration { @@ -66,39 +66,33 @@ public class Neo4jDataAutoConfiguration {
@ConditionalOnMissingBean(PlatformTransactionManager.class)
public Neo4jTransactionManager transactionManager(SessionFactory sessionFactory,
ObjectProvider<TransactionManagerCustomizers> transactionManagerCustomizers) {
return customize(new Neo4jTransactionManager(sessionFactory), transactionManagerCustomizers.getIfAvailable());
}
private Neo4jTransactionManager customize(Neo4jTransactionManager transactionManager,
TransactionManagerCustomizers customizers) {
if (customizers != null) {
customizers.customize(transactionManager);
}
Neo4jTransactionManager transactionManager = new Neo4jTransactionManager(sessionFactory);
transactionManagerCustomizers.ifAvailable((customizers) -> customizers.customize(transactionManager));
return transactionManager;
}
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingBean(SessionFactory.class)
protected static class Neo4jOgmSessionFactoryConfiguration {
static class Neo4jOgmSessionFactoryConfiguration {
@Bean
@ConditionalOnMissingBean
public org.neo4j.ogm.config.Configuration configuration(Neo4jProperties properties) {
org.neo4j.ogm.config.Configuration configuration(Neo4jProperties properties) {
return properties.createConfiguration();
}
@Bean
public SessionFactory sessionFactory(org.neo4j.ogm.config.Configuration configuration,
ApplicationContext applicationContext, ObjectProvider<EventListener> eventListeners) {
SessionFactory sessionFactory = new SessionFactory(configuration, getPackagesToScan(applicationContext));
eventListeners.stream().forEach(sessionFactory::register);
SessionFactory sessionFactory(org.neo4j.ogm.config.Configuration configuration, BeanFactory beanFactory,
ObjectProvider<EventListener> eventListeners) {
SessionFactory sessionFactory = new SessionFactory(configuration, getPackagesToScan(beanFactory));
eventListeners.orderedStream().forEach(sessionFactory::register);
return sessionFactory;
}
private String[] getPackagesToScan(ApplicationContext applicationContext) {
List<String> packages = EntityScanPackages.get(applicationContext).getPackageNames();
if (packages.isEmpty() && AutoConfigurationPackages.has(applicationContext)) {
packages = AutoConfigurationPackages.get(applicationContext);
private String[] getPackagesToScan(BeanFactory beanFactory) {
List<String> packages = EntityScanPackages.get(beanFactory).getPackageNames();
if (packages.isEmpty() && AutoConfigurationPackages.has(beanFactory)) {
packages = AutoConfigurationPackages.get(beanFactory);
}
return StringUtils.toStringArray(packages);
}
@ -111,19 +105,13 @@ public class Neo4jDataAutoConfiguration { @@ -111,19 +105,13 @@ public class Neo4jDataAutoConfiguration {
@ConditionalOnMissingBean(OpenSessionInViewInterceptor.class)
@ConditionalOnProperty(prefix = "spring.data.neo4j", name = "open-in-view", havingValue = "true",
matchIfMissing = true)
protected static class Neo4jWebConfiguration {
static class Neo4jWebConfiguration {
private static final Log logger = LogFactory.getLog(Neo4jWebConfiguration.class);
private final Neo4jProperties neo4jProperties;
protected Neo4jWebConfiguration(Neo4jProperties neo4jProperties) {
this.neo4jProperties = neo4jProperties;
}
@Bean
public OpenSessionInViewInterceptor neo4jOpenSessionInViewInterceptor() {
if (this.neo4jProperties.getOpenInView() == null) {
OpenSessionInViewInterceptor neo4jOpenSessionInViewInterceptor(Neo4jProperties properties) {
if (properties.getOpenInView() == null) {
logger.warn("spring.data.neo4j.open-in-view is enabled by default."
+ "Therefore, database queries may be performed during view "
+ "rendering. Explicitly configure "
@ -133,7 +121,7 @@ public class Neo4jDataAutoConfiguration { @@ -133,7 +121,7 @@ public class Neo4jDataAutoConfiguration {
}
@Bean
public WebMvcConfigurer neo4jOpenSessionInViewInterceptorConfigurer(OpenSessionInViewInterceptor interceptor) {
WebMvcConfigurer neo4jOpenSessionInViewInterceptorConfigurer(OpenSessionInViewInterceptor interceptor) {
return new WebMvcConfigurer() {
@Override

Loading…
Cancel
Save