Skip to content

Commit

Permalink
Make primary use of ConfigLoader static
Browse files Browse the repository at this point in the history
  • Loading branch information
spacecowboy committed Jan 5, 2017
1 parent 8ab93ab commit 8f23b92
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,8 @@
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Function;

import org.neo4j.graphdb.factory.GraphDatabaseSettings;
import org.neo4j.helpers.collection.Pair;
Expand All @@ -36,38 +34,37 @@ public class ConfigLoader
{
public static final String DEFAULT_CONFIG_FILE_NAME = "neo4j.conf";

private final Function<Map<String, String> ,Iterable<Class<?>>> settingsClassesSupplier;

public ConfigLoader( Function<Map<String, String> ,Iterable<Class<?>>> settingsClassesSupplier )
public ConfigLoader()
{
this.settingsClassesSupplier = settingsClassesSupplier;
}

public ConfigLoader( List<Class<?>> settingsClasses )
public static Config loadConfig( Optional<File> configFile, Pair<String,String>... configOverrides ) throws
IOException
{
this( settings -> settingsClasses );
return loadConfig( Optional.empty(), configFile, configOverrides );
}

public Config loadConfig( Optional<File> configFile, Pair<String,String>... configOverrides ) throws IOException
public static Config loadConfig( Optional<File> homeDir, Optional<File> configFile,
Pair<String,String>... configOverrides )
{
return loadConfig( Optional.empty(), configFile, configOverrides );
Map<String,String> overriddenSettings = calculateSettings( homeDir, configOverrides );
return Config.embeddedDefaults(configFile).with( overriddenSettings );
}

public Config loadConfig( Optional<File> homeDir, Optional<File> configFile,
Pair<String,String>... configOverrides )
public static Config loadServerConfig( Optional<File> homeDir, Optional<File> configFile,
Pair<String,String>[] configOverrides )
{
Map<String,String> overriddenSettings = calculateSettings( homeDir, configOverrides );
return new Config( configFile, overriddenSettings, ConfigLoader::overrideEmbeddedDefaults,
settingsClassesSupplier );
return Config.serverDefaults(configFile).with( overriddenSettings );
}

public Config loadOfflineConfig( Optional<File> homeDir, Optional<File> configFile )
public static Config loadOfflineConfig( Optional<File> homeDir, Optional<File> configFile )
{
return overrideBoltSettings( loadConfig( homeDir, configFile,
Pair.of( GraphDatabaseSettings.auth_enabled.name(), Settings.FALSE ) ) );
}

private Map<String, String> calculateSettings( Optional<File> homeDir,
private static Map<String, String> calculateSettings( Optional<File> homeDir,
Pair<String, String>[] configOverrides )
{
HashMap<String, String> settings = new HashMap<>();
Expand All @@ -77,7 +74,7 @@ private Map<String, String> calculateSettings( Optional<File> homeDir,
return settings;
}

private Map<String, String> toMap( Pair<String, String>[] configOverrides )
private static Map<String, String> toMap( Pair<String, String>[] configOverrides )
{
Map<String, String> overrides = new HashMap<>();
for ( Pair<String, String> configOverride : configOverrides )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,7 @@ public class UnbindFromClusterCommand implements AdminCommand

private static Config loadNeo4jConfig( Path homeDir, Path configDir, String databaseName )
{
ConfigLoader configLoader = new ConfigLoader( settings() );
Config config = configLoader.loadConfig( Optional.of( homeDir.toFile() ),
Config config = ConfigLoader.loadConfig( Optional.of( homeDir.toFile() ),
Optional.of( configDir.resolve( "neo4j.conf" ).toFile() ) );
Map<String,String> additionalConfig = new HashMap<>();
additionalConfig.put( DatabaseManagementSystemSettings.active_database.name(), databaseName );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public void shouldBeAbleToRestartServer() throws Exception
String dataDirectory1 = baseDir.directory( "data1" ).getAbsolutePath();
String dataDirectory2 = baseDir.directory( "data2" ).getAbsolutePath();

Config config = new ConfigLoader( CommunityBootstrapper.settingsClasses ).loadConfig(
Config config = ConfigLoader.loadConfig(
Optional.of( baseDir.directory() ),
EnterpriseServerBuilder
.server()
Expand Down

0 comments on commit 8f23b92

Please sign in to comment.