private static TransactionalContextFactory newTransactionalContextFactory( GraphDatabaseAPI db ) { GraphDatabaseQueryService queryService = resolveDependency( db, GraphDatabaseQueryService.class ); return Neo4jTransactionalContextFactory.create( queryService, locker ); }
public static TransactionalContextFactory create( GraphDatabaseFacade.SPI spi, ThreadToStatementContextBridge txBridge, PropertyContainerLocker locker ) { Supplier<GraphDatabaseQueryService> queryService = lazySingleton( spi::queryService ); Supplier<Kernel> kernel = lazySingleton( spi::kernel ); Neo4jTransactionalContext.Creator contextCreator = ( tx, initialStatement, executingQuery ) -> new Neo4jTransactionalContext( queryService.get(), txBridge, locker, tx, initialStatement, executingQuery, kernel.get() ); return new Neo4jTransactionalContextFactory( txBridge, contextCreator ); }
@Override public void start() { DependencyResolver resolver = database.getGraph().getDependencyResolver(); this.executionEngine = (ExecutionEngine) resolver.resolveDependency( QueryExecutionEngine.class ); this.service = resolver.resolveDependency( GraphDatabaseQueryService.class ); this.contextFactory = Neo4jTransactionalContextFactory.create( this.service, locker ); }
@Deprecated public static TransactionalContextFactory create( GraphDatabaseQueryService queryService, PropertyContainerLocker locker ) { DependencyResolver resolver = queryService.getDependencyResolver(); ThreadToStatementContextBridge txBridge = resolver.resolveDependency( ThreadToStatementContextBridge.class ); Kernel kernel = resolver.resolveDependency( Kernel.class ); Neo4jTransactionalContext.Creator contextCreator = ( tx, initialStatement, executingQuery ) -> new Neo4jTransactionalContext( queryService, txBridge, locker, tx, initialStatement, executingQuery, kernel ); return new Neo4jTransactionalContextFactory( txBridge, contextCreator ); }
public TransactionalContext create( HttpServletRequest request, GraphDatabaseQueryService service, Type type, LoginContext loginContext, String query, Map<String, Object> queryParameters ) { TransactionalContextFactory contextFactory = Neo4jTransactionalContextFactory.create( service, locker ); ClientConnectionInfo clientConnection = HttpConnectionInfoFactory.create( request ); InternalTransaction transaction = service.beginTransaction( type, loginContext ); return contextFactory.newContext( clientConnection, transaction, query, ValueUtils.asMapValue( queryParameters ) ); } }
public static TransactionalContextFactory create( GraphDatabaseFacade.SPI spi, ThreadToStatementContextBridge txBridge, PropertyContainerLocker locker ) { Supplier<GraphDatabaseQueryService> queryService = lazySingleton( spi::queryService ); Supplier<Kernel> kernel = lazySingleton( spi::kernel ); Neo4jTransactionalContext.Creator contextCreator = ( tx, initialStatement, executingQuery ) -> new Neo4jTransactionalContext( queryService.get(), txBridge, locker, tx, initialStatement, executingQuery, kernel.get() ); return new Neo4jTransactionalContextFactory( txBridge, contextCreator ); }
private TransactionalContext createTransactionContext( GraphDatabaseQueryService graph, InternalTransaction tx, String query ) { PropertyContainerLocker locker = new PropertyContainerLocker(); TransactionalContextFactory contextFactory = Neo4jTransactionalContextFactory.create( graph, locker ); return contextFactory.newContext( ClientConnectionInfo.EMBEDDED_CONNECTION, tx, query, EMPTY_MAP ); }
@Deprecated public static TransactionalContextFactory create( GraphDatabaseQueryService queryService, PropertyContainerLocker locker ) { DependencyResolver resolver = queryService.getDependencyResolver(); ThreadToStatementContextBridge txBridge = resolver.resolveDependency( ThreadToStatementContextBridge.class ); Kernel kernel = resolver.resolveDependency( Kernel.class ); Neo4jTransactionalContext.Creator contextCreator = ( tx, initialStatement, executingQuery ) -> new Neo4jTransactionalContext( queryService, txBridge, locker, tx, initialStatement, executingQuery, kernel ); return new Neo4jTransactionalContextFactory( txBridge, contextCreator ); }
private TransactionalContext createTransactionContext( GraphDatabaseQueryService graph, InternalTransaction tx, String query ) { PropertyContainerLocker locker = new PropertyContainerLocker(); TransactionalContextFactory contextFactory = Neo4jTransactionalContextFactory.create( graph, locker ); return contextFactory.newContext( ClientConnectionInfo.EMBEDDED_CONNECTION, tx, query, EMPTY_MAP ); } }
/** * Create a new Core API facade, backed by the given SPI and using pre-resolved dependencies */ public void init( SPI spi, ThreadToStatementContextBridge txBridge, Config config, TokenHolders tokenHolders ) { this.spi = spi; this.config = config; this.schema = new SchemaImpl( () -> txBridge.getKernelTransactionBoundToThisThread( true ) ); this.statementContext = txBridge; this.tokenHolders = tokenHolders; this.indexManager = Suppliers.lazySingleton( () -> { IndexProviderImpl idxProvider = new IndexProviderImpl( this, () -> txBridge.getKernelTransactionBoundToThisThread( true ) ); AutoIndexerFacade<Node> nodeAutoIndexer = new AutoIndexerFacade<>( () -> new ReadOnlyIndexFacade<>( idxProvider.getOrCreateNodeIndex( NODE_AUTO_INDEX, null ) ), spi.autoIndexing().nodes() ); RelationshipAutoIndexerFacade relAutoIndexer = new RelationshipAutoIndexerFacade( () -> new ReadOnlyRelationshipIndexFacade( idxProvider.getOrCreateRelationshipIndex( RELATIONSHIP_AUTO_INDEX, null ) ), spi.autoIndexing().relationships() ); return new IndexManagerImpl( () -> txBridge.getKernelTransactionBoundToThisThread( true ), idxProvider, nodeAutoIndexer, relAutoIndexer ); } ); this.contextFactory = Neo4jTransactionalContextFactory.create( spi, txBridge, locker ); }
private static TransactionalContextFactory newTransactionalContextFactory( GraphDatabaseAPI db ) { GraphDatabaseQueryService queryService = resolveDependency( db, GraphDatabaseQueryService.class ); return Neo4jTransactionalContextFactory.create( queryService, locker ); }
@Override public void start() { DependencyResolver resolver = database.getGraph().getDependencyResolver(); this.executionEngine = (ExecutionEngine) resolver.resolveDependency( QueryExecutionEngine.class ); this.service = resolver.resolveDependency( GraphDatabaseQueryService.class ); this.contextFactory = Neo4jTransactionalContextFactory.create( this.service, locker ); }
public TransactionalContext create( HttpServletRequest request, GraphDatabaseQueryService service, Type type, LoginContext loginContext, String query, Map<String, Object> queryParameters ) { TransactionalContextFactory contextFactory = Neo4jTransactionalContextFactory.create( service, locker ); ClientConnectionInfo clientConnection = HttpConnectionInfoFactory.create( request ); InternalTransaction transaction = service.beginTransaction( type, loginContext ); return contextFactory.newContext( clientConnection, transaction, query, ValueUtils.asMapValue( queryParameters ) ); } }
private TransactionalContext createTransactionContext( String queryText, Map<String,Object> queryParameters, Session session ) { DependencyResolver dependencyResolver = getDependencyResolver(); GraphDatabaseQueryService graph = dependencyResolver.resolveDependency( GraphDatabaseQueryService.class ); TransactionalContextFactory contextFactory = Neo4jTransactionalContextFactory.create( graph, new PropertyContainerLocker() ); InternalTransaction transaction = graph.beginTransaction( KernelTransaction.Type.implicit, LoginContext.AUTH_DISABLED ); return contextFactory.newContext( new ShellConnectionInfo( session.getId() ), transaction, queryText, ValueUtils.asParameterMapValue( queryParameters ) ); } }
/** * Create a new Core API facade, backed by the given SPI and using pre-resolved dependencies */ public void init( SPI spi, ThreadToStatementContextBridge txBridge, Config config, TokenHolders tokenHolders ) { this.spi = spi; this.config = config; this.schema = new SchemaImpl( () -> txBridge.getKernelTransactionBoundToThisThread( true ) ); this.statementContext = txBridge; this.tokenHolders = tokenHolders; this.indexManager = Suppliers.lazySingleton( () -> { IndexProviderImpl idxProvider = new IndexProviderImpl( this, () -> txBridge.getKernelTransactionBoundToThisThread( true ) ); AutoIndexerFacade<Node> nodeAutoIndexer = new AutoIndexerFacade<>( () -> new ReadOnlyIndexFacade<>( idxProvider.getOrCreateNodeIndex( NODE_AUTO_INDEX, null ) ), spi.autoIndexing().nodes() ); RelationshipAutoIndexerFacade relAutoIndexer = new RelationshipAutoIndexerFacade( () -> new ReadOnlyRelationshipIndexFacade( idxProvider.getOrCreateRelationshipIndex( RELATIONSHIP_AUTO_INDEX, null ) ), spi.autoIndexing().relationships() ); return new IndexManagerImpl( () -> txBridge.getKernelTransactionBoundToThisThread( true ), idxProvider, nodeAutoIndexer, relAutoIndexer ); } ); this.contextFactory = Neo4jTransactionalContextFactory.create( spi, txBridge, locker ); }