From 78b09178c99da08d90b212e3e09b33c343743975 Mon Sep 17 00:00:00 2001 From: Stefan Plantikow Date: Thu, 18 Feb 2016 16:33:56 +0100 Subject: [PATCH] Inject StoreDir into ProcedureGDSFactory --- .../neo4j/kernel/impl/factory/ClassicCoreSPI.java | 5 +++-- .../kernel/impl/factory/GraphDatabaseFacade.java | 7 ++++--- .../kernel/impl/proc/ProcedureGDBFacadeSPI.java | 13 +++++++++---- .../neo4j/kernel/impl/proc/ProcedureGDSFactory.java | 6 +++++- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/ClassicCoreSPI.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/ClassicCoreSPI.java index a81dcdd6a3f66..ca97cf52fc896 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/ClassicCoreSPI.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/ClassicCoreSPI.java @@ -19,6 +19,7 @@ */ package org.neo4j.kernel.impl.factory; +import java.io.File; import java.net.URL; import java.util.Map; @@ -122,9 +123,9 @@ public StoreId storeId() } @Override - public String storeDir() + public File storeDir() { - return platform.storeDir.getAbsolutePath(); + return platform.storeDir; } @Override diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/GraphDatabaseFacade.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/GraphDatabaseFacade.java index d1c2fd6b39c46..8ea76d1441285 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/GraphDatabaseFacade.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/factory/GraphDatabaseFacade.java @@ -19,6 +19,7 @@ */ package org.neo4j.kernel.impl.factory; +import java.io.File; import java.net.URL; import java.util.Collections; import java.util.Map; @@ -123,7 +124,7 @@ public interface SPI DependencyResolver resolver(); StoreId storeId(); - String storeDir(); + File storeDir(); /** Eg. Neo4j Enterprise HA, Neo4j Community Standalone.. */ String name(); @@ -569,13 +570,13 @@ public URL validateURLAccess( URL url ) throws URLAccessValidationError @Override public String getStoreDir() { - return spi.storeDir(); + return spi.storeDir().getAbsolutePath(); } @Override public String toString() { - return spi.name() + " ["+getStoreDir()+"]"; + return spi.name() + " [" + getStoreDir() + "]"; } private static class PropertyValueFilteringNodeIdIterator extends PrimitiveLongCollections.PrimitiveLongBaseIterator diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ProcedureGDBFacadeSPI.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ProcedureGDBFacadeSPI.java index 8e3a448f1ce7d..ea67054c9aefa 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ProcedureGDBFacadeSPI.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ProcedureGDBFacadeSPI.java @@ -19,6 +19,7 @@ */ package org.neo4j.kernel.impl.proc; +import java.io.File; import java.net.URL; import java.util.Map; import java.util.function.Supplier; @@ -49,12 +50,16 @@ class ProcedureGDBFacadeSPI implements GraphDatabaseFacade.SPI private final Supplier storeId; private final CoreAPIAvailabilityGuard availability; private final ThrowingFunction urlValidator; + private final File storeDir; - public ProcedureGDBFacadeSPI( KernelTransaction transaction, Supplier queryExecutor, DependencyResolver resolver, AutoIndexing autoIndexing, - Supplier storeId, CoreAPIAvailabilityGuard availability, ThrowingFunction urlValidator ) + public ProcedureGDBFacadeSPI( KernelTransaction transaction, Supplier queryExecutor, + File storeDir, DependencyResolver resolver, AutoIndexing autoIndexing, + Supplier storeId, CoreAPIAvailabilityGuard availability, + ThrowingFunction urlValidator ) { this.transaction = transaction; this.queryExecutor = queryExecutor; + this.storeDir = storeDir; this.resolver = resolver; this.autoIndexing = autoIndexing; this.storeId = storeId; @@ -81,9 +86,9 @@ public StoreId storeId() } @Override - public String storeDir() + public File storeDir() { - throw new UnsupportedOperationException(); + return storeDir; } @Override diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ProcedureGDSFactory.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ProcedureGDSFactory.java index b822e10bb748f..0d1eb3ed1e1b3 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ProcedureGDSFactory.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/proc/ProcedureGDSFactory.java @@ -19,6 +19,7 @@ */ package org.neo4j.kernel.impl.proc; +import java.io.File; import java.net.URL; import java.util.function.Supplier; @@ -40,6 +41,7 @@ public class ProcedureGDSFactory implements ThrowingFunction { private final Config config; + private final File storeDir; private final DependencyResolver resolver; private final Supplier storeId; private final Supplier queryExecutor; @@ -48,6 +50,7 @@ public class ProcedureGDSFactory implements ThrowingFunction storeId, Supplier queryExecutor, @@ -55,6 +58,7 @@ public ProcedureGDSFactory( Config config, URLAccessRule urlAccessRule ) { this.config = config; + this.storeDir = storeDir; this.resolver = resolver; this.storeId = storeId; this.queryExecutor = queryExecutor; @@ -68,7 +72,7 @@ public GraphDatabaseService apply( CallableProcedure.Context context ) throws Pr KernelTransaction transaction = context.get( CallableProcedure.Context.KERNEL_TRANSACTION ); GraphDatabaseFacade facade = new GraphDatabaseFacade(); - facade.init( config, new ProcedureGDBFacadeSPI( transaction, queryExecutor, resolver, AutoIndexing.UNSUPPORTED, storeId, availability, urlValidator ) ); + facade.init( config, new ProcedureGDBFacadeSPI( transaction, queryExecutor, storeDir, resolver, AutoIndexing.UNSUPPORTED, storeId, availability, urlValidator ) ); return facade; }