1919 */
2020package org .neo4j .gds .core .io .db ;
2121
22+ import org .neo4j .common .DependencyResolver ;
2223import org .neo4j .configuration .Config ;
2324import org .neo4j .configuration .GraphDatabaseSettings ;
2425import org .neo4j .dbms .api .DatabaseManagementService ;
2526import org .neo4j .gds .compat .CompatInput ;
26- import org .neo4j .gds .compat .GraphDatabaseApiProxy ;
2727import org .neo4j .gds .compat .Neo4jProxy ;
2828import org .neo4j .gds .core .Settings ;
2929import org .neo4j .gds .core .utils .ProgressTimer ;
30- import org .neo4j .graphdb .GraphDatabaseService ;
3130import org .neo4j .internal .batchimport .AdditionalInitialIds ;
3231import org .neo4j .internal .batchimport .BatchImporter ;
3332import org .neo4j .internal .batchimport .BatchImporterFactory ;
3837import org .neo4j .io .layout .DatabaseLayout ;
3938import org .neo4j .io .pagecache .tracing .PageCacheTracer ;
4039import org .neo4j .kernel .impl .scheduler .JobSchedulerFactory ;
40+ import org .neo4j .kernel .internal .GraphDatabaseAPI ;
4141import org .neo4j .kernel .lifecycle .LifeSupport ;
4242import org .neo4j .logging .Log ;
4343import org .neo4j .logging .internal .LogService ;
@@ -59,28 +59,29 @@ public final class GdsParallelBatchImporter {
5959 private final Log log ;
6060 private final ExecutionMonitor executionMonitor ;
6161
62+ private final DependencyResolver dependencyResolver ;
6263 private final FileSystemAbstraction fs ;
6364 private final LogService logService ;
6465 private final Config databaseConfig ;
6566 private final DatabaseManagementService dbms ;
66- private final GraphDatabaseService databaseService ;
6767
6868 static GdsParallelBatchImporter fromDb (
69- GraphDatabaseService databaseService ,
69+ GraphDatabaseAPI db ,
7070 GraphStoreToDatabaseExporterConfig config ,
7171 Log log ,
7272 ExecutionMonitor executionMonitor
7373 ) {
74- var dbms = GraphDatabaseApiProxy .resolveDependency (databaseService , DatabaseManagementService .class );
75- var fs = GraphDatabaseApiProxy .resolveDependency (databaseService , FileSystemAbstraction .class );
76- var logService = GraphDatabaseApiProxy .resolveDependency (databaseService , LogService .class );
77- var databaseConfig = GraphDatabaseApiProxy .resolveDependency (databaseService , Config .class );
74+ var dependencyResolver = db .getDependencyResolver ();
75+ var dbms = dependencyResolver .resolveDependency (DatabaseManagementService .class );
76+ var fs = dependencyResolver .resolveDependency (FileSystemAbstraction .class );
77+ var logService = dependencyResolver .resolveDependency (LogService .class );
78+ var databaseConfig = dependencyResolver .resolveDependency (Config .class );
7879 return new GdsParallelBatchImporter (
7980 config ,
8081 log ,
8182 executionMonitor ,
8283 dbms ,
83- databaseService ,
84+ dependencyResolver ,
8485 fs ,
8586 logService ,
8687 databaseConfig
@@ -93,16 +94,17 @@ public static GdsParallelBatchImporter fromDbms(
9394 Log log ,
9495 ExecutionMonitor executionMonitor
9596 ) {
96- var databaseService = dbms .database (SYSTEM_DATABASE_NAME );
97- var fs = GraphDatabaseApiProxy .resolveDependency (databaseService , FileSystemAbstraction .class );
98- var logService = GraphDatabaseApiProxy .resolveDependency (databaseService , LogService .class );
99- var databaseConfig = GraphDatabaseApiProxy .resolveDependency (databaseService , Config .class );
97+ var db = (GraphDatabaseAPI ) dbms .database (SYSTEM_DATABASE_NAME );
98+ var dependencyResolver = db .getDependencyResolver ();
99+ var fs = dependencyResolver .resolveDependency (FileSystemAbstraction .class );
100+ var logService = dependencyResolver .resolveDependency (LogService .class );
101+ var databaseConfig = dependencyResolver .resolveDependency (Config .class );
100102 return new GdsParallelBatchImporter (
101103 config ,
102104 log ,
103105 executionMonitor ,
104106 dbms ,
105- databaseService ,
107+ dependencyResolver ,
106108 fs ,
107109 logService ,
108110 databaseConfig
@@ -114,7 +116,7 @@ private GdsParallelBatchImporter(
114116 Log log ,
115117 ExecutionMonitor executionMonitor ,
116118 DatabaseManagementService dbms ,
117- GraphDatabaseService databaseService ,
119+ DependencyResolver dependencyResolver ,
118120 FileSystemAbstraction fs ,
119121 LogService logService ,
120122 Config databaseConfig
@@ -123,7 +125,7 @@ private GdsParallelBatchImporter(
123125 this .log = log ;
124126 this .executionMonitor = executionMonitor ;
125127 this .dbms = dbms ;
126- this .databaseService = databaseService ;
128+ this .dependencyResolver = dependencyResolver ;
127129 this .fs = fs ;
128130 this .logService = logService ;
129131
@@ -164,13 +166,7 @@ public void writeDatabase(CompatInput compatInput, boolean startDatabase) {
164166 lifeSupport .start ();
165167
166168 var input = Neo4jProxy .batchInputFrom (compatInput );
167- var batchImporter = instantiateBatchImporter (
168- databaseLayout ,
169- logService ,
170- collector ,
171- jobScheduler ,
172- databaseService
173- );
169+ var batchImporter = instantiateBatchImporter (databaseLayout , logService , collector , jobScheduler );
174170 batchImporter .doImport (input );
175171 log .info (formatWithLocale ("Database import finished after %s ms" , importTimer .stop ().getDuration ()));
176172
@@ -224,8 +220,7 @@ private BatchImporter instantiateBatchImporter(
224220 DatabaseLayout databaseLayout ,
225221 LogService logService ,
226222 Collector collector ,
227- JobScheduler jobScheduler ,
228- GraphDatabaseService databaseService
223+ JobScheduler jobScheduler
229224 ) {
230225 return Neo4jProxy .instantiateBatchImporter (
231226 BatchImporterFactory .withHighestPriority (),
@@ -242,7 +237,7 @@ private BatchImporter instantiateBatchImporter(
242237 databaseConfig ,
243238 fs ,
244239 logService ,
245- databaseService
240+ dependencyResolver
246241 ),
247242 jobScheduler ,
248243 collector
0 commit comments