Fix circular dependency of bookmarkmanagers.
This commit is contained in:
@@ -49,7 +49,7 @@ public abstract class AbstractNeo4jConfig extends Neo4jConfigurationSupport {
|
||||
private ObjectProvider<UserSelectionProvider> userSelectionProviders;
|
||||
|
||||
@Autowired
|
||||
private Neo4jBookmarkManager bookmarkManager;
|
||||
private ObjectProvider<Neo4jBookmarkManager> bookmarkManagerProviders;
|
||||
|
||||
/**
|
||||
* The driver to be used for interacting with Neo4j.
|
||||
@@ -70,10 +70,14 @@ public abstract class AbstractNeo4jConfig extends Neo4jConfigurationSupport {
|
||||
return Neo4jClient.with(driver)
|
||||
.withDatabaseSelectionProvider(databaseSelectionProvider)
|
||||
.withUserSelectionProvider(getUserSelectionProvider())
|
||||
.withNeo4jBookmarkManager(bookmarkManager)
|
||||
.withNeo4jBookmarkManager(getBootBookmarkManager())
|
||||
.build();
|
||||
}
|
||||
|
||||
private Neo4jBookmarkManager getBootBookmarkManager() {
|
||||
return this.bookmarkManagerProviders.getIfAvailable(Neo4jBookmarkManager::create);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private UserSelectionProvider getUserSelectionProvider() {
|
||||
return this.userSelectionProviders == null ? null : this.userSelectionProviders.getIfUnique();
|
||||
@@ -99,7 +103,7 @@ public abstract class AbstractNeo4jConfig extends Neo4jConfigurationSupport {
|
||||
.with(driver)
|
||||
.withDatabaseSelectionProvider(databaseSelectionProvider)
|
||||
.withUserSelectionProvider(getUserSelectionProvider())
|
||||
.withBookmarkManager(bookmarkManager)
|
||||
.withBookmarkManager(getBootBookmarkManager())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ public abstract class AbstractReactiveNeo4jConfig extends Neo4jConfigurationSupp
|
||||
private ObjectProvider<ReactiveUserSelectionProvider> userSelectionProviders;
|
||||
|
||||
@Autowired
|
||||
private Neo4jBookmarkManager bookmarkManager;
|
||||
private ObjectProvider<Neo4jBookmarkManager> bookmarkManagerProviders;
|
||||
|
||||
/**
|
||||
* The driver to be used for interacting with Neo4j.
|
||||
@@ -70,10 +70,14 @@ public abstract class AbstractReactiveNeo4jConfig extends Neo4jConfigurationSupp
|
||||
return ReactiveNeo4jClient.with(driver)
|
||||
.withDatabaseSelectionProvider(databaseSelectionProvider)
|
||||
.withUserSelectionProvider(getUserSelectionProvider())
|
||||
.withNeo4jBookmarkManager(bookmarkManager)
|
||||
.withNeo4jBookmarkManager(getBootBookmarkManager())
|
||||
.build();
|
||||
}
|
||||
|
||||
private Neo4jBookmarkManager getBootBookmarkManager() {
|
||||
return this.bookmarkManagerProviders.getIfAvailable(Neo4jBookmarkManager::createReactive);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private ReactiveUserSelectionProvider getUserSelectionProvider() {
|
||||
return this.userSelectionProviders == null ? null : this.userSelectionProviders.getIfUnique();
|
||||
@@ -99,7 +103,7 @@ public abstract class AbstractReactiveNeo4jConfig extends Neo4jConfigurationSupp
|
||||
return ReactiveNeo4jTransactionManager.with(driver)
|
||||
.withDatabaseSelectionProvider(databaseSelectionProvider)
|
||||
.withUserSelectionProvider(getUserSelectionProvider())
|
||||
.withBookmarkManager(bookmarkManager)
|
||||
.withBookmarkManager(getBootBookmarkManager())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user