Skip to content

Commit

Permalink
Allows neo4j-admin 'database' argument w/ custom description
Browse files Browse the repository at this point in the history
  • Loading branch information
tinwelint committed Apr 12, 2018
1 parent b77e7bf commit cfe4048
Show file tree
Hide file tree
Showing 9 changed files with 40 additions and 14 deletions.
Expand Up @@ -67,6 +67,11 @@ public Arguments withDatabase()
return withArgument( new Database() ); return withArgument( new Database() );
} }


public Arguments withDatabase( String description )
{
return withArgument( new Database( description ) );
}

public Arguments withAdditionalConfig() public Arguments withAdditionalConfig()
{ {
return withArgument( new OptionalCanonicalPath( "additional-config", "config-file-path", "", return withArgument( new OptionalCanonicalPath( "additional-config", "config-file-path", "",
Expand Down
Expand Up @@ -27,9 +27,16 @@


public class Database extends OptionalNamedArg public class Database extends OptionalNamedArg
{ {
public static final String ARG_DATABASE = "database";

public Database() public Database()
{ {
super( "database", "name", "graph.db", "Name of database." ); this( "Name of database." );
}

public Database( String description )
{
super( ARG_DATABASE, "name", "graph.db", description );
} }


private static String validate( String dbName ) private static String validate( String dbName )
Expand Down
Expand Up @@ -33,6 +33,7 @@
import org.neo4j.commandline.admin.OutsideWorld; import org.neo4j.commandline.admin.OutsideWorld;
import org.neo4j.commandline.arguments.Arguments; import org.neo4j.commandline.arguments.Arguments;
import org.neo4j.commandline.arguments.OptionalBooleanArg; import org.neo4j.commandline.arguments.OptionalBooleanArg;
import org.neo4j.commandline.arguments.common.Database;
import org.neo4j.commandline.arguments.common.OptionalCanonicalPath; import org.neo4j.commandline.arguments.common.OptionalCanonicalPath;
import org.neo4j.consistency.checking.full.ConsistencyCheckIncompleteException; import org.neo4j.consistency.checking.full.ConsistencyCheckIncompleteException;
import org.neo4j.consistency.checking.full.ConsistencyFlags; import org.neo4j.consistency.checking.full.ConsistencyFlags;
Expand All @@ -50,6 +51,7 @@
import org.neo4j.logging.FormattedLogProvider; import org.neo4j.logging.FormattedLogProvider;


import static java.lang.String.format; import static java.lang.String.format;
import static org.neo4j.commandline.arguments.common.Database.ARG_DATABASE;
import static org.neo4j.graphdb.factory.GraphDatabaseSettings.database_path; import static org.neo4j.graphdb.factory.GraphDatabaseSettings.database_path;


public class CheckConsistencyCommand implements AdminCommand public class CheckConsistencyCommand implements AdminCommand
Expand Down Expand Up @@ -111,7 +113,7 @@ public void execute( String[] args ) throws IncorrectUsage, CommandFailed


try try
{ {
database = arguments.parse( args ).get( "database" ); database = arguments.parse( args ).get( ARG_DATABASE );
backupPath = arguments.getOptionalPath( "backup" ); backupPath = arguments.getOptionalPath( "backup" );
verbose = arguments.getBoolean( "verbose" ); verbose = arguments.getBoolean( "verbose" );
additionalConfigFile = arguments.getOptionalPath( "additional-config" ); additionalConfigFile = arguments.getOptionalPath( "additional-config" );
Expand All @@ -125,9 +127,9 @@ public void execute( String[] args ) throws IncorrectUsage, CommandFailed


if ( backupPath.isPresent() ) if ( backupPath.isPresent() )
{ {
if ( arguments.has( "database" ) ) if ( arguments.has( ARG_DATABASE ) )
{ {
throw new IncorrectUsage( "Only one of '--database' and '--backup' can be specified." ); throw new IncorrectUsage( "Only one of '--" + ARG_DATABASE + "' and '--backup' can be specified." );
} }
if ( !backupPath.get().toFile().isDirectory() ) if ( !backupPath.get().toFile().isDirectory() )
{ {
Expand Down
Expand Up @@ -32,6 +32,7 @@
import org.neo4j.commandline.admin.CommandFailed; import org.neo4j.commandline.admin.CommandFailed;
import org.neo4j.commandline.admin.IncorrectUsage; import org.neo4j.commandline.admin.IncorrectUsage;
import org.neo4j.commandline.arguments.Arguments; import org.neo4j.commandline.arguments.Arguments;
import org.neo4j.commandline.arguments.common.Database;
import org.neo4j.dbms.archive.Dumper; import org.neo4j.dbms.archive.Dumper;
import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.graphdb.factory.GraphDatabaseSettings;
import org.neo4j.kernel.StoreLockException; import org.neo4j.kernel.StoreLockException;
Expand All @@ -41,6 +42,7 @@


import static java.lang.String.format; import static java.lang.String.format;
import static org.neo4j.commandline.Util.canonicalPath; import static org.neo4j.commandline.Util.canonicalPath;
import static org.neo4j.commandline.arguments.common.Database.ARG_DATABASE;
import static org.neo4j.graphdb.factory.GraphDatabaseSettings.database_path; import static org.neo4j.graphdb.factory.GraphDatabaseSettings.database_path;
import static org.neo4j.graphdb.factory.GraphDatabaseSettings.logical_logs_location; import static org.neo4j.graphdb.factory.GraphDatabaseSettings.logical_logs_location;


Expand All @@ -65,7 +67,7 @@ public DumpCommand( Path homeDir, Path configDir, Dumper dumper )
@Override @Override
public void execute( String[] args ) throws IncorrectUsage, CommandFailed public void execute( String[] args ) throws IncorrectUsage, CommandFailed
{ {
String database = arguments.parse( args ).get( "database" ); String database = arguments.parse( args ).get( ARG_DATABASE );
Path archive = calculateArchive( database, arguments.getMandatoryPath( "to" ) ); Path archive = calculateArchive( database, arguments.getMandatoryPath( "to" ) );


Config config = buildConfig( database ); Config config = buildConfig( database );
Expand Down
Expand Up @@ -35,12 +35,14 @@
import org.neo4j.commandline.arguments.OptionalBooleanArg; import org.neo4j.commandline.arguments.OptionalBooleanArg;
import org.neo4j.commandline.arguments.OptionalNamedArg; import org.neo4j.commandline.arguments.OptionalNamedArg;
import org.neo4j.commandline.arguments.OptionalNamedArgWithMetadata; import org.neo4j.commandline.arguments.OptionalNamedArgWithMetadata;
import org.neo4j.commandline.arguments.common.Database;
import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.graphdb.factory.GraphDatabaseSettings;
import org.neo4j.helpers.Args; import org.neo4j.helpers.Args;
import org.neo4j.helpers.collection.MapUtil; import org.neo4j.helpers.collection.MapUtil;
import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.impl.util.Validators; import org.neo4j.kernel.impl.util.Validators;


import static org.neo4j.commandline.arguments.common.Database.ARG_DATABASE;
import static org.neo4j.csv.reader.Configuration.DEFAULT; import static org.neo4j.csv.reader.Configuration.DEFAULT;
import static org.neo4j.tooling.ImportTool.parseFileArgumentList; import static org.neo4j.tooling.ImportTool.parseFileArgumentList;
import static org.neo4j.unsafe.impl.batchimport.Configuration.DEFAULT_MAX_MEMORY_PERCENT; import static org.neo4j.unsafe.impl.batchimport.Configuration.DEFAULT_MAX_MEMORY_PERCENT;
Expand Down Expand Up @@ -220,7 +222,7 @@ public void execute( String[] args ) throws IncorrectUsage, CommandFailed
{ {
allArguments.parse( parseFileArgumentList( fileArgument.get().toFile() ) ); allArguments.parse( parseFileArgumentList( fileArgument.get().toFile() ) );
} }
database = allArguments.get( "database" ); database = allArguments.get( ARG_DATABASE );
additionalConfigFile = allArguments.getOptionalPath( "additional-config" ); additionalConfigFile = allArguments.getOptionalPath( "additional-config" );
} }
catch ( IllegalArgumentException e ) catch ( IllegalArgumentException e )
Expand Down
Expand Up @@ -31,6 +31,7 @@
import org.neo4j.commandline.admin.IncorrectUsage; import org.neo4j.commandline.admin.IncorrectUsage;
import org.neo4j.commandline.arguments.Arguments; import org.neo4j.commandline.arguments.Arguments;
import org.neo4j.commandline.arguments.OptionalBooleanArg; import org.neo4j.commandline.arguments.OptionalBooleanArg;
import org.neo4j.commandline.arguments.common.Database;
import org.neo4j.commandline.arguments.common.MandatoryCanonicalPath; import org.neo4j.commandline.arguments.common.MandatoryCanonicalPath;
import org.neo4j.dbms.archive.IncorrectFormat; import org.neo4j.dbms.archive.IncorrectFormat;
import org.neo4j.dbms.archive.Loader; import org.neo4j.dbms.archive.Loader;
Expand All @@ -43,6 +44,7 @@
import static org.neo4j.commandline.Util.checkLock; import static org.neo4j.commandline.Util.checkLock;
import static org.neo4j.commandline.Util.isSameOrChildPath; import static org.neo4j.commandline.Util.isSameOrChildPath;
import static org.neo4j.commandline.Util.wrapIOException; import static org.neo4j.commandline.Util.wrapIOException;
import static org.neo4j.commandline.arguments.common.Database.ARG_DATABASE;
import static org.neo4j.graphdb.factory.GraphDatabaseSettings.database_path; import static org.neo4j.graphdb.factory.GraphDatabaseSettings.database_path;
import static org.neo4j.graphdb.factory.GraphDatabaseSettings.logical_logs_location; import static org.neo4j.graphdb.factory.GraphDatabaseSettings.logical_logs_location;


Expand Down Expand Up @@ -73,7 +75,7 @@ public void execute( String[] args ) throws IncorrectUsage, CommandFailed
{ {
arguments.parse( args ); arguments.parse( args );
Path archive = arguments.getMandatoryPath( "from" ); Path archive = arguments.getMandatoryPath( "from" );
String database = arguments.get( "database" ); String database = arguments.get( ARG_DATABASE );
boolean force = arguments.getBoolean( "force" ); boolean force = arguments.getBoolean( "force" );


Config config = buildConfig( database ); Config config = buildConfig( database );
Expand Down
Expand Up @@ -32,12 +32,14 @@
import org.neo4j.commandline.arguments.Arguments; import org.neo4j.commandline.arguments.Arguments;
import org.neo4j.commandline.arguments.OptionalBooleanArg; import org.neo4j.commandline.arguments.OptionalBooleanArg;
import org.neo4j.commandline.arguments.OptionalNamedArg; import org.neo4j.commandline.arguments.OptionalNamedArg;
import org.neo4j.commandline.arguments.common.Database;
import org.neo4j.io.os.OsBeanUtil; import org.neo4j.io.os.OsBeanUtil;
import org.neo4j.kernel.api.impl.index.storage.FailureStorage; import org.neo4j.kernel.api.impl.index.storage.FailureStorage;
import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.impl.store.StoreType; import org.neo4j.kernel.impl.store.StoreType;


import static java.lang.String.format; import static java.lang.String.format;
import static org.neo4j.commandline.arguments.common.Database.ARG_DATABASE;
import static org.neo4j.configuration.ExternalSettings.initialHeapSize; import static org.neo4j.configuration.ExternalSettings.initialHeapSize;
import static org.neo4j.configuration.ExternalSettings.maxHeapSize; import static org.neo4j.configuration.ExternalSettings.maxHeapSize;
import static org.neo4j.graphdb.factory.GraphDatabaseSettings.database_path; import static org.neo4j.graphdb.factory.GraphDatabaseSettings.database_path;
Expand Down Expand Up @@ -76,7 +78,6 @@ public class MemoryRecommendationsCommand implements AdminCommand
new Bracket( 1024.0, 30, 31 ), new Bracket( 1024.0, 30, 31 ),
}; };
private static final String ARG_MEMORY = "memory"; private static final String ARG_MEMORY = "memory";
private static final String ARG_DB = "db";
private final Path homeDir; private final Path homeDir;
private final OutsideWorld outsideWorld; private final OutsideWorld outsideWorld;
private final Path configDir; private final Path configDir;
Expand Down Expand Up @@ -132,11 +133,11 @@ public static Arguments buildArgs()
.withArgument( new OptionalNamedArg( ARG_MEMORY, memory, memory, .withArgument( new OptionalNamedArg( ARG_MEMORY, memory, memory,
"Recommend memory settings with respect to the given amount of memory, " + "Recommend memory settings with respect to the given amount of memory, " +
"instead of the total memory of the system running the command." ) ) "instead of the total memory of the system running the command." ) )
.withArgument( new OptionalBooleanArg( ARG_DB, false, .withDatabase(
"Specific database to calculate page cache memory requirement for. " + "Name of specific database to calculate page cache memory requirement for. " +
"The generic calculation is still a good generic recommendation for this machine, " + "The generic calculation is still a good generic recommendation for this machine, " +
"but there will be an additional calculation for minimal required page cache memory " + "but there will be an additional calculation for minimal required page cache memory " +
"for mapping all store and index files that are managed by the page cache." ) ); "for mapping all store and index files that are managed by the page cache." );
} }


static String bytesToString( double bytes ) static String bytesToString( double bytes )
Expand Down Expand Up @@ -220,7 +221,7 @@ public void execute( String[] args ) throws IncorrectUsage, CommandFailed
print( maxHeapSize.name() + "=" + heap ); print( maxHeapSize.name() + "=" + heap );
print( pagecache_memory.name() + "=" + pagecache ); print( pagecache_memory.name() + "=" + pagecache );


boolean db = arguments.getBoolean( ARG_DB ); boolean db = arguments.getBoolean( ARG_DATABASE );
if ( !db ) if ( !db )
{ {
return; return;
Expand Down
Expand Up @@ -29,11 +29,14 @@
import org.neo4j.commandline.arguments.Arguments; import org.neo4j.commandline.arguments.Arguments;
import org.neo4j.commandline.arguments.MandatoryNamedArg; import org.neo4j.commandline.arguments.MandatoryNamedArg;
import org.neo4j.commandline.arguments.OptionalBooleanArg; import org.neo4j.commandline.arguments.OptionalBooleanArg;
import org.neo4j.commandline.arguments.common.Database;
import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.graphdb.factory.GraphDatabaseSettings;
import org.neo4j.io.fs.DefaultFileSystemAbstraction; import org.neo4j.io.fs.DefaultFileSystemAbstraction;
import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.fs.FileSystemAbstraction;
import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.Config;


import static org.neo4j.commandline.arguments.common.Database.ARG_DATABASE;

public class RestoreDatabaseCli implements AdminCommand public class RestoreDatabaseCli implements AdminCommand
{ {
private static final Arguments arguments = new Arguments() private static final Arguments arguments = new Arguments()
Expand Down Expand Up @@ -66,7 +69,7 @@ public void execute( String[] incomingArguments ) throws IncorrectUsage, Command


try try
{ {
databaseName = arguments.parse( incomingArguments ).get( "database" ); databaseName = arguments.parse( incomingArguments ).get( ARG_DATABASE );
fromPath = arguments.get( "from" ); fromPath = arguments.get( "from" );
forceOverwrite = arguments.getBoolean( "force" ); forceOverwrite = arguments.getBoolean( "force" );
} }
Expand Down
Expand Up @@ -31,12 +31,14 @@
import org.neo4j.commandline.admin.IncorrectUsage; import org.neo4j.commandline.admin.IncorrectUsage;
import org.neo4j.commandline.admin.OutsideWorld; import org.neo4j.commandline.admin.OutsideWorld;
import org.neo4j.commandline.arguments.Arguments; import org.neo4j.commandline.arguments.Arguments;
import org.neo4j.commandline.arguments.common.Database;
import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.graphdb.factory.GraphDatabaseSettings;
import org.neo4j.io.fs.FileUtils; import org.neo4j.io.fs.FileUtils;
import org.neo4j.kernel.StoreLockException; import org.neo4j.kernel.StoreLockException;
import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.impl.util.Validators; import org.neo4j.kernel.impl.util.Validators;


import static org.neo4j.commandline.arguments.common.Database.ARG_DATABASE;
import static org.neo4j.kernel.configuration.Config.fromFile; import static org.neo4j.kernel.configuration.Config.fromFile;


public class UnbindFromClusterCommand implements AdminCommand public class UnbindFromClusterCommand implements AdminCommand
Expand Down Expand Up @@ -70,7 +72,7 @@ public void execute( String[] args ) throws IncorrectUsage, CommandFailed
{ {
try try
{ {
Config config = loadNeo4jConfig( homeDir, configDir, arguments.parse( args ).get( "database" ) ); Config config = loadNeo4jConfig( homeDir, configDir, arguments.parse( args ).get( ARG_DATABASE ) );
File dataDirectory = config.get( GraphDatabaseSettings.data_directory ); File dataDirectory = config.get( GraphDatabaseSettings.data_directory );
Path pathToSpecificDatabase = config.get( GraphDatabaseSettings.database_path ).toPath(); Path pathToSpecificDatabase = config.get( GraphDatabaseSettings.database_path ).toPath();


Expand Down

0 comments on commit cfe4048

Please sign in to comment.