Polish
This commit is contained in:
@@ -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
|
||||
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 {
|
||||
@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 {
|
||||
@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 {
|
||||
}
|
||||
|
||||
@Bean
|
||||
public WebMvcConfigurer neo4jOpenSessionInViewInterceptorConfigurer(OpenSessionInViewInterceptor interceptor) {
|
||||
WebMvcConfigurer neo4jOpenSessionInViewInterceptorConfigurer(OpenSessionInViewInterceptor interceptor) {
|
||||
return new WebMvcConfigurer() {
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user