Skip to content

Commit

Permalink
Remove deprecated code from KernelExtensionFactory
Browse files Browse the repository at this point in the history
  • Loading branch information
davidegrohmann committed Jan 18, 2016
1 parent f24af6d commit a613240
Show file tree
Hide file tree
Showing 25 changed files with 152 additions and 183 deletions.
Expand Up @@ -55,6 +55,7 @@
import org.neo4j.kernel.configuration.ConfigValues; import org.neo4j.kernel.configuration.ConfigValues;
import org.neo4j.kernel.extension.KernelExtensionFactory; import org.neo4j.kernel.extension.KernelExtensionFactory;
import org.neo4j.kernel.impl.logging.LogService; import org.neo4j.kernel.impl.logging.LogService;
import org.neo4j.kernel.impl.spi.KernelContext;
import org.neo4j.kernel.impl.util.JobScheduler; import org.neo4j.kernel.impl.util.JobScheduler;
import org.neo4j.kernel.lifecycle.LifeSupport; import org.neo4j.kernel.lifecycle.LifeSupport;
import org.neo4j.kernel.lifecycle.Lifecycle; import org.neo4j.kernel.lifecycle.Lifecycle;
Expand Down Expand Up @@ -173,7 +174,7 @@ public BoltKernelExtension()
} }


@Override @Override
public Lifecycle newKernelExtension( final Dependencies dependencies ) throws Throwable public Lifecycle newInstance( KernelContext context, Dependencies dependencies ) throws Throwable
{ {
final Config config = dependencies.config(); final Config config = dependencies.config();
final GraphDatabaseService gdb = dependencies.db(); final GraphDatabaseService gdb = dependencies.db();
Expand All @@ -189,8 +190,6 @@ public Lifecycle newKernelExtension( final Dependencies dependencies ) throws Th
life.add( new StandardSessions( api, dependencies.usageData(), logging ) ), life.add( new StandardSessions( api, dependencies.usageData(), logging ) ),
scheduler, logging ); scheduler, logging );




List<NettyServer.ProtocolInitializer> connectors = new ArrayList<>(); List<NettyServer.ProtocolInitializer> connectors = new ArrayList<>();


List<Configuration> view = config.view( Settings.connector_group ); List<Configuration> view = config.view( Settings.connector_group );
Expand Down
Expand Up @@ -23,6 +23,7 @@
import org.neo4j.kernel.KernelData; import org.neo4j.kernel.KernelData;
import org.neo4j.kernel.extension.KernelExtensionFactory; import org.neo4j.kernel.extension.KernelExtensionFactory;
import org.neo4j.kernel.impl.logging.LogService; import org.neo4j.kernel.impl.logging.LogService;
import org.neo4j.kernel.impl.spi.KernelContext;
import org.neo4j.kernel.lifecycle.Lifecycle; import org.neo4j.kernel.lifecycle.Lifecycle;


@Service.Implementation(KernelExtensionFactory.class) @Service.Implementation(KernelExtensionFactory.class)
Expand All @@ -35,7 +36,6 @@ public interface Dependencies
LogService getLogService(); LogService getLogService();
} }



public static final String KEY = "kernel jmx"; public static final String KEY = "kernel jmx";


public JmxExtensionFactory() public JmxExtensionFactory()
Expand All @@ -44,8 +44,9 @@ public JmxExtensionFactory()
} }


@Override @Override
public Lifecycle newKernelExtension( Dependencies dependencies ) throws Throwable public Lifecycle newInstance( KernelContext context, Dependencies dependencies ) throws Throwable
{ {
return new JmxKernelExtension( dependencies.getKernelData(), dependencies.getLogService().getInternalLogProvider() ); return new JmxKernelExtension(
dependencies.getKernelData(), dependencies.getLogService().getInternalLogProvider() );
} }
} }
Expand Up @@ -36,25 +36,10 @@ protected KernelExtensionFactory( String key )
* *
* @return a class or null if no settings are needed * @return a class or null if no settings are needed
*/ */
public Class getSettingsClass() public Class<?> getSettingsClass()
{ {
return null; return null;
} }

