@Override public DependencyResolver resolver() { return dataSource.neoStoreDataSource.getDependencyResolver(); }
private <T> T resolveDependency( NeoStoreDataSource ds, Class<T> clazz ) { return ds.getDependencyResolver().resolveDependency( clazz ); }
private static NeoStoreDataSource neoStoreDataSourceWithLogFilesContainingLowestTxId( LogFiles files ) { DependencyResolver resolver = mock( DependencyResolver.class ); when( resolver.resolveDependency( LogFiles.class ) ).thenReturn( files ); NeoStoreDataSource dataSource = mock( NeoStoreDataSource.class ); when( dataSource.getDependencyResolver() ).thenReturn( resolver ); return dataSource; }
public <T> T resolveDependency( Class<T> clazz ) { return kernel.getDataSourceManager().getDataSource().getDependencyResolver().resolveDependency( clazz ); }
private long getNumberOfIdsInUse( IdType type ) { return neoStoreDataSource.getDependencyResolver().resolveDependency( IdGeneratorFactory.class ).get( type ).getNumberOfIdsInUse(); }
private StoreSizeProvider( FileSystemAbstraction fs, NeoStoreDataSource ds ) { final DependencyResolver deps = ds.getDependencyResolver(); this.fs = requireNonNull( fs ); this.logFiles = deps.resolveDependency( LogFiles.class ); this.explicitIndexProviderLookup = deps.resolveDependency( ExplicitIndexProvider.class ); this.indexProviderMap = deps.resolveDependency( IndexProviderMap.class ); this.labelScanStore = deps.resolveDependency( LabelScanStore.class ); this.databaseLayout = ds.getDatabaseLayout(); }
@Override public void start() throws Throwable { // When we have multiple dbs, this has to be suitably modified to get the right kernel and procedures NeoStoreDataSource dataSource = dataSourceManager.getDataSource(); EmbeddedProxySPI embeddedProxySPI = dataSource.getDependencyResolver() .resolveDependency( EmbeddedProxySPI.class, DependencyResolver.SelectionStrategy.ONLY ); dataCollectors.add( DataCollectorModule.setupDataCollector( procedures, jobScheduler, dataSource.getKernel(), monitors, new DefaultValueMapper( embeddedProxySPI ) ) ); }
/** * Register store file sizes, sans transaction logs */ private void addStoreFileSizes( Map<String,String> udcFields ) { if ( neoStoreDataSource == null ) { return; } DependencyResolver dependencyResolver = neoStoreDataSource.getDependencyResolver(); FileSystemAbstraction fileSystem = dependencyResolver.resolveDependency( FileSystemAbstraction.class ); long databaseSize = FileUtils.size( fileSystem, neoStoreDataSource.getDatabaseLayout().databaseDirectory() ); add( udcFields, STORE_SIZE, databaseSize ); }
private CheckPointer checkPointer( GraphDatabaseService db ) { DependencyResolver dependencyResolver = dependencyResolver( db ); return dependencyResolver.resolveDependency( NeoStoreDataSource.class ).getDependencyResolver() .resolveDependency( CheckPointer.class ); }
@Override public void registered( NeoStoreDataSource ds ) { StoreId id = ds.getStoreId(); storeLogVersion = ds.getDependencyResolver().resolveDependency( LogVersionRepository.class ).getCurrentLogVersion(); storeCreationDate = id.getCreationTime(); isReadOnly = ds.isReadOnly(); storeId = id.getRandomId(); databaseName = ds.getDatabaseName(); }
@BeforeEach void setUp() { Dependencies dependencies = new Dependencies(); dependencies.satisfyDependencies( new StubIdGeneratorFactory() ); dependencies.satisfyDependencies( fileSystem ); when( dataSource.getDependencyResolver() ).thenReturn( dependencies ); when( dataSource.getDatabaseLayout() ).thenReturn( DatabaseLayout.of( new File( "database" ) ) ); when( dataSource.getStoreId() ).thenReturn( StoreId.DEFAULT ); dataSourceManager.start(); dataSourceManager.register( dataSource ); }
@Override public GraphDatabaseService apply( Context context ) throws ProcedureException { KernelTransaction tx = context.getOrElse( Context.KERNEL_TRANSACTION, null ); SecurityContext securityContext; if ( tx != null ) { securityContext = tx.securityContext(); } else { securityContext = context.get( Context.SECURITY_CONTEXT ); } GraphDatabaseFacade facade = new GraphDatabaseFacade(); ProcedureGDBFacadeSPI procedureGDBFacadeSPI = new ProcedureGDBFacadeSPI( dataSource, dataSource.neoStoreDataSource.getDependencyResolver(), availability, urlValidator, securityContext, bridge ); facade.init( procedureGDBFacadeSPI, bridge, platform.config, tokenHolders ); return facade; } }
private long nextId( Class<?> clazz ) { NeoStores neoStores = ds.getDependencyResolver() .resolveDependency( RecordStorageEngine.class ).testAccessNeoStores(); if ( clazz.equals( PropertyKeyTokenRecord.class ) ) { return neoStores.getPropertyKeyTokenStore().nextId(); } if ( clazz.equals( RelationshipType.class ) ) { return neoStores.getRelationshipTypeTokenStore().nextId(); } if ( clazz.equals( Node.class ) ) { return neoStores.getNodeStore().nextId(); } if ( clazz.equals( Relationship.class ) ) { return neoStores.getRelationshipStore().nextId(); } throw new IllegalArgumentException( clazz.getName() ); }
@Override void dump( NeoStoreDataSource source, Logger log ) { LogFiles logFiles = source.getDependencyResolver().resolveDependency( LogFiles.class ); try { for ( long logVersion = logFiles.getLowestLogVersion(); logFiles.versionExists( logVersion ); logVersion++ ) { if ( logFiles.hasAnyEntries( logVersion ) ) { LogHeader header = logFiles.extractHeader( logVersion ); long firstTransactionIdInThisLog = header.lastCommittedTxId + 1; log.log( "Oldest transaction " + firstTransactionIdInThisLog + " found in log with version " + logVersion ); return; } } log.log( "No transactions found in any log" ); } catch ( IOException e ) { // It's fine, we just tried to be nice and log this. Failing is OK log.log( "Error trying to figure out oldest transaction in log" ); } } };
dependencies.satisfyDependency( labelScanStore ); when( db.getDependencyResolver() ).thenReturn( dependencies ); when( dataSource.getDependencyResolver() ).thenReturn( dependencies ); when( dataSource.getDatabaseLayout() ).thenReturn( testDirectory.databaseLayout() );
private void initializeStores( DatabaseLayout databaseLayout, Map<String,String> additionalConfig ) throws IOException { Dependencies dependencies = new Dependencies(); dependencies.satisfyDependency( Config.defaults( additionalConfig ) ); ds = dsRule.getDataSource( databaseLayout, fs.get(), pageCache, dependencies ); ds.start(); NeoStores neoStores = ds.getDependencyResolver() .resolveDependency( RecordStorageEngine.class ).testAccessNeoStores(); pStore = neoStores.getPropertyStore(); rtStore = neoStores.getRelationshipTypeTokenStore(); relStore = neoStores.getRelationshipStore(); nodeStore = neoStores.getNodeStore(); storageReader = ds.getDependencyResolver().resolveDependency( StorageEngine.class ).newReader(); }
@Override public DependencyResolver resolver() { return dataSource.neoStoreDataSource.getDependencyResolver(); }
private OnlineBackupKernelExtension pickBackupExtension( NeoStoreDataSource dataSource ) { return dataSource.getDependencyResolver().resolveDependency( OnlineBackupKernelExtension.class ); } } );
@Override public long getLastCommittedTxId() { NeoStoreDataSource neoStoreDataSource = xadsm.getDataSource(); if ( neoStoreDataSource == null ) { return -1; } return neoStoreDataSource.getDependencyResolver().resolveDependency( TransactionIdStore.class ) .getLastCommittedTransactionId(); } }
private StoreSizeProvider( FileSystemAbstraction fs, NeoStoreDataSource ds ) { final DependencyResolver deps = ds.getDependencyResolver(); this.fs = requireNonNull( fs ); this.logFiles = deps.resolveDependency( LogFiles.class ); this.explicitIndexProviderLookup = deps.resolveDependency( ExplicitIndexProvider.class ); this.indexProviderMap = deps.resolveDependency( IndexProviderMap.class ); this.labelScanStore = deps.resolveDependency( LabelScanStore.class ); this.databaseLayout = ds.getDatabaseLayout(); }