- java.lang.Object
-
- org.wildfly.plugin.tools.cli.CLIWrapper
-
- All Implemented Interfaces:
AutoCloseable
public class CLIWrapper extends Object implements 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
Constructors Constructor Description CLIWrapper(Path jbossHome, boolean resolveExpression, ClassLoader loader)Creates a new CLIWrapper with anullBootLoggingConfiguration.CLIWrapper(Path jbossHome, boolean resolveExpression, ClassLoader loader, BootLoggingConfiguration bootLoggingConfiguration)Creates a new CLIWrapper with anullBootLoggingConfiguration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbindClient(org.jboss.as.controller.client.ModelControllerClient client)Binds the client to the CLI context.voidclose()voidgenerateBootLoggingConfig()Generate boot logging.StringgetOutput()Returns the output from the CLI context.voidhandle(String command)Handles invoking the command.voidhandleSafe(String command)Safely handle invoking the command.
-
-
-
Constructor Detail
-
CLIWrapper
public CLIWrapper(Path jbossHome, boolean resolveExpression, ClassLoader loader)
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 bootLoggingConfiguration)
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
-
-
Method Detail
-
handle
public void handle(String command) throws Exception
Handles invoking the command.- Parameters:
command- the command to invoke- Throws:
Exception- if an error occurs handling the command
-
handleSafe
public void handleSafe(String command)
Safely handle invoking the command.- Parameters:
command- the command to invoke
-
bindClient
public void bindClient(org.jboss.as.controller.client.ModelControllerClient client) throws ExceptionBinds 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
public String getOutput()
Returns the output from the CLI context.- Returns:
- the CLI output
-
close
public void close() throws Exception- 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
-
-