Class RebuildIndex

  • All Implemented Interfaces:
    Closeable, AutoCloseable, TaskCommand

    public 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).
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.forgerock.opendj.cli.Tool

        com.forgerock.opendj.cli.Tool.Style
    • 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, OutputStream outStream, OutputStream 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 this Tool tool with the provided arguments.
      • Methods inherited from class com.forgerock.opendj.cli.Tool

        askConfirmation, 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, readPassword, readValidatedInput, readValidatedInputOrThrow, report
    • 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​(OutputStream out,
                            OutputStream err,
                            boolean canInitializeServer)
        Creates a new RebuildIndex with the provided output and error OutputStreams.
        Parameters:
        out - The tool output stream
        err - The tool error stream
        canInitializeServer - true if the server can be initialized, false otherwise (basically, because this is executed in the context of a unit-test).
    • 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,
                                                       OutputStream outStream,
                                                       OutputStream 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 the DirectoryServer will be initialized.

        Parameters:
        arguments - The command-line arguments provided to this program
        outStream - The output stream to use for standard output, or null if standard output is not needed
        errStream - The output stream to use for standard error, or null 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 this Tool 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 class com.forgerock.opendj.cli.Tool
        Parameters:
        args - Arguments set to pass to the tool.
        Returns:
        The tool ReturnCode.
        Throws:
        com.forgerock.opendj.cli.ClientException - If an error occurs while running the tool.
      • processLocal

        public com.forgerock.opendj.cli.ReturnCode processLocal()
        Description copied from interface: TaskCommand
        Runs the command in offline mode.
        Specified by:
        processLocal in interface TaskCommand
        Returns:
        the return code.
      • getTaskObjectClass

        public String getTaskObjectClass()
        Description copied from interface: TaskCommand
        Returns the task's object class.
        Specified by:
        getTaskObjectClass in interface TaskCommand
        Returns:
        the task's object class
      • 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 interface TaskCommand
        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 return false when running tests while a client has already been initialized.
        Specified by:
        canInitializeClient in interface TaskCommand
        Returns:
        whether to initialize a Directory Server client when running online.