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 anullBootLoggingConfiguration.CLIWrapper(Path jbossHome, boolean resolveExpression, ClassLoader loader, BootLoggingConfiguration bootLoggingConfigurationl) Creates a new CLIWrapper with anullBootLoggingConfiguration.CLIWrapper(Path jbossHome, boolean resolveExpression, ClassLoader loader, BootLoggingConfiguration bootLoggingConfiguration, String stabilityLevel) Creates a new CLIWrapper with anullBootLoggingConfiguration. -
Method Summary
Modifier and TypeMethodDescriptionvoidbindClient(org.jboss.as.controller.client.ModelControllerClient client) Binds the client to the CLI context.voidclose()voidGenerate boot logging.Returns the output from the CLI context.voidHandles invoking the command.voidhandleSafe(String command) Safely handle invoking the command.
-
Constructor Details
-
CLIWrapper
Creates a new CLIWrapper with anullBootLoggingConfiguration.Note, when this constructor is used, the
generateBootLoggingConfig()cannot be invoked.- Parameters:
jbossHome- the servers home directoryresolveExpression-trueif 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 bootLoggingConfigurationl) Creates a new CLIWrapper with anullBootLoggingConfiguration.Note, if the
bootLoggingConfigurationisnull, thegenerateBootLoggingConfig()cannot be invoked.- Parameters:
jbossHome- the servers home directoryresolveExpression-trueif 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, ornullto not allow boot logging configuration- Throws:
RuntimeException- if an error occurs creating the CLI context
-
CLIWrapper
public CLIWrapper(Path jbossHome, boolean resolveExpression, ClassLoader loader, BootLoggingConfiguration bootLoggingConfiguration, String stabilityLevel) Creates a new CLIWrapper with anullBootLoggingConfiguration.Note, if the
bootLoggingConfigurationisnull, thegenerateBootLoggingConfig()cannot be invoked.- Parameters:
jbossHome- the servers home directoryresolveExpression-trueif 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, ornullto not allow boot logging configurationstabilityLevel- the stability level used when starting the embedded server.- 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:
closein 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
-