Search in sources :

Example 1 with ContextAwareCommandInvocationProvider

use of org.infinispan.cli.impl.ContextAwareCommandInvocationProvider in project infinispan by infinispan.

the class CLI method batch.

private CommandResult batch(String inputFile, Shell shell) {
    CommandRegistry commandRegistry = initializeCommands(Batch.class);
    AeshCommandRuntimeBuilder runtimeBuilder = AeshCommandRuntimeBuilder.builder();
    runtimeBuilder.commandActivatorProvider(new ContextAwareCommandActivatorProvider(context)).commandInvocationProvider(new ContextAwareCommandInvocationProvider(context)).commandNotFoundHandler(new CliCommandNotFoundHandler()).completerInvocationProvider(new ContextAwareCompleterInvocationProvider(context)).aeshContext(context).commandRegistry(commandRegistry);
    runtimeBuilder.shell(shell);
    CliRuntimeRunner cliRunner = new CliRuntimeRunner("batch", runtimeBuilder.build());
    int exitCode = cliRunner.args(new String[] { "run", inputFile }).execute();
    context.disconnect();
    return CommandResult.valueOf(exitCode);
}
Also used : CommandRegistry(org.aesh.command.registry.CommandRegistry) AeshCommandRuntimeBuilder(org.aesh.command.AeshCommandRuntimeBuilder) CliCommandNotFoundHandler(org.infinispan.cli.impl.CliCommandNotFoundHandler) ContextAwareCompleterInvocationProvider(org.infinispan.cli.completers.ContextAwareCompleterInvocationProvider) CliRuntimeRunner(org.infinispan.cli.impl.CliRuntimeRunner) ContextAwareCommandActivatorProvider(org.infinispan.cli.activators.ContextAwareCommandActivatorProvider) ContextAwareCommandInvocationProvider(org.infinispan.cli.impl.ContextAwareCommandInvocationProvider)

Example 2 with ContextAwareCommandInvocationProvider

use of org.infinispan.cli.impl.ContextAwareCommandInvocationProvider in project infinispan by infinispan.

the class CLI method interactive.

