Skip to content

Commit

Permalink
Use new API for create node
Browse files Browse the repository at this point in the history
  • Loading branch information
pontusmelke committed Jan 19, 2018
1 parent b19718f commit c064732
Showing 1 changed file with 9 additions and 6 deletions.
Expand Up @@ -60,6 +60,7 @@
import org.neo4j.internal.kernel.api.InternalIndexState;
import org.neo4j.internal.kernel.api.NodeCursor;
import org.neo4j.internal.kernel.api.NodeLabelIndexCursor;
import org.neo4j.internal.kernel.api.Write;
import org.neo4j.internal.kernel.api.exceptions.InvalidTransactionTypeKernelException;
import org.neo4j.internal.kernel.api.exceptions.KernelException;
import org.neo4j.internal.kernel.api.exceptions.schema.ConstraintValidationException;
Expand All @@ -79,9 +80,9 @@
import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.guard.Guard;
import org.neo4j.kernel.impl.api.TokenAccess;
import org.neo4j.kernel.impl.core.EmbeddedProxySPI;
import org.neo4j.kernel.impl.core.GraphPropertiesProxy;
import org.neo4j.kernel.impl.core.NodeProxy;
import org.neo4j.kernel.impl.core.EmbeddedProxySPI;
import org.neo4j.kernel.impl.core.RelationshipProxy;
import org.neo4j.kernel.impl.core.RelationshipTypeTokenHolder;
import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge;
Expand Down Expand Up @@ -257,15 +258,17 @@ public Long createNodeId()
@Override
public Node createNode( Label... labels )
{
try ( Statement statement = statementContext.get() )
KernelTransaction transaction = statementContext.getKernelTransactionBoundToThisThread( true );
try ( Statement ignore = transaction.acquireStatement() )
{
long nodeId = statement.dataWriteOperations().nodeCreate();
Write write = transaction.dataWrite();
long nodeId = write.nodeCreate();
for ( Label label : labels )
{
int labelId = statement.tokenWriteOperations().labelGetOrCreateForName( label.name() );
int labelId = transaction.tokenWrite().labelGetOrCreateForName( label.name() );
try
{
statement.dataWriteOperations().nodeAddLabel( nodeId, labelId );
write.nodeAddLabel( nodeId, labelId );
}
catch ( EntityNotFoundException e )
{
Expand All @@ -282,7 +285,7 @@ public Node createNode( Label... labels )
{
throw new IllegalArgumentException( e );
}
catch ( InvalidTransactionTypeKernelException e )
catch ( KernelException e )
{
throw new ConstraintViolationException( e.getMessage(), e );
}
Expand Down

0 comments on commit c064732

Please sign in to comment.