private DatabaseIdContext CreateBufferingIdContext <T1>(System.Func <T1> idGeneratorFactoryProvider, JobScheduler jobScheduler, string databaseName) where T1 : Org.Neo4j.Kernel.impl.store.id.IdGeneratorFactory { IdGeneratorFactory idGeneratorFactory = idGeneratorFactoryProvider(databaseName); BufferingIdGeneratorFactory bufferingIdGeneratorFactory = new BufferingIdGeneratorFactory(idGeneratorFactory, _eligibleForIdReuse, _idTypeConfigurationProvider); BufferedIdController bufferingController = CreateBufferedIdController(bufferingIdGeneratorFactory, jobScheduler); return(CreateIdContext(bufferingIdGeneratorFactory, bufferingController)); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test void createCommunityBufferedContextByDefault() internal virtual void CreateCommunityBufferedContextByDefault() { IdContextFactory idContextFactory = IdContextFactoryBuilder.Of(_fs, _jobScheduler).build(); DatabaseIdContext idContext = idContextFactory.CreateIdContext("database"); IdGeneratorFactory idGeneratorFactory = idContext.IdGeneratorFactory; assertThat(idContext.IdController, instanceOf(typeof(BufferedIdController))); assertThat(idGeneratorFactory, instanceOf(typeof(BufferingIdGeneratorFactory))); (( BufferingIdGeneratorFactory )idGeneratorFactory).initialize(() => mock(typeof(KernelTransactionsSnapshot))); idGeneratorFactory.Open(_testDirectory.file("a"), IdType.NODE, () => 0, 100).Dispose(); idGeneratorFactory.Open(_testDirectory.file("b"), IdType.PROPERTY, () => 0, 100).Dispose(); BufferingIdGeneratorFactory bufferedFactory = ( BufferingIdGeneratorFactory )idGeneratorFactory; assertThat(bufferedFactory.Get(IdType.NODE), instanceOf(typeof(IdGeneratorImpl))); assertThat(bufferedFactory.Get(IdType.PROPERTY), not(instanceOf(typeof(IdGeneratorImpl)))); }
private RecordStorageEngine Get(FileSystemAbstraction fs, PageCache pageCache, IndexProvider indexProvider, DatabaseHealth databaseHealth, DatabaseLayout databaseLayout, System.Func <BatchTransactionApplierFacade, BatchTransactionApplierFacade> transactionApplierTransformer, Monitors monitors, LockService lockService) { IdGeneratorFactory idGeneratorFactory = new EphemeralIdGenerator.Factory(); ExplicitIndexProvider explicitIndexProviderLookup = mock(typeof(ExplicitIndexProvider)); when(explicitIndexProviderLookup.AllIndexProviders()).thenReturn(Iterables.empty()); IndexConfigStore indexConfigStore = new IndexConfigStore(databaseLayout, fs); JobScheduler scheduler = _life.add(createScheduler()); Config config = Config.defaults(GraphDatabaseSettings.default_schema_provider, indexProvider.ProviderDescriptor.name()); Dependencies dependencies = new Dependencies(); dependencies.SatisfyDependency(indexProvider); BufferingIdGeneratorFactory bufferingIdGeneratorFactory = new BufferingIdGeneratorFactory(idGeneratorFactory, Org.Neo4j.Kernel.impl.store.id.IdReuseEligibility_Fields.Always, new CommunityIdTypeConfigurationProvider()); DefaultIndexProviderMap indexProviderMap = new DefaultIndexProviderMap(dependencies, config); NullLogProvider nullLogProvider = NullLogProvider.Instance; _life.add(indexProviderMap); return(_life.add(new ExtendedRecordStorageEngine(databaseLayout, config, pageCache, fs, nullLogProvider, nullLogProvider, mockedTokenHolders(), mock(typeof(SchemaState)), new StandardConstraintSemantics(), scheduler, mock(typeof(TokenNameLookup)), lockService, indexProviderMap, IndexingService.NO_MONITOR, databaseHealth, explicitIndexProviderLookup, indexConfigStore, new SynchronizedArrayIdOrderingQueue(), idGeneratorFactory, new BufferedIdController(bufferingIdGeneratorFactory, scheduler), transactionApplierTransformer, monitors, RecoveryCleanupWorkCollector.immediate(), OperationalMode.single))); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test void createContextWithProvidedReusabilityCheck() internal virtual void CreateContextWithProvidedReusabilityCheck() { IdReuseEligibility reuseEligibility = mock(typeof(IdReuseEligibility)); IdContextFactory contextFactory = IdContextFactoryBuilder.Of(_fs, _jobScheduler).withIdReuseEligibility(reuseEligibility).build(); DatabaseIdContext idContext = contextFactory.CreateIdContext("database"); IdGeneratorFactory bufferedGeneratorFactory = idContext.IdGeneratorFactory; assertThat(bufferedGeneratorFactory, instanceOf(typeof(BufferingIdGeneratorFactory))); BufferingIdGeneratorFactory bufferedFactory = ( BufferingIdGeneratorFactory )bufferedGeneratorFactory; KernelTransactionsSnapshot snapshot = mock(typeof(KernelTransactionsSnapshot)); when(snapshot.AllClosed()).thenReturn(true); bufferedFactory.Initialize(() => snapshot); using (IdGenerator idGenerator = bufferedFactory.Open(_testDirectory.file("a"), IdType.PROPERTY, () => 100, 100)) { idGenerator.FreeId(15); bufferedFactory.Maintenance(); verify(reuseEligibility).isEligible(snapshot); } }
public BufferedIdController(BufferingIdGeneratorFactory bufferingIdGeneratorFactory, JobScheduler scheduler) { this._bufferingIdGeneratorFactory = bufferingIdGeneratorFactory; this._scheduler = scheduler; }
private static BufferedIdController CreateBufferedIdController(BufferingIdGeneratorFactory idGeneratorFactory, JobScheduler scheduler) { return(new BufferedIdController(idGeneratorFactory, scheduler)); }