public static TokenHolders mockedTokenHolders() { return new TokenHolders( mock( TokenHolder.class ), mock( TokenHolder.class ), mock( TokenHolder.class ) ); } }
@Override public int labelCount() { return tokenHolders.labelTokens().size(); }
@Override public int propertyKeyGetOrCreateForName( String propertyKeyName ) throws IllegalTokenNameException { return getOrCreateForName( tokenHolders.propertyKeyTokens(), propertyKeyName ); }
if ( type == EntityType.NODE ) tokenHolders.labelTokens().getOrCreateIds( entityTokens, entityTokenIds ); tokenHolders.relationshipTypeTokens().getOrCreateIds( entityTokens, entityTokenIds ); int[] propertyIds = Arrays.stream( properties ).mapToInt( tokenHolders.propertyKeyTokens()::getOrCreateId ).toArray();
LifeSupport life = new LifeSupport(); JobScheduler jobScheduler = life.add( JobSchedulerFactory.createInitialisedScheduler() ); TokenHolders tokenHolders = new TokenHolders( new DelegatingTokenHolder( new ReadOnlyTokenCreator(), TokenHolder.TYPE_PROPERTY_KEY ), new DelegatingTokenHolder( new ReadOnlyTokenCreator(), TokenHolder.TYPE_LABEL ), new DelegatingTokenHolder( new ReadOnlyTokenCreator(), TokenHolder.TYPE_RELATIONSHIP_TYPE ) ); tokenHolders.propertyKeyTokens().setInitialTokens( neoStores.getPropertyKeyTokenStore().getTokens() ); tokenHolders.labelTokens().setInitialTokens( neoStores.getLabelTokenStore().getTokens() ); tokenHolders.relationshipTypeTokens().setInitialTokens( neoStores.getRelationshipTypeTokenStore().getTokens() );
@Override public int relationshipTypeGetOrCreateForName( String relationshipTypeName ) throws IllegalTokenNameException { return getOrCreateForName( tokenHolders.relationshipTypeTokens(), relationshipTypeName ); }
@Override public void start() throws Throwable { neoStores.makeStoreOk(); tokenHolders.propertyKeyTokens().setInitialTokens( neoStores.getPropertyKeyTokenStore().getTokens() ); tokenHolders.relationshipTypeTokens().setInitialTokens( neoStores.getRelationshipTypeTokenStore().getTokens() ); tokenHolders.labelTokens().setInitialTokens( neoStores.getLabelTokenStore().getTokens() ); neoStores.startCountStore(); // TODO: move this to counts store lifecycle loadSchemaCache(); indexingService.start(); labelScanStore.start(); idController.start(); }
@Override public String relationshipTypeGetName( int relTypeId ) { return tokenById( tokenHolders.relationshipTypeTokens(), relTypeId, "relationshipType" ); }
@Override public void propertyKeyGetOrCreateForNames( String[] propertyKeys, int[] ids ) throws IllegalTokenNameException { getOrCreateForNames( tokenHolders.propertyKeyTokens(), propertyKeys, ids ); }
@Override public String labelGetName( int labelId ) { return tokenById( tokenHolders.labelTokens(), labelId, "label" ); }
@Override public void start() throws Throwable { neoStores.makeStoreOk(); tokenHolders.propertyKeyTokens().setInitialTokens( neoStores.getPropertyKeyTokenStore().getTokens() ); tokenHolders.relationshipTypeTokens().setInitialTokens( neoStores.getRelationshipTypeTokenStore().getTokens() ); tokenHolders.labelTokens().setInitialTokens( neoStores.getLabelTokenStore().getTokens() ); neoStores.startCountStore(); // TODO: move this to counts store lifecycle loadSchemaCache(); indexingService.start(); labelScanStore.start(); idController.start(); }
@Override public int relationshipTypeCount() { return tokenHolders.relationshipTypeTokens().size(); }
protected Function<String,TokenHolders> createTokenHolderProvider( PlatformModule platform ) { Config config = platform.config; DataSourceManager dataSourceManager = platform.dataSourceManager; return ignored -> new TokenHolders( new DelegatingTokenHolder( createPropertyKeyCreator( config, dataSourceManager ), TokenHolder.TYPE_PROPERTY_KEY ), new DelegatingTokenHolder( createLabelIdCreator( config, dataSourceManager ), TokenHolder.TYPE_LABEL ), new DelegatingTokenHolder( createRelationshipTypeCreator( config, dataSourceManager ), TokenHolder.TYPE_RELATIONSHIP_TYPE ) ); }
@Override public int propertyKeyCount() { return tokenHolders.propertyKeyTokens().size(); }
@Override public void addLabelToken( NamedToken label ) { tokenHolders.labelTokens().addToken( label ); }
@Override public void relationshipTypeGetOrCreateForNames( String[] relationshipTypes, int[] ids ) throws IllegalTokenNameException { getOrCreateForNames( tokenHolders.relationshipTypeTokens(), relationshipTypes, ids ); }
private IndexProviderMap createIndexes( PageCache pageCache, FileSystemAbstraction fileSystem, File storeDir, Config config, JobScheduler scheduler, LogProvider logProvider, Monitors monitors ) { LogService logService = new SimpleLogService( logProvider, logProvider ); TokenHolders tokenHolders = new TokenHolders( new DelegatingTokenHolder( new ReadOnlyTokenCreator(), TokenHolder.TYPE_PROPERTY_KEY ), new DelegatingTokenHolder( new ReadOnlyTokenCreator(), TokenHolder.TYPE_LABEL ), new DelegatingTokenHolder( new ReadOnlyTokenCreator(), TokenHolder.TYPE_RELATIONSHIP_TYPE ) ); DatabaseKernelExtensions extensions = life.add( instantiateKernelExtensions( storeDir, fileSystem, config, logService, pageCache, scheduler, RecoveryCleanupWorkCollector.ignore(), DatabaseInfo.COMMUNITY, monitors, tokenHolders ) ); return life.add( new DefaultIndexProviderMap( extensions, config ) ); }
@Override public String propertyKeyGetName( int propertyKeyId ) { return tokenById( tokenHolders.propertyKeyTokens(), propertyKeyId, "property" ); }
private int getOrCreateLabelId( String name ) { return tokenHolders.labelTokens().getOrCreateId( name ); }
@Override public void addRelationshipTypeToken( NamedToken type ) { tokenHolders.relationshipTypeTokens().addToken( type ); }