Package org.wildfly.plugin.tools.cli
Class CLIWrapper
java.lang.Object
org.wildfly.plugin.tools.cli.CLIWrapper
- All Implemented Interfaces:
AutoCloseable
A CLI executor, resolving CLI classes from the provided Classloader. We can't
have cli/embedded/jboss modules in plugin classpath, it causes issue because
we are sharing the same jboss module classes between execution run inside the
same JVM.
> CLI dependencies are retrieved from provisioned server artifacts list and resolved using maven. In addition jboss-modules.jar located in the provisioned server is added.
- Author:
- jdenise, James R. Perkins
-
Constructor Summary
ConstructorsConstructorDescriptionCLIWrapper
(Path jbossHome, boolean resolveExpression, ClassLoader loader) Creates a new CLIWrapper with anull
BootLoggingConfiguration
.CLIWrapper
(Path jbossHome, boolean resolveExpression, ClassLoader loader, BootLoggingConfiguration bootLoggingConfiguration) Creates a new CLIWrapper with anull
BootLoggingConfiguration
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
bindClient
(org.jboss.as.controller.client.ModelControllerClient client) Binds the client to the CLI context.void
close()
void
Generate boot logging.Returns the output from the CLI context.void
Handles invoking the command.void
handleSafe
(String command) Safely handle invoking the command.
-
Constructor Details
-
CLIWrapper
Creates a new CLIWrapper with anull
BootLoggingConfiguration
.Note, when this constructor is used, the
generateBootLoggingConfig()
cannot be invoked.- Parameters:
jbossHome
- the servers home directoryresolveExpression
-true
if parameters in commands should be resolved before sending the command to the serverloader
- the class loader to use for loading the CLI context- Throws:
RuntimeException
- if an error occurs creating the CLI context
-
CLIWrapper
public CLIWrapper(Path jbossHome, boolean resolveExpression, ClassLoader loader, BootLoggingConfiguration bootLoggingConfiguration) Creates a new CLIWrapper with anull
BootLoggingConfiguration
.Note, if the
bootLoggingConfiguration
isnull
, thegenerateBootLoggingConfig()
cannot be invoked.- Parameters:
jbossHome
- the servers home directoryresolveExpression
-true
if parameters in commands should be resolved before sending the command to the serverloader
- the class loader to use for loading the CLI contextbootLoggingConfiguration
- the boot logging configuration generator, ornull
to not allow boot logging configuration- Throws:
RuntimeException
- if an error occurs creating the CLI context
-
-
Method Details
-
handle
Handles invoking the command.- Parameters:
command
- the command to invoke- Throws:
Exception
- if an error occurs handling the command
-
handleSafe
Safely handle invoking the command.- Parameters:
command
- the command to invoke
-
bindClient
public void bindClient(org.jboss.as.controller.client.ModelControllerClient client) throws Exception Binds the client to the CLI context.- Parameters:
client
- the client to bind- Throws:
Exception
- if an error occurs binding the client to the context
-
getOutput
Returns the output from the CLI context.- Returns:
- the CLI output
-
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-
generateBootLoggingConfig
public void generateBootLoggingConfig()Generate boot logging. TheCLIWrapper(Path, boolean, ClassLoader, BootLoggingConfiguration)
constructor must have been used with a non-nullBootLoggingConfiguration
.- Throws:
RuntimeException
- if an error occurs generated the boot logging configuration
-