/**
* Create a new instance of this kernel extension.
*
* @param dependencies Dependencies
* @return the lifecycle for the instance
* @deprecated use {@link #newInstance(KernelContext, Object)} instead
* @throws Throwable depends on the implementation
*/
@Deprecated
public Lifecycle newKernelExtension( DEPENDENCIES dependencies )
throws Throwable
{
throw new UnsupportedOperationException( "deprecated" );
}


/** /**
* Create a new instance of this kernel extension. * Create a new instance of this kernel extension.
Expand All @@ -64,10 +49,7 @@ public Lifecycle newKernelExtension( DEPENDENCIES dependencies )
* @return the {@link Lifecycle} for the extension * @return the {@link Lifecycle} for the extension
* @throws Throwable if there is an error * @throws Throwable if there is an error
*/ */
public Lifecycle newInstance( @SuppressWarnings( "unused" ) KernelContext context, DEPENDENCIES dependencies ) throws Throwable public abstract Lifecycle newInstance( KernelContext context, DEPENDENCIES dependencies ) throws Throwable;
{
return newKernelExtension( dependencies );
}


@Override @Override
public String toString() public String toString()
Expand Down
Expand Up @@ -30,10 +30,10 @@
import org.neo4j.graphdb.security.URLAccessRule; import org.neo4j.graphdb.security.URLAccessRule;
import org.neo4j.helpers.Clock; import org.neo4j.helpers.Clock;
import org.neo4j.helpers.collection.Iterables; import org.neo4j.helpers.collection.Iterables;
import org.neo4j.io.fs.DefaultFileSystemAbstraction;
import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.fs.FileSystemAbstraction;
import org.neo4j.io.pagecache.PageCache; import org.neo4j.io.pagecache.PageCache;
import org.neo4j.kernel.AvailabilityGuard; import org.neo4j.kernel.AvailabilityGuard;
import org.neo4j.io.fs.DefaultFileSystemAbstraction;
import org.neo4j.kernel.StoreLocker; import org.neo4j.kernel.StoreLocker;
import org.neo4j.kernel.StoreLockerLifecycleAdapter; import org.neo4j.kernel.StoreLockerLifecycleAdapter;
import org.neo4j.kernel.Version; import org.neo4j.kernel.Version;
Expand All @@ -47,6 +47,7 @@
import org.neo4j.kernel.impl.pagecache.PageCacheLifecycle; import org.neo4j.kernel.impl.pagecache.PageCacheLifecycle;
import org.neo4j.kernel.impl.security.URLAccessRules; import org.neo4j.kernel.impl.security.URLAccessRules;
import org.neo4j.kernel.impl.spi.KernelContext; import org.neo4j.kernel.impl.spi.KernelContext;
import org.neo4j.kernel.impl.spi.SimpleKernelContext;
import org.neo4j.kernel.impl.transaction.TransactionStats; import org.neo4j.kernel.impl.transaction.TransactionStats;
import org.neo4j.kernel.impl.transaction.state.DataSourceManager; import org.neo4j.kernel.impl.transaction.state.DataSourceManager;
import org.neo4j.kernel.impl.util.JobScheduler; import org.neo4j.kernel.impl.util.JobScheduler;
Expand Down Expand Up @@ -169,20 +170,7 @@ public DependencyResolver get()


transactionMonitor = dependencies.satisfyDependency( createTransactionStats() ); transactionMonitor = dependencies.satisfyDependency( createTransactionStats() );


KernelContext kernelContext = dependencies.satisfyDependency( new KernelContext() KernelContext kernelContext = dependencies.satisfyDependency( new SimpleKernelContext( fileSystem, storeDir ) );
{
@Override
public FileSystemAbstraction fileSystem()
{
return PlatformModule.this.fileSystem;
}

@Override
public File storeDir()
{
return PlatformModule.this.storeDir;
}
} );


