Skip to content

Commit

Permalink
Use kernel API in token creator
Browse files Browse the repository at this point in the history
  • Loading branch information
pontusmelke committed Mar 20, 2018
1 parent 1732729 commit 785af8e
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 19 deletions.
Expand Up @@ -21,10 +21,10 @@


import java.util.function.Supplier; import java.util.function.Supplier;


import org.neo4j.kernel.api.InwardKernel;
import org.neo4j.kernel.api.Statement;
import org.neo4j.internal.kernel.api.exceptions.schema.IllegalTokenNameException; import org.neo4j.internal.kernel.api.exceptions.schema.IllegalTokenNameException;
import org.neo4j.internal.kernel.api.exceptions.schema.TooManyLabelsException; import org.neo4j.internal.kernel.api.exceptions.schema.TooManyLabelsException;
import org.neo4j.kernel.api.InwardKernel;
import org.neo4j.kernel.api.KernelTransaction;
import org.neo4j.kernel.impl.store.id.IdGeneratorFactory; import org.neo4j.kernel.impl.store.id.IdGeneratorFactory;
import org.neo4j.kernel.impl.store.id.IdType; import org.neo4j.kernel.impl.store.id.IdType;


Expand All @@ -36,10 +36,10 @@ public DefaultLabelIdCreator( Supplier<InwardKernel> kernelSupplier, IdGenerator
} }


@Override @Override
protected int createKey( Statement statement, String name ) throws IllegalTokenNameException, TooManyLabelsException protected int createKey( KernelTransaction transaction, String name ) throws IllegalTokenNameException, TooManyLabelsException
{ {
int id = (int) idGeneratorFactory.get( IdType.LABEL_TOKEN ).nextId(); int id = (int) idGeneratorFactory.get( IdType.LABEL_TOKEN ).nextId();
statement.tokenWriteOperations().labelCreateForName( name, id ); transaction.tokenWrite().labelCreateForName( name, id );
return id; return id;
} }
} }
Expand Up @@ -21,9 +21,9 @@


import java.util.function.Supplier; import java.util.function.Supplier;


import org.neo4j.kernel.api.InwardKernel;
import org.neo4j.kernel.api.Statement;
import org.neo4j.internal.kernel.api.exceptions.schema.IllegalTokenNameException; import org.neo4j.internal.kernel.api.exceptions.schema.IllegalTokenNameException;
import org.neo4j.kernel.api.InwardKernel;
import org.neo4j.kernel.api.KernelTransaction;
import org.neo4j.kernel.impl.store.id.IdGeneratorFactory; import org.neo4j.kernel.impl.store.id.IdGeneratorFactory;
import org.neo4j.kernel.impl.store.id.IdType; import org.neo4j.kernel.impl.store.id.IdType;


Expand All @@ -35,10 +35,10 @@ public DefaultPropertyTokenCreator( Supplier<InwardKernel> kernelSupplier, IdGen
} }


@Override @Override
protected int createKey( Statement statement, String name ) throws IllegalTokenNameException protected int createKey( KernelTransaction transaction, String name ) throws IllegalTokenNameException
{ {
int id = (int) idGeneratorFactory.get( IdType.PROPERTY_KEY_TOKEN ).nextId(); int id = (int) idGeneratorFactory.get( IdType.PROPERTY_KEY_TOKEN ).nextId();
statement.tokenWriteOperations().propertyKeyCreateForName( name, id ); transaction.tokenWrite().propertyKeyCreateForName( name, id );
return id; return id;
} }
} }
Expand Up @@ -21,9 +21,9 @@


import java.util.function.Supplier; import java.util.function.Supplier;


import org.neo4j.kernel.api.InwardKernel;
import org.neo4j.kernel.api.Statement;
import org.neo4j.internal.kernel.api.exceptions.schema.IllegalTokenNameException; import org.neo4j.internal.kernel.api.exceptions.schema.IllegalTokenNameException;
import org.neo4j.kernel.api.InwardKernel;
import org.neo4j.kernel.api.KernelTransaction;
import org.neo4j.kernel.impl.store.id.IdGeneratorFactory; import org.neo4j.kernel.impl.store.id.IdGeneratorFactory;
import org.neo4j.kernel.impl.store.id.IdType; import org.neo4j.kernel.impl.store.id.IdType;


Expand All @@ -35,11 +35,10 @@ public DefaultRelationshipTypeCreator( Supplier<InwardKernel> kernelSupplier, Id
} }


@Override @Override
protected int createKey( Statement statement, String name ) throws IllegalTokenNameException protected int createKey( KernelTransaction transaction, String name ) throws IllegalTokenNameException
{ {
int id = (int) idGeneratorFactory.get( IdType.RELATIONSHIP_TYPE_TOKEN ).nextId(); int id = (int) idGeneratorFactory.get( IdType.RELATIONSHIP_TYPE_TOKEN ).nextId();
statement.tokenWriteOperations().relationshipTypeCreateForName( name, transaction.tokenWrite().relationshipTypeCreateForName( name, id );
id );
return id; return id;
} }
} }
Expand Up @@ -21,13 +21,13 @@


import java.util.function.Supplier; import java.util.function.Supplier;


import org.neo4j.internal.kernel.api.Transaction.Type;
import org.neo4j.internal.kernel.api.exceptions.KernelException; import org.neo4j.internal.kernel.api.exceptions.KernelException;
import org.neo4j.internal.kernel.api.exceptions.schema.IllegalTokenNameException;
import org.neo4j.internal.kernel.api.exceptions.schema.TooManyLabelsException;
import org.neo4j.kernel.api.InwardKernel; import org.neo4j.kernel.api.InwardKernel;
import org.neo4j.kernel.api.KernelTransaction; import org.neo4j.kernel.api.KernelTransaction;
import org.neo4j.internal.kernel.api.Transaction.Type;
import org.neo4j.kernel.api.Statement; import org.neo4j.kernel.api.Statement;
import org.neo4j.internal.kernel.api.exceptions.schema.IllegalTokenNameException;
import org.neo4j.internal.kernel.api.exceptions.schema.TooManyLabelsException;
import org.neo4j.kernel.impl.store.id.IdGeneratorFactory; import org.neo4j.kernel.impl.store.id.IdGeneratorFactory;


import static org.neo4j.internal.kernel.api.security.LoginContext.AUTH_DISABLED; import static org.neo4j.internal.kernel.api.security.LoginContext.AUTH_DISABLED;
Expand Down Expand Up @@ -55,15 +55,15 @@ public synchronized int getOrCreate( String name ) throws KernelException
InwardKernel kernel = kernelSupplier.get(); InwardKernel kernel = kernelSupplier.get();
try ( KernelTransaction transaction = kernel.newTransaction( Type.implicit, AUTH_DISABLED ) ) try ( KernelTransaction transaction = kernel.newTransaction( Type.implicit, AUTH_DISABLED ) )
{ {
try ( Statement statement = transaction.acquireStatement() ) try ( Statement ignore = transaction.acquireStatement() )
{ {
int id = createKey( statement, name ); int id = createKey( transaction, name );
transaction.success(); transaction.success();
return id; return id;
} }
} }
} }


protected abstract int createKey( Statement statement, String name ) protected abstract int createKey( KernelTransaction transaction, String name )
throws IllegalTokenNameException, TooManyLabelsException; throws IllegalTokenNameException, TooManyLabelsException;
} }

0 comments on commit 785af8e

Please sign in to comment.