示例#1
0
        public static TransactionalContextFactory Create(GraphDatabaseFacade.SPI spi, ThreadToStatementContextBridge txBridge, PropertyContainerLocker locker)
        {
            System.Func <GraphDatabaseQueryService> queryService = lazySingleton(spi.queryService);
            System.Func <Kernel> kernel = lazySingleton(spi.kernel);
            Neo4jTransactionalContext.Creator contextCreator = (tx, initialStatement, executingQuery) => new Neo4jTransactionalContext(queryService(), txBridge, locker, tx, initialStatement, executingQuery, kernel());

            return(new Neo4jTransactionalContextFactory(txBridge, contextCreator));
        }
示例#2
0
        public static TransactionalContextFactory Create(GraphDatabaseQueryService queryService, PropertyContainerLocker locker)
        {
            DependencyResolver             resolver = queryService.DependencyResolver;
            ThreadToStatementContextBridge txBridge = resolver.ResolveDependency(typeof(ThreadToStatementContextBridge));
            Kernel kernel = resolver.ResolveDependency(typeof(Kernel));

            Neo4jTransactionalContext.Creator contextCreator = (tx, initialStatement, executingQuery) => new Neo4jTransactionalContext(queryService, txBridge, locker, tx, initialStatement, executingQuery, kernel);

            return(new Neo4jTransactionalContextFactory(txBridge, contextCreator));
        }
示例#3
0
 // Please use the factory methods above to actually construct an instance
 private Neo4jTransactionalContextFactory(System.Func <Statement> statementSupplier, Neo4jTransactionalContext.Creator contextCreator)
 {
     this._statementSupplier = statementSupplier;
     this._contextCreator    = contextCreator;
 }