Skip to content

Commit 1f468df

Browse files
committed
Use GraphDatabaseService throughout GdsPBI
1 parent b85431a commit 1f468df

File tree

6 files changed

+42
-35
lines changed

6 files changed

+42
-35
lines changed

compatibility/4.3/neo4j-kernel-adapter/src/main/java/org/neo4j/gds/compat/_43/Neo4jProxyImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import org.neo4j.gds.compat.PropertyReference;
4444
import org.neo4j.gds.compat.StoreScan;
4545
import org.neo4j.gds.compat.TestLog;
46+
import org.neo4j.graphdb.GraphDatabaseService;
4647
import org.neo4j.graphdb.Node;
4748
import org.neo4j.graphdb.Relationship;
4849
import org.neo4j.graphdb.RelationshipType;
@@ -562,7 +563,7 @@ public RecordFormats recordFormatSelector(
562563
Config databaseConfig,
563564
FileSystemAbstraction fs,
564565
LogService logService,
565-
DependencyResolver dependencyResolver
566+
GraphDatabaseService databaseService
566567
) {
567568
return RecordFormatSelector.selectForConfig(databaseConfig, logService.getInternalLogProvider());
568569
}

compatibility/4.4/neo4j-kernel-adapter/src/main/java/org/neo4j/gds/compat/_44/Neo4jProxyImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.neo4j.gds.compat.PropertyReference;
4242
import org.neo4j.gds.compat.StoreScan;
4343
import org.neo4j.gds.compat.TestLog;
44+
import org.neo4j.graphdb.GraphDatabaseService;
4445
import org.neo4j.graphdb.Node;
4546
import org.neo4j.graphdb.Relationship;
4647
import org.neo4j.graphdb.RelationshipType;
@@ -565,7 +566,7 @@ public RecordFormats recordFormatSelector(
565566
Config databaseConfig,
566567
FileSystemAbstraction fs,
567568
LogService logService,
568-
DependencyResolver dependencyResolver
569+
GraphDatabaseService databaseService
569570
) {
570571
return RecordFormatSelector.selectForConfig(databaseConfig, logService.getInternalLogProvider());
571572
}

compatibility/api/neo4j-kernel-adapter/src/main/java/org/neo4j/gds/compat/Neo4jProxyApi.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020
package org.neo4j.gds.compat;
2121

2222
import org.jetbrains.annotations.Nullable;
23-
import org.neo4j.common.DependencyResolver;
2423
import org.neo4j.configuration.Config;
2524
import org.neo4j.configuration.connectors.ConnectorPortRegister;
2625
import org.neo4j.dbms.api.DatabaseManagementService;
2726
import org.neo4j.exceptions.KernelException;
27+
import org.neo4j.graphdb.GraphDatabaseService;
2828
import org.neo4j.graphdb.Node;
2929
import org.neo4j.graphdb.Relationship;
3030
import org.neo4j.graphdb.RelationshipType;
@@ -257,7 +257,7 @@ RecordFormats recordFormatSelector(
257257
Config databaseConfig,
258258
FileSystemAbstraction fs,
259259
LogService logService,
260-
DependencyResolver dependencyResolver
260+
GraphDatabaseService databaseService
261261
);
262262

263263
NamedDatabaseId randomDatabaseId();

compatibility/common/neo4j-kernel-adapter/src/main/java/org/neo4j/gds/compat/Neo4jProxy.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@
2121

2222
import org.jetbrains.annotations.Nullable;
2323
import org.jetbrains.annotations.TestOnly;
24-
import org.neo4j.common.DependencyResolver;
2524
import org.neo4j.configuration.Config;
2625
import org.neo4j.configuration.connectors.ConnectorPortRegister;
2726
import org.neo4j.dbms.api.DatabaseManagementService;
2827
import org.neo4j.exceptions.KernelException;
28+
import org.neo4j.graphdb.GraphDatabaseService;
2929
import org.neo4j.graphdb.Node;
3030
import org.neo4j.graphdb.Relationship;
3131
import org.neo4j.graphdb.RelationshipType;
@@ -387,9 +387,9 @@ public static RecordFormats recordFormatSelector(
387387
Config databaseConfig,
388388
FileSystemAbstraction fs,
389389
LogService logService,
390-
DependencyResolver dependencyResolver
390+
GraphDatabaseService databaseService
391391
) {
392-
return IMPL.recordFormatSelector(databaseName, databaseConfig, fs, logService, dependencyResolver);
392+
return IMPL.recordFormatSelector(databaseName, databaseConfig, fs, logService, databaseService);
393393
}
394394

