diff --git a/community/kernel/src/main/java/org/neo4j/graphdb/factory/GraphDatabaseSettings.java b/community/kernel/src/main/java/org/neo4j/graphdb/factory/GraphDatabaseSettings.java index 2ec09401ce450..76183c5967dd7 100644 --- a/community/kernel/src/main/java/org/neo4j/graphdb/factory/GraphDatabaseSettings.java +++ b/community/kernel/src/main/java/org/neo4j/graphdb/factory/GraphDatabaseSettings.java @@ -559,22 +559,34 @@ public class GraphDatabaseSettings implements LoadableConfig public enum SchemaIndex { - NATIVE_GBPTREE10( "native-gbptree-1.0" ), - NATIVE20( "lucene+native-2.0" ), - NATIVE10( "lucene+native-1.0" ), - LUCENE10( "lucene-1.0" ); + NATIVE_GBPTREE10( "native-gbptree", "1.0" ), + NATIVE20( "lucene+native", "2.0" ), + NATIVE10( "lucene+native", "1.0" ), + LUCENE10( "lucene", "1.0" ); private final String providerName; + private final String providerVersion; - SchemaIndex( String providerName ) + SchemaIndex( String providerName, String providerVersion ) { this.providerName = providerName; + this.providerVersion = providerVersion; } public String providerIdentifier() + { + return providerName + "-" + providerVersion; + } + + public String providerName() { return providerName; } + + public String providerVersion() + { + return providerVersion; + } } @Description( "Index provider to use for newly created schema indexes. " + diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/GenericNativeIndexProvider.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/GenericNativeIndexProvider.java index bc420e85dad13..ba73307132e26 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/GenericNativeIndexProvider.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/index/schema/GenericNativeIndexProvider.java @@ -22,6 +22,7 @@ import java.io.File; import java.io.IOException; +import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.index.internal.gbptree.Layout; import org.neo4j.index.internal.gbptree.RecoveryCleanupWorkCollector; import org.neo4j.internal.kernel.api.IndexCapability; @@ -81,8 +82,9 @@ */ public class GenericNativeIndexProvider extends NativeIndexProvider { - public static final String KEY = "native-gbptree"; - public static final IndexProvider.Descriptor DESCRIPTOR = new IndexProvider.Descriptor( KEY, "1.0" ); + public static final String KEY = GraphDatabaseSettings.SchemaIndex.NATIVE_GBPTREE10.providerName(); + public static final String VERSION = GraphDatabaseSettings.SchemaIndex.NATIVE_GBPTREE10.providerVersion(); + public static final IndexProvider.Descriptor DESCRIPTOR = new IndexProvider.Descriptor( KEY, VERSION ); // TODO implement public static final IndexCapability CAPABILITY = new IndexCapability() diff --git a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/NativeLuceneFusionIndexProviderFactory.java b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/NativeLuceneFusionIndexProviderFactory.java index fa7cbe9a6b882..480bc14aeb3f9 100644 --- a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/NativeLuceneFusionIndexProviderFactory.java +++ b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/NativeLuceneFusionIndexProviderFactory.java @@ -25,18 +25,15 @@ import org.neo4j.kernel.api.index.IndexProvider; import org.neo4j.kernel.extension.ExtensionType; import org.neo4j.kernel.extension.KernelExtensionFactory; -import org.neo4j.kernel.impl.index.schema.NumberIndexProvider; import static org.neo4j.kernel.api.index.IndexDirectoryStructure.directoriesByProvider; import static org.neo4j.kernel.api.index.IndexDirectoryStructure.directoriesBySubProvider; abstract class NativeLuceneFusionIndexProviderFactory extends KernelExtensionFactory { - public static final String KEY = LuceneIndexProviderFactory.KEY + "+" + NumberIndexProvider.KEY; - - NativeLuceneFusionIndexProviderFactory() + NativeLuceneFusionIndexProviderFactory( String key ) { - super( ExtensionType.DATABASE, KEY ); + super( ExtensionType.DATABASE, key ); } public static IndexDirectoryStructure.Factory subProviderDirectoryStructure( File databaseDirectory, IndexProvider.Descriptor descriptor ) diff --git a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/NativeLuceneFusionIndexProviderFactory10.java b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/NativeLuceneFusionIndexProviderFactory10.java index 8522da4e89735..6c8bd3379648e 100644 --- a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/NativeLuceneFusionIndexProviderFactory10.java +++ b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/NativeLuceneFusionIndexProviderFactory10.java @@ -48,9 +48,16 @@ public class NativeLuceneFusionIndexProviderFactory10 extends NativeLuceneFusionIndexProviderFactory { - public static final IndexProvider.Descriptor DESCRIPTOR = new IndexProvider.Descriptor( KEY, "1.0" ); + public static final String KEY = GraphDatabaseSettings.SchemaIndex.NATIVE10.providerName(); + public static final String VERSION = GraphDatabaseSettings.SchemaIndex.NATIVE10.providerVersion(); + public static final IndexProvider.Descriptor DESCRIPTOR = new IndexProvider.Descriptor( KEY, VERSION ); static final int PRIORITY = LuceneIndexProvider.PRIORITY + 1; + public NativeLuceneFusionIndexProviderFactory10() + { + super( KEY ); + } + public interface Dependencies extends LuceneIndexProviderFactory.Dependencies { } diff --git a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/NativeLuceneFusionIndexProviderFactory20.java b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/NativeLuceneFusionIndexProviderFactory20.java index 0fa23ca3e453e..dd0bb2c2bf062 100644 --- a/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/NativeLuceneFusionIndexProviderFactory20.java +++ b/community/lucene-index/src/main/java/org/neo4j/kernel/api/impl/schema/NativeLuceneFusionIndexProviderFactory20.java @@ -48,9 +48,16 @@ public class NativeLuceneFusionIndexProviderFactory20 extends NativeLuceneFusionIndexProviderFactory { - public static final IndexProvider.Descriptor DESCRIPTOR = new IndexProvider.Descriptor( KEY, "2.0" ); + public static final String KEY = GraphDatabaseSettings.SchemaIndex.NATIVE20.providerName(); + public static final String VERSION = GraphDatabaseSettings.SchemaIndex.NATIVE20.providerVersion(); + public static final IndexProvider.Descriptor DESCRIPTOR = new IndexProvider.Descriptor( KEY, VERSION ); private static final int PRIORITY = NativeLuceneFusionIndexProviderFactory10.PRIORITY + 1; + public NativeLuceneFusionIndexProviderFactory20() + { + super( KEY ); + } + public interface Dependencies extends LuceneIndexProviderFactory.Dependencies { }