19
19
*/
20
20
package org .neo4j .gds .core .io .db ;
21
21
22
+ import org .neo4j .common .DependencyResolver ;
22
23
import org .neo4j .configuration .Config ;
23
24
import org .neo4j .configuration .GraphDatabaseSettings ;
24
25
import org .neo4j .dbms .api .DatabaseManagementService ;
25
26
import org .neo4j .gds .compat .CompatInput ;
26
- import org .neo4j .gds .compat .GraphDatabaseApiProxy ;
27
27
import org .neo4j .gds .compat .Neo4jProxy ;
28
28
import org .neo4j .gds .core .Settings ;
29
29
import org .neo4j .gds .core .utils .ProgressTimer ;
30
- import org .neo4j .graphdb .GraphDatabaseService ;
31
30
import org .neo4j .internal .batchimport .AdditionalInitialIds ;
32
31
import org .neo4j .internal .batchimport .BatchImporter ;
33
32
import org .neo4j .internal .batchimport .BatchImporterFactory ;
38
37
import org .neo4j .io .layout .DatabaseLayout ;
39
38
import org .neo4j .io .pagecache .tracing .PageCacheTracer ;
40
39
import org .neo4j .kernel .impl .scheduler .JobSchedulerFactory ;
40
+ import org .neo4j .kernel .internal .GraphDatabaseAPI ;
41
41
import org .neo4j .kernel .lifecycle .LifeSupport ;
42
42
import org .neo4j .logging .Log ;
43
43
import org .neo4j .logging .internal .LogService ;
@@ -59,28 +59,29 @@ public final class GdsParallelBatchImporter {
59
59
private final Log log ;
60
60
private final ExecutionMonitor executionMonitor ;
61
61
62
+ private final DependencyResolver dependencyResolver ;
62
63
private final FileSystemAbstraction fs ;
63
64
private final LogService logService ;
64
65
private final Config databaseConfig ;
65
66
private final DatabaseManagementService dbms ;
66
- private final GraphDatabaseService databaseService ;
67
67
68
68
static GdsParallelBatchImporter fromDb (
69
- GraphDatabaseService databaseService ,
69
+ GraphDatabaseAPI db ,
70
70
GraphStoreToDatabaseExporterConfig config ,
71
71
Log log ,
72
72
ExecutionMonitor executionMonitor
73
73
) {
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 );
78
79
return new GdsParallelBatchImporter (
79
80
config ,
80
81
log ,
81
82
executionMonitor ,
82
83
dbms ,
83
- databaseService ,
84
+ dependencyResolver ,
84
85
fs ,
85
86
logService ,
86
87
databaseConfig
@@ -93,16 +94,17 @@ public static GdsParallelBatchImporter fromDbms(
93
94
Log log ,
94
95
ExecutionMonitor executionMonitor
95
96
) {
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 );
100
102
return new GdsParallelBatchImporter (
101
103
config ,
102
104
log ,
103
105
executionMonitor ,
104
106
dbms ,
105
- databaseService ,
107
+ dependencyResolver ,
106
108
fs ,
107
109
logService ,
108
110
databaseConfig
@@ -114,7 +116,7 @@ private GdsParallelBatchImporter(
114
116
Log log ,
115
117
ExecutionMonitor executionMonitor ,
116
118
DatabaseManagementService dbms ,
117
- GraphDatabaseService databaseService ,
119
+ DependencyResolver dependencyResolver ,
118
120
FileSystemAbstraction fs ,
119
121
LogService logService ,
120
122
Config databaseConfig
@@ -123,7 +125,7 @@ private GdsParallelBatchImporter(
123
125
this .log = log ;
124
126
this .executionMonitor = executionMonitor ;
125
127
this .dbms = dbms ;
126
- this .databaseService = databaseService ;
128
+ this .dependencyResolver = dependencyResolver ;
127
129
this .fs = fs ;
128
130
this .logService = logService ;
129
131
@@ -164,13 +166,7 @@ public void writeDatabase(CompatInput compatInput, boolean startDatabase) {
164
166
lifeSupport .start ();
165
167
166
168
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 );
174
170
batchImporter .doImport (input );
175
171
log .info (formatWithLocale ("Database import finished after %s ms" , importTimer .stop ().getDuration ()));
176
172
@@ -224,8 +220,7 @@ private BatchImporter instantiateBatchImporter(
224
220
DatabaseLayout databaseLayout ,
225
221
LogService logService ,
226
222
Collector collector ,
227
- JobScheduler jobScheduler ,
228
- GraphDatabaseService databaseService
223
+ JobScheduler jobScheduler
229
224
) {
230
225
return Neo4jProxy .instantiateBatchImporter (
231
226
BatchImporterFactory .withHighestPriority (),
@@ -242,7 +237,7 @@ private BatchImporter instantiateBatchImporter(
242
237
databaseConfig ,
243
238
fs ,
244
239
logService ,
245
- databaseService
240
+ dependencyResolver
246
241
),
247
242
jobScheduler ,
248
243
collector
0 commit comments