Package org.opends.server.tools
Class RebuildIndex
- java.lang.Object
-
- com.forgerock.opendj.cli.Tool
-
- org.opends.server.tools.RebuildIndex
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,TaskCommand
public final class RebuildIndex extends com.forgerock.opendj.cli.Tool implements TaskCommand
This program provides a utility to rebuild the contents of the indexes of a Directory Server backend. This will be a process that is intended to run separate from Directory Server and not internally within the server process (e.g., via the tasks interface).
-
-
Field Summary
Fields Modifier and Type Field Description static String
OPTION_LONG_REBUILD_ALL
The value for the rebuild all long option.
-
Constructor Summary
Constructors Constructor Description RebuildIndex(PrintStream out, PrintStream err, ServerContext serverContext)
Creates a newRebuildIndex
with the provided output and errorOutputStream
s.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addTaskAttributes(Entry taskEntry)
Adds attributes to the task entry before it is sent to the server.boolean
canInitializeClient()
Indicates whether to initialize a Directory Server client when running online.Class<? extends Task>
getTaskClass()
Returns the task class.String
getTaskObjectClass()
Returns the task's object class.static void
main(String[] args)
Processes the command-line arguments and invokes the rebuild process.com.forgerock.opendj.cli.ReturnCode
processLocal()
Runs the command in offline mode.static void
rebuildIndexEmbeddedOffline(com.forgerock.opendj.cli.ArgumentsBuilder arguments, PrintStream outStream, PrintStream errStream)
This method is used for running the rebuild-index tool programmatically against an offline server.com.forgerock.opendj.cli.ReturnCode
rebuildIndexesWithinMultipleBackends(Collection<String> args)
This function allow internal use of the rebuild index tools.com.forgerock.opendj.cli.ReturnCode
run(String... args)
Run thisTool
tool with the provided arguments.-
Methods inherited from class com.forgerock.opendj.cli.Tool
askPort, close, confirmAction, enableConsoleLoggingIfVerbose, errPrintln, errPrintln, errPrintln, errPrintlnSurroundedByBlankLines, errPrintVerboseMessage, flush, flushLogStream, getErrorStream, getErrStream, getInputStream, getOutputStream, isFullyInteractive, isQuiet, isScriptFriendly, isVerbose, logVerboseMessage, mayPrompt, parseArguments, pressReturnToContinue, print, println, println, println, printlnNoWrap, printlnSurroundedByBlankLines, printNoWrap, readInput, readInput, readInputAllowEmpty, readLineOfInput, readPassword, readValidatedInput, readValidatedInputOrThrow, report
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.opends.server.tools.TaskCommand
validateArguments
-
-
-
-
Field Detail
-
OPTION_LONG_REBUILD_ALL
public static final String OPTION_LONG_REBUILD_ALL
The value for the rebuild all long option.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RebuildIndex
public RebuildIndex(PrintStream out, PrintStream err, ServerContext serverContext)
Creates a newRebuildIndex
with the provided output and errorOutputStream
s.- Parameters:
out
- The tool output streamerr
- The tool error streamserverContext
- An already initializedServerContext
to use, ornull
if one must be created
-
-
Method Detail
-
main
public static void main(String[] args)
Processes the command-line arguments and invokes the rebuild process.- Parameters:
args
- The command-line arguments provided to this program.
-
rebuildIndexEmbeddedOffline
public static void rebuildIndexEmbeddedOffline(com.forgerock.opendj.cli.ArgumentsBuilder arguments, PrintStream outStream, PrintStream errStream) throws com.forgerock.opendj.cli.ClientException
This method is used for running the rebuild-index tool programmatically against an offline server.The --offline and --noPropertyFile arguments are automatically added to the tool arguments.
Rebuilding indexes offline implies that theDirectoryServer
will be initialized.- Parameters:
arguments
- The command-line arguments provided to this programoutStream
- The output stream to use for standard output, ornull
if standard output is not needederrStream
- The output stream to use for standard error, ornull
if standard error is not needed- Throws:
com.forgerock.opendj.cli.ClientException
- If an error occurs during the tool execution or if the tool has returned an error
-
run
public com.forgerock.opendj.cli.ReturnCode run(String... args) throws com.forgerock.opendj.cli.ClientException
Description copied from class:com.forgerock.opendj.cli.Tool
Run thisTool
tool with the provided arguments. Output and errors will be written on the provided streams.This method can be used to run the tool programmatically.
- Overrides:
run
in classcom.forgerock.opendj.cli.Tool
- Parameters:
args
- Arguments set to pass to the tool.- Returns:
0
if all processing completed successfully, or non-zero if an error occurred.- Throws:
com.forgerock.opendj.cli.ClientException
- If an error occurs while running the tool.
-
getTaskClass
public Class<? extends Task> getTaskClass()
Description copied from interface:TaskCommand
Returns the task class.- Specified by:
getTaskClass
in interfaceTaskCommand
- Returns:
- the task class.
-
getTaskObjectClass
public String getTaskObjectClass()
Description copied from interface:TaskCommand
Returns the task's object class.- Specified by:
getTaskObjectClass
in interfaceTaskCommand
- Returns:
- the task's object class
-
processLocal
public com.forgerock.opendj.cli.ReturnCode processLocal() throws com.forgerock.opendj.cli.ClientException
Description copied from interface:TaskCommand
Runs the command in offline mode.- Specified by:
processLocal
in interfaceTaskCommand
- Returns:
- the return code.
- Throws:
com.forgerock.opendj.cli.ClientException
- If an error occurs.
-
rebuildIndexesWithinMultipleBackends
public com.forgerock.opendj.cli.ReturnCode rebuildIndexesWithinMultipleBackends(Collection<String> args)
This function allow internal use of the rebuild index tools. This function rebuilds indexes shared by multiple backends.- Parameters:
args
- The arguments used to launch the rebuild index process.- Returns:
- The return code of this action.
-
addTaskAttributes
public void addTaskAttributes(Entry taskEntry)
Description copied from interface:TaskCommand
Adds attributes to the task entry before it is sent to the server.- Specified by:
addTaskAttributes
in interfaceTaskCommand
- Parameters:
taskEntry
- the task entry.
-
canInitializeClient
public boolean canInitializeClient()
Description copied from interface:TaskCommand
Indicates whether to initialize a Directory Server client when running online. This method should only returnfalse
when running tests while a client has already been initialized.- Specified by:
canInitializeClient
in interfaceTaskCommand
- Returns:
- whether to initialize a Directory Server client when running online.
-
-