From 2d7c6149b71d71db0e68e754d3ba78cf8086a9f1 Mon Sep 17 00:00:00 2001 From: Pontus Melke Date: Mon, 26 Feb 2018 13:15:26 +0100 Subject: [PATCH] Port token access in Core API to use Kernel API --- .../neo4j/kernel/impl/api/TokenAccess.java | 74 +++++++++---------- .../impl/factory/GraphDatabaseFacade.java | 9 ++- 2 files changed, 44 insertions(+), 39 deletions(-) diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/TokenAccess.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/TokenAccess.java index 666494322ffe..aa25cd42fecf 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/TokenAccess.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/TokenAccess.java @@ -26,9 +26,11 @@ import org.neo4j.graphdb.Resource; import org.neo4j.graphdb.ResourceIterator; import org.neo4j.helpers.collection.PrefetchingResourceIterator; -import org.neo4j.kernel.api.ReadOperations; +import org.neo4j.internal.kernel.api.NamedToken; +import org.neo4j.internal.kernel.api.SchemaRead; +import org.neo4j.internal.kernel.api.TokenRead; +import org.neo4j.kernel.api.KernelTransaction; import org.neo4j.kernel.api.Statement; -import org.neo4j.storageengine.api.Token; import static org.neo4j.graphdb.Label.label; import static org.neo4j.kernel.api.ReadOperations.ANY_LABEL; @@ -38,80 +40,78 @@ public abstract class TokenAccess public static final TokenAccess RELATIONSHIP_TYPES = new TokenAccess() { @Override - Iterator tokens( ReadOperations read ) + Iterator tokens( TokenRead read ) { return read.relationshipTypesGetAllTokens(); } @Override - RelationshipType token( Token token ) + RelationshipType token( NamedToken token ) { - if ( token instanceof RelationshipType ) - { - return (RelationshipType) token; - } return RelationshipType.withName( token.name() ); } @Override - boolean inUse( ReadOperations read, int tokenId ) + boolean inUse( KernelTransaction transaction, int tokenId ) { - return hasAny( read.constraintsGetForRelationshipType( tokenId ) ) || // used by constraint - read.countsForRelationship( ANY_LABEL, tokenId, ANY_LABEL ) > 0; // used by data + return hasAny( transaction.schemaRead().constraintsGetForRelationshipType( tokenId ) ) || // used by constraint + transaction.dataRead().countsForRelationship( ANY_LABEL, tokenId, ANY_LABEL ) > 0; // used by data } }; public static final TokenAccess