CLI - Rework batch related commands for better UX

Version 3

    Rework batch related commands for better UX

     

    Analysis

    Summary

    The batch command is difficult to use. The combination of options is not that obvious to use. Batch command is associated to a bunch of other commands (discard-batch, run-batch, …) that are somehow hidden. A new command should be introduce to clearly offer action for all batch related use cases.

    Requirements

    100% compatibility for existing commands. Existing batch command option combinations should still be usable from scripts but hidden from completion. They are replaced by a reworked “batch” command with the following actions:

    • clear           - Removes all the existing command lines from the batch.
    • discard         - Discards the currently active batch.
    • edit-line       - Replaces existing command line from the current batch
    • holdback        - Saves the currently active batch and exits the batch.
    • list            - Lists all the commands in the currently active batch.
    • list-holdbacks  - Prints a list of currently held back batches.
    • load-file       - Create a new batch and feeds it with commands.
    • move-line       - Moves existing line from the specified position to the new position.
    • new             - Starts the batch mode by creating a new batch.
    • re-activate     - Re-activate an heldback batch.
    • remove-line     - Removes an existing command line specified with line number.
    • run             - Run a batch.
    • run-file        - Run a batch file.

    Design Notes

    New command is developped with aesh 1.0 Command API.

    In order to avoid maintain 2 batch logic (legacy commands and new command), the legacy options are supported by calling into the new command internally.

     

    General

    Product Issue(s)

    https://issues.jboss.org/browse/EAP7-739

    Upstream Issue(s)

    https://issues.jboss.org/browse/WFCORE-3224

    Developer Contacts

    Jean-François Denise (jdenise@redhat.com)