395395
public static NamedDatabaseId randomDatabaseId() {

io/core/src/main/java/org/neo4j/gds/core/io/db/GdsParallelBatchImporter.java

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@
1919
*/
2020
package org.neo4j.gds.core.io.db;
2121

22-
import org.neo4j.common.DependencyResolver;
2322
import org.neo4j.configuration.Config;
2423
import org.neo4j.configuration.GraphDatabaseSettings;
2524
import org.neo4j.dbms.api.DatabaseManagementService;
2625
import org.neo4j.gds.compat.CompatInput;
26+
import org.neo4j.gds.compat.GraphDatabaseApiProxy;
2727
import org.neo4j.gds.compat.Neo4jProxy;
2828
import org.neo4j.gds.core.Settings;
2929
import org.neo4j.gds.core.utils.ProgressTimer;
30+
import org.neo4j.graphdb.GraphDatabaseService;
3031
import org.neo4j.internal.batchimport.AdditionalInitialIds;
3132
import org.neo4j.internal.batchimport.BatchImporter;
3233
import org.neo4j.internal.batchimport.BatchImporterFactory;
@@ -37,7 +38,6 @@
3738
import org.neo4j.io.layout.DatabaseLayout;
3839
import org.neo4j.io.pagecache.tracing.PageCacheTracer;
3940
import org.neo4j.kernel.impl.scheduler.JobSchedulerFactory;
40-
import org.neo4j.kernel.internal.GraphDatabaseAPI;
4141
import org.neo4j.kernel.lifecycle.LifeSupport;
4242
import org.neo4j.logging.Log;
4343
import org.neo4j.logging.internal.LogService;
@@ -59,29 +59,28 @@ public final class GdsParallelBatchImporter {
5959
private final Log log;
6060
private final ExecutionMonitor executionMonitor;
6161

62-
private final DependencyResolver dependencyResolver;
6362
private final FileSystemAbstraction fs;
6463
private final LogService logService;
6564
private final Config databaseConfig;
6665
private final DatabaseManagementService dbms;
66+
private final GraphDatabaseService databaseService;
6767

6868
static GdsParallelBatchImporter fromDb(
69-
GraphDatabaseAPI db,
69+
GraphDatabaseService databaseService,
7070
GraphStoreToDatabaseExporterConfig config,
7171
Log log,
7272
ExecutionMonitor executionMonitor
7373
) {
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);
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);
7978
return new GdsParallelBatchImporter(
8079
config,
8180
log,
8281
executionMonitor,
8382
dbms,
84-
dependencyResolver,
83+
databaseService,
8584
fs,
8685
logService,
8786
databaseConfig
@@ -94,17 +93,16 @@ public static GdsParallelBatchImporter fromDbms(
9493
Log log,
9594
ExecutionMonitor executionMonitor
9695
) {
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);
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);
102100
return new GdsParallelBatchImporter(
103101
config,
104102
log,
105103
executionMonitor,
106104
dbms,
107-
dependencyResolver,
105+
databaseService,
108106
fs,
109107
logService,
110108
databaseConfig
@@ -116,7 +114,7 @@ private GdsParallelBatchImporter(
116114
Log log,
117115
ExecutionMonitor executionMonitor,
118116
DatabaseManagementService dbms,
119-
DependencyResolver dependencyResolver,
117+
GraphDatabaseService databaseService,
120118
FileSystemAbstraction fs,
121119
LogService logService,
122120
Config databaseConfig
@@ -125,7 +123,7 @@ private GdsParallelBatchImporter(
125123
this.log = log;
126124
this.executionMonitor = executionMonitor;
127125
this.dbms = dbms;
128-
this.dependencyResolver = dependencyResolver;
126+
this.databaseService = databaseService;
129127
this.fs = fs;
130128
this.logService = logService;
131129

@@ -166,7 +164,13 @@ public void writeDatabase(CompatInput compatInput, boolean startDatabase) {
166164
lifeSupport.start();
167165

168166
var input = Neo4jProxy.batchInputFrom(compatInput);
169-
var batchImporter = instantiateBatchImporter(databaseLayout, logService, collector, jobScheduler);
167+
var batchImporter = instantiateBatchImporter(
168+
databaseLayout,
169+
logService,
170+
collector,
171+
jobScheduler,
172+
databaseService
173+
);
170174
batchImporter.doImport(input);
171175
log.info(formatWithLocale("Database import finished after %s ms", importTimer.stop().getDuration()));
172176

@@ -220,7 +224,8 @@ private BatchImporter instantiateBatchImporter(
220224
DatabaseLayout databaseLayout,
221225
LogService logService,
222226
Collector collector,
223-
JobScheduler jobScheduler
227+
JobScheduler jobScheduler,
228+
GraphDatabaseService databaseService
224229
) {
225230
return Neo4jProxy.instantiateBatchImporter(
226231
BatchImporterFactory.withHighestPriority(),
@@ -237,7 +242,7 @@ private BatchImporter instantiateBatchImporter(
237242
databaseConfig,
238243
fs,
239244
logService,
240-
dependencyResolver
245+
databaseService
241246
),
242247
jobScheduler,
243248
collector

io/core/src/main/java/org/neo4j/gds/core/io/db/GraphStoreToDatabaseExporter.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import org.neo4j.gds.core.io.NeoNodeProperties;
2626
import org.neo4j.gds.core.utils.ClockService;
2727
import org.neo4j.gds.core.utils.progress.tasks.ProgressTracker;
28-
import org.neo4j.kernel.internal.GraphDatabaseAPI;
28+
import org.neo4j.graphdb.GraphDatabaseService;
2929
import org.neo4j.logging.Log;
3030

3131
import java.util.Optional;
@@ -37,28 +37,28 @@ public final class GraphStoreToDatabaseExporter extends GraphStoreExporter<Graph
3737

3838
public static GraphStoreToDatabaseExporter of(
3939
GraphStore graphStore,
40-
GraphDatabaseAPI api,
40+
GraphDatabaseService databaseService,
4141
GraphStoreToDatabaseExporterConfig config,
4242
Log log,
4343
ProgressTracker progressTracker
4444
) {
45-
return of(graphStore, api, config, Optional.empty(), log, progressTracker);
45+
return of(graphStore, databaseService, config, Optional.empty(), log, progressTracker);
4646
}
4747

4848
public static GraphStoreToDatabaseExporter of(
4949
GraphStore graphStore,
50-
GraphDatabaseAPI api,
50+
GraphDatabaseService databaseService,
5151
GraphStoreToDatabaseExporterConfig config,
5252
Optional<NeoNodeProperties> neoNodeProperties,
5353
Log log,
5454
ProgressTracker progressTracker
5555
) {
56-
return new GraphStoreToDatabaseExporter(graphStore, api, config, neoNodeProperties, log, progressTracker);
56+
return new GraphStoreToDatabaseExporter(graphStore, databaseService, config, neoNodeProperties, log, progressTracker);
5757
}
5858

5959
private GraphStoreToDatabaseExporter(
6060
GraphStore graphStore,
61-
GraphDatabaseAPI api,
61+
GraphDatabaseService graphDatabaseService,
6262
GraphStoreToDatabaseExporterConfig config,
6363
Optional<NeoNodeProperties> neoNodeProperties,
6464
Log log,
@@ -71,7 +71,7 @@ private GraphStoreToDatabaseExporter(
7171
config.executionMonitorCheckMillis(),
7272
TimeUnit.MILLISECONDS
7373
);
74-
this.parallelBatchImporter = GdsParallelBatchImporter.fromDb(api, config, log, executionMonitor);
74+
this.parallelBatchImporter = GdsParallelBatchImporter.fromDb(graphDatabaseService, config, log, executionMonitor);
7575
}
7676

7777
@Override

0 commit comments

Comments
 (0)