kernelExtensions = dependencies.satisfyDependency( new KernelExtensions( kernelExtensions = dependencies.satisfyDependency( new KernelExtensions(
kernelContext, kernelContext,
Expand Down Expand Up @@ -291,9 +279,10 @@ private Iterable<Class<?>> getSettingsClasses( Iterable<Class<?>> settingsClasse
// Get the list of settings classes for extensions // Get the list of settings classes for extensions
for ( KernelExtensionFactory<?> kernelExtension : kernelExtensions ) for ( KernelExtensionFactory<?> kernelExtension : kernelExtensions )
{ {
if ( kernelExtension.getSettingsClass() != null ) Class<?> settingsClass = kernelExtension.getSettingsClass();
if ( settingsClass != null )
{ {
totalSettingsClasses.add( kernelExtension.getSettingsClass() ); totalSettingsClasses.add( settingsClass );
} }
} }


Expand Down
@@ -0,0 +1,48 @@
/*
* Copyright (c) 2002-2015 "Neo Technology,"
* Network Engine for Objects in Lund AB [http://neotechnology.com]
*
* This file is part of Neo4j.
*
* Neo4j is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.neo4j.kernel.impl.spi;

import java.io.File;

import org.neo4j.io.fs.FileSystemAbstraction;

public class SimpleKernelContext implements KernelContext
{
private final FileSystemAbstraction fileSystem;
private final File storeDir;

public SimpleKernelContext( FileSystemAbstraction fileSystem, File storeDir )
{
this.fileSystem = fileSystem;
this.storeDir = storeDir;
}

@Override
public FileSystemAbstraction fileSystem()
{
return fileSystem;
}

@Override
public File storeDir()
{
return storeDir;
}
}
Expand Up @@ -46,15 +46,12 @@
import org.neo4j.helpers.collection.IteratorUtil; import org.neo4j.helpers.collection.IteratorUtil;
import org.neo4j.helpers.collection.IteratorWrapper; import org.neo4j.helpers.collection.IteratorWrapper;
import org.neo4j.helpers.collection.Visitor; import org.neo4j.helpers.collection.Visitor;
import org.neo4j.io.fs.DefaultFileSystemAbstraction;
import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.fs.FileSystemAbstraction;
import org.neo4j.io.fs.FileUtils; import org.neo4j.io.fs.FileUtils;
import org.neo4j.io.pagecache.PageCache; import org.neo4j.io.pagecache.PageCache;
import org.neo4j.io.pagecache.tracing.PageCacheTracer; import org.neo4j.io.pagecache.tracing.PageCacheTracer;
import org.neo4j.io.fs.DefaultFileSystemAbstraction;
import org.neo4j.kernel.impl.store.id.DefaultIdGeneratorFactory;
import org.neo4j.kernel.EmbeddedGraphDatabase; import org.neo4j.kernel.EmbeddedGraphDatabase;
import org.neo4j.kernel.impl.store.id.IdGeneratorFactory;
import org.neo4j.kernel.impl.store.id.IdType;
import org.neo4j.kernel.StoreLocker; import org.neo4j.kernel.StoreLocker;
import org.neo4j.kernel.api.constraints.NodePropertyExistenceConstraint; import org.neo4j.kernel.api.constraints.NodePropertyExistenceConstraint;
import org.neo4j.kernel.api.constraints.RelationshipPropertyExistenceConstraint; import org.neo4j.kernel.api.constraints.RelationshipPropertyExistenceConstraint;
Expand Down Expand Up @@ -100,7 +97,7 @@
import org.neo4j.kernel.impl.logging.StoreLogService; import org.neo4j.kernel.impl.logging.StoreLogService;
import org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory; import org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory;
import org.neo4j.kernel.impl.pagecache.PageCacheLifecycle; import org.neo4j.kernel.impl.pagecache.PageCacheLifecycle;
import org.neo4j.kernel.impl.spi.KernelContext; import org.neo4j.kernel.impl.spi.SimpleKernelContext;
import org.neo4j.kernel.impl.store.CountsComputer; import org.neo4j.kernel.impl.store.CountsComputer;
import org.neo4j.kernel.impl.store.LabelTokenStore; import org.neo4j.kernel.impl.store.LabelTokenStore;
import org.neo4j.kernel.impl.store.NeoStores; import org.neo4j.kernel.impl.store.NeoStores;
Expand All @@ -115,7 +112,10 @@
import org.neo4j.kernel.impl.store.StoreFactory; import org.neo4j.kernel.impl.store.StoreFactory;
import org.neo4j.kernel.impl.store.UnderlyingStorageException; import org.neo4j.kernel.impl.store.UnderlyingStorageException;
import org.neo4j.kernel.impl.store.counts.CountsTracker; import org.neo4j.kernel.impl.store.counts.CountsTracker;
import org.neo4j.kernel.impl.store.id.DefaultIdGeneratorFactory;
import org.neo4j.kernel.impl.store.id.IdGeneratorFactory;
import org.neo4j.kernel.impl.store.id.IdGeneratorImpl; import org.neo4j.kernel.impl.store.id.IdGeneratorImpl;
import org.neo4j.kernel.impl.store.id.IdType;
import org.neo4j.kernel.impl.store.record.DynamicRecord; import org.neo4j.kernel.impl.store.record.DynamicRecord;
import org.neo4j.kernel.impl.store.record.IndexRule; import org.neo4j.kernel.impl.store.record.IndexRule;
import org.neo4j.kernel.impl.store.record.LabelTokenRecord; import org.neo4j.kernel.impl.store.record.LabelTokenRecord;
Expand Down Expand Up @@ -300,23 +300,8 @@ public Label apply( long from )
Dependencies deps = new Dependencies(); Dependencies deps = new Dependencies();
deps.satisfyDependencies( fileSystem, config, logService, (NeoStoresSupplier) () -> neoStores ); deps.satisfyDependencies( fileSystem, config, logService, (NeoStoresSupplier) () -> neoStores );


KernelContext kernelContext = new KernelContext() KernelExtensions extensions = life.add( new KernelExtensions( new SimpleKernelContext( fileSystem, storeDir ),
{ kernelExtensions, deps, UnsatisfiedDependencyStrategies.ignore() ) );
@Override
public FileSystemAbstraction fileSystem()
{
return fileSystem;
}

@Override
public File storeDir()
{
return storeDir;
}
};
KernelExtensions extensions = life
.add( new KernelExtensions( kernelContext, kernelExtensions, deps,
UnsatisfiedDependencyStrategies.ignore() ) );


SchemaIndexProvider provider = extensions.resolveDependency( SchemaIndexProvider.class, SchemaIndexProvider provider = extensions.resolveDependency( SchemaIndexProvider.class,
HighestSelectionStrategy.getInstance() ); HighestSelectionStrategy.getInstance() );
Expand Down
Expand Up @@ -38,6 +38,7 @@
import org.neo4j.kernel.impl.logging.LogService; import org.neo4j.kernel.impl.logging.LogService;
import org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory; import org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory;
import org.neo4j.kernel.impl.spi.KernelContext; import org.neo4j.kernel.impl.spi.KernelContext;
import org.neo4j.kernel.impl.spi.SimpleKernelContext;
import org.neo4j.kernel.impl.store.NeoStores; import org.neo4j.kernel.impl.store.NeoStores;
import org.neo4j.kernel.impl.store.NodeStore; import org.neo4j.kernel.impl.store.NodeStore;
import org.neo4j.kernel.impl.store.PropertyStore; import org.neo4j.kernel.impl.store.PropertyStore;
Expand All @@ -60,7 +61,6 @@
import org.neo4j.unsafe.impl.batchimport.store.io.IoTracer; import org.neo4j.unsafe.impl.batchimport.store.io.IoTracer;


import static java.lang.String.valueOf; import static java.lang.String.valueOf;

import static org.neo4j.graphdb.factory.GraphDatabaseSettings.dense_node_threshold; import static org.neo4j.graphdb.factory.GraphDatabaseSettings.dense_node_threshold;
import static org.neo4j.graphdb.factory.GraphDatabaseSettings.pagecache_memory; import static org.neo4j.graphdb.factory.GraphDatabaseSettings.pagecache_memory;
import static org.neo4j.helpers.collection.MapUtil.stringMap; import static org.neo4j.helpers.collection.MapUtil.stringMap;
Expand Down Expand Up @@ -134,20 +134,7 @@ public long countBytesWritten()
dependencies.satisfyDependency( fileSystem ); dependencies.satisfyDependency( fileSystem );
dependencies.satisfyDependency( this ); dependencies.satisfyDependency( this );
dependencies.satisfyDependency( logService ); dependencies.satisfyDependency( logService );
KernelContext kernelContext = new KernelContext() KernelContext kernelContext = new SimpleKernelContext( fileSystem, storeDir );
{
@Override
public FileSystemAbstraction fileSystem()
{
return BatchingNeoStores.this.fileSystem;
}

@Override
public File storeDir()
{
return BatchingNeoStores.this.storeDir;
}
};
@SuppressWarnings( { "unchecked", "rawtypes" } ) @SuppressWarnings( { "unchecked", "rawtypes" } )
KernelExtensions extensions = life.add( new KernelExtensions( KernelExtensions extensions = life.add( new KernelExtensions(
kernelContext, (Iterable) Service.load( KernelExtensionFactory.class ), kernelContext, (Iterable) Service.load( KernelExtensionFactory.class ),
Expand Down
Expand Up @@ -23,6 +23,7 @@


import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.extension.KernelExtensionFactory; import org.neo4j.kernel.extension.KernelExtensionFactory;
import org.neo4j.kernel.impl.spi.KernelContext;
import org.neo4j.kernel.lifecycle.Lifecycle; import org.neo4j.kernel.lifecycle.Lifecycle;


public class DummyExtensionFactory extends KernelExtensionFactory<DummyExtensionFactory.Dependencies> public class DummyExtensionFactory extends KernelExtensionFactory<DummyExtensionFactory.Dependencies>
Expand All @@ -44,7 +45,7 @@ public DummyExtensionFactory()
} }


@Override @Override
public Lifecycle newKernelExtension( Dependencies dependencies ) throws Throwable public Lifecycle newInstance( KernelContext context, Dependencies dependencies ) throws Throwable
{ {
return new DummyExtension( dependencies ); return new DummyExtension( dependencies );
} }
Expand Down
Expand Up @@ -49,6 +49,7 @@
import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge; import org.neo4j.kernel.impl.core.ThreadToStatementContextBridge;
import org.neo4j.kernel.impl.locking.Lock; import org.neo4j.kernel.impl.locking.Lock;
import org.neo4j.kernel.impl.locking.LockService; import org.neo4j.kernel.impl.locking.LockService;
import org.neo4j.kernel.impl.spi.KernelContext;
import org.neo4j.kernel.lifecycle.Lifecycle; import org.neo4j.kernel.lifecycle.Lifecycle;
import org.neo4j.test.TargetDirectory; import org.neo4j.test.TargetDirectory;
import org.neo4j.test.TestGraphDatabaseFactory; import org.neo4j.test.TestGraphDatabaseFactory;
Expand Down Expand Up @@ -1017,12 +1018,12 @@ private static class PredefinedSchemaIndexProviderFactory extends KernelExtensio
private final SchemaIndexProvider indexProvider; private final SchemaIndexProvider indexProvider;


@Override @Override
public Lifecycle newKernelExtension( NoDeps noDeps ) throws Throwable public Lifecycle newInstance( KernelContext context, NoDeps noDeps ) throws Throwable
{ {
return indexProvider; return indexProvider;
} }


public static interface NoDeps { public interface NoDeps {
} }


public PredefinedSchemaIndexProviderFactory( SchemaIndexProvider indexProvider ) public PredefinedSchemaIndexProviderFactory( SchemaIndexProvider indexProvider )
Expand Down

0 comments on commit a613240

Please sign in to comment.