public static GraphDatabaseDependencies NewDependencies() { ImmutableList <Type> settingsClasses = ImmutableListFactoryImpl.INSTANCE.empty(); //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: org.eclipse.collections.api.list.ImmutableList<org.neo4j.kernel.extension.KernelExtensionFactory<?>> kernelExtensions = asImmutableList(getKernelExtensions(org.neo4j.helpers.Service.load(org.neo4j.kernel.extension.KernelExtensionFactory.class).iterator())); ImmutableList <KernelExtensionFactory <object> > kernelExtensions = asImmutableList(GetKernelExtensions(Service.load(typeof(KernelExtensionFactory)).GetEnumerator())); ImmutableMap <string, URLAccessRule> urlAccessRules = ImmutableMapFactoryImpl.INSTANCE.of("http", URLAccessRules.alwaysPermitted(), "https", URLAccessRules.alwaysPermitted(), "ftp", URLAccessRules.alwaysPermitted(), "file", URLAccessRules.fileAccess()); ImmutableList <QueryEngineProvider> queryEngineProviders = asImmutableList(Service.load(typeof(QueryEngineProvider))); ImmutableList <Pair <DeferredExecutor, Group> > deferredExecutors = ImmutableListFactoryImpl.INSTANCE.empty(); return(new GraphDatabaseDependencies(null, null, settingsClasses, kernelExtensions, urlAccessRules, queryEngineProviders, deferredExecutors)); }
public PlatformModule(File providedStoreDir, Config config, DatabaseInfo databaseInfo, GraphDatabaseFacadeFactory.Dependencies externalDependencies) { this.DatabaseInfo = databaseInfo; this.DataSourceManager = new DataSourceManager(config); Dependencies = new Dependencies(); Dependencies.satisfyDependency(databaseInfo); Clock = Dependencies.satisfyDependency(CreateClock()); Life = Dependencies.satisfyDependency(CreateLife()); this.StoreLayout = StoreLayout.of(providedStoreDir); config.AugmentDefaults(GraphDatabaseSettings.neo4j_home, StoreLayout.storeDirectory().Path); this.Config = Dependencies.satisfyDependency(config); FileSystem = Dependencies.satisfyDependency(CreateFileSystemAbstraction()); Life.add(new FileSystemLifecycleAdapter(FileSystem)); // Component monitoring Monitors = externalDependencies.Monitors() == null ? new Monitors() : externalDependencies.Monitors(); Dependencies.satisfyDependency(Monitors); JobScheduler = Life.add(Dependencies.satisfyDependency(CreateJobScheduler())); StartDeferredExecutors(JobScheduler, externalDependencies.DeferredExecutors()); // Cleanup after recovery, used by GBPTree, added to life in NeoStoreDataSource RecoveryCleanupWorkCollector = new GroupingRecoveryCleanupWorkCollector(JobScheduler); Dependencies.satisfyDependency(RecoveryCleanupWorkCollector); // Database system information, used by UDC UsageData = new UsageData(JobScheduler); Dependencies.satisfyDependency(Life.add(UsageData)); // If no logging was passed in from the outside then create logging and register // with this life Logging = Dependencies.satisfyDependency(CreateLogService(externalDependencies.UserLogProvider())); config.Logger = Logging.getInternalLog(typeof(Config)); Life.add(Dependencies.satisfyDependency(new StoreLockerLifecycleAdapter(CreateStoreLocker()))); (new JvmChecker(Logging.getInternalLog(typeof(JvmChecker)), new JvmMetadataRepository())).checkJvmCompatibilityAndIssueWarning(); string desiredImplementationName = config.Get(GraphDatabaseSettings.tracer); Tracers = Dependencies.satisfyDependency(new Tracers(desiredImplementationName, Logging.getInternalLog(typeof(Tracers)), Monitors, JobScheduler, Clock)); Dependencies.satisfyDependency(Tracers.pageCacheTracer); Dependencies.satisfyDependency(FirstImplementor(typeof(LogRotationMonitor), Tracers.transactionTracer, LogRotationMonitor.NULL)); Dependencies.satisfyDependency(FirstImplementor(typeof(CheckPointerMonitor), Tracers.checkPointTracer, CheckPointerMonitor.NULL)); VersionContextSupplier = CreateCursorContextSupplier(config); CollectionsFactorySupplier = CreateCollectionsFactorySupplier(config, Life); Dependencies.satisfyDependency(VersionContextSupplier); PageCache = Dependencies.satisfyDependency(CreatePageCache(FileSystem, config, Logging, Tracers, VersionContextSupplier, JobScheduler)); Life.add(new PageCacheLifecycle(PageCache)); DiagnosticsManager = Life.add(Dependencies.satisfyDependency(new DiagnosticsManager(Logging.getInternalLog(typeof(DiagnosticsManager))))); SystemDiagnostics.registerWith(DiagnosticsManager); Dependencies.satisfyDependency(DataSourceManager); KernelExtensionFactories = externalDependencies.KernelExtensions(); EngineProviders = externalDependencies.ExecutionEngines(); GlobalKernelExtensions = Dependencies.satisfyDependency(new GlobalKernelExtensions(new SimpleKernelContext(StoreLayout.storeDirectory(), databaseInfo, Dependencies), KernelExtensionFactories, Dependencies, KernelExtensionFailureStrategies.fail())); UrlAccessRule = Dependencies.satisfyDependency(URLAccessRules.combined(externalDependencies.UrlAccessRules())); ConnectorPortRegister = new ConnectorPortRegister(); Dependencies.satisfyDependency(ConnectorPortRegister); EventHandlers = new KernelEventHandlers(Logging.getInternalLog(typeof(KernelEventHandlers))); PanicEventGenerator = new DatabasePanicEventGenerator(EventHandlers); PublishPlatformInfo(Dependencies.resolveDependency(typeof(UsageData))); }