private CommandResult interactive(Shell shell) {
    // We now start an interactive CLI
    CommandRegistry commandRegistry = initializeCommands();
    context.setRegistry(commandRegistry);
    CliAliasManager aliasManager;
    try {
        aliasManager = new CliAliasManager(context.getConfigPath().resolve("aliases").toFile(), true, commandRegistry);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
    SettingsBuilder settings = SettingsBuilder.builder();
    settings.enableAlias(true).aliasManager(aliasManager).historyFile(context.getConfigPath().resolve("history").toFile()).outputStream(System.out).outputStreamError(System.err).inputStream(System.in).commandActivatorProvider(new ContextAwareCommandActivatorProvider(context)).commandInvocationProvider(new ContextAwareCommandInvocationProvider(context)).commandNotFoundHandler(new CliCommandNotFoundHandler()).completerInvocationProvider(new ContextAwareCompleterInvocationProvider(context)).commandRegistry(commandRegistry).aeshContext(context).quitHandler(new ContextAwareQuitHandler(context));
    if (shell instanceof AeshDelegatingShell) {
        settings.connection(((AeshDelegatingShell) shell).getConnection());
    }
    ReadlineConsole console = new ReadlineConsole(settings.build());
    context.setConsole(console);
    try {
        console.start();
        return CommandResult.SUCCESS;
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
Also used : SettingsBuilder(org.aesh.command.settings.SettingsBuilder) CommandRegistry(org.aesh.command.registry.CommandRegistry) CliAliasManager(org.infinispan.cli.impl.CliAliasManager) AeshDelegatingShell(org.infinispan.cli.impl.AeshDelegatingShell) ReadlineConsole(org.aesh.readline.ReadlineConsole) ContextAwareQuitHandler(org.infinispan.cli.impl.ContextAwareQuitHandler) IOException(java.io.IOException) CliCommandNotFoundHandler(org.infinispan.cli.impl.CliCommandNotFoundHandler) ContextAwareCompleterInvocationProvider(org.infinispan.cli.completers.ContextAwareCompleterInvocationProvider) ContextAwareCommandActivatorProvider(org.infinispan.cli.activators.ContextAwareCommandActivatorProvider) ContextAwareCommandInvocationProvider(org.infinispan.cli.impl.ContextAwareCommandInvocationProvider)

Example 3 with ContextAwareCommandInvocationProvider

use of org.infinispan.cli.impl.ContextAwareCommandInvocationProvider in project infinispan by infinispan.

the class CLI method initialCommandRuntimeBuilder.

private static AeshCommandRuntimeBuilder initialCommandRuntimeBuilder(Shell shell, Properties properties, boolean kube) throws CommandRegistryException {
    AeshCommandRegistryBuilder registryBuilder = AeshCommandRegistryBuilder.builder();
    Context context;
    if (kube) {
        context = new KubernetesContext(properties);
        registryBuilder.command(Kube.class);
    } else {
        context = new ContextImpl(properties);
        registryBuilder.command(CLI.class);
    }
    AeshCommandRuntimeBuilder runtimeBuilder = AeshCommandRuntimeBuilder.builder();
    runtimeBuilder.commandActivatorProvider(new ContextAwareCommandActivatorProvider(context)).commandInvocationProvider(new ContextAwareCommandInvocationProvider(context)).commandNotFoundHandler(new CliCommandNotFoundHandler()).completerInvocationProvider(new ContextAwareCompleterInvocationProvider(context)).shell(shell).aeshContext(context).commandRegistry(registryBuilder.create());
    return runtimeBuilder;
}
Also used : KubernetesContext(org.infinispan.cli.impl.KubernetesContext) Context(org.infinispan.cli.Context) AeshCommandRegistryBuilder(org.aesh.command.impl.registry.AeshCommandRegistryBuilder) AeshCommandRuntimeBuilder(org.aesh.command.AeshCommandRuntimeBuilder) CliCommandNotFoundHandler(org.infinispan.cli.impl.CliCommandNotFoundHandler) ContextAwareCompleterInvocationProvider(org.infinispan.cli.completers.ContextAwareCompleterInvocationProvider) ContextImpl(org.infinispan.cli.impl.ContextImpl) ContextAwareCommandActivatorProvider(org.infinispan.cli.activators.ContextAwareCommandActivatorProvider) KubernetesContext(org.infinispan.cli.impl.KubernetesContext) ContextAwareCommandInvocationProvider(org.infinispan.cli.impl.ContextAwareCommandInvocationProvider)

Aggregations

ContextAwareCommandActivatorProvider (org.infinispan.cli.activators.ContextAwareCommandActivatorProvider)3 ContextAwareCompleterInvocationProvider (org.infinispan.cli.completers.ContextAwareCompleterInvocationProvider)3 CliCommandNotFoundHandler (org.infinispan.cli.impl.CliCommandNotFoundHandler)3 ContextAwareCommandInvocationProvider (org.infinispan.cli.impl.ContextAwareCommandInvocationProvider)3 AeshCommandRuntimeBuilder (org.aesh.command.AeshCommandRuntimeBuilder)2 CommandRegistry (org.aesh.command.registry.CommandRegistry)2 IOException (java.io.IOException)1 AeshCommandRegistryBuilder (org.aesh.command.impl.registry.AeshCommandRegistryBuilder)1 SettingsBuilder (org.aesh.command.settings.SettingsBuilder)1 ReadlineConsole (org.aesh.readline.ReadlineConsole)1 Context (org.infinispan.cli.Context)1 AeshDelegatingShell (org.infinispan.cli.impl.AeshDelegatingShell)1 CliAliasManager (org.infinispan.cli.impl.CliAliasManager)1 CliRuntimeRunner (org.infinispan.cli.impl.CliRuntimeRunner)1 ContextAwareQuitHandler (org.infinispan.cli.impl.ContextAwareQuitHandler)1 ContextImpl (org.infinispan.cli.impl.ContextImpl)1 KubernetesContext (org.infinispan.cli.impl.KubernetesContext)1