Package org.wildfly.plugin.tools.cli
Class CLIWrapper
- 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 anull
BootLoggingConfiguration
.CLIWrapper(Path jbossHome, boolean resolveExpression, ClassLoader loader, BootLoggingConfiguration bootLoggingConfiguration)
Creates a new CLIWrapper with anull
BootLoggingConfiguration
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bindClient(org.jboss.as.controller.client.ModelControllerClient client)
Binds the client to the CLI context.void
close()
void
generateBootLoggingConfig()
Generate boot logging.String
getOutput()
Returns the output from the CLI context.void
handle(String command)
Handles invoking the command.void
handleSafe(String command)
Safely handle invoking the command.
-
-
-
Constructor Detail
-
CLIWrapper
public CLIWrapper(Path jbossHome, boolean resolveExpression, ClassLoader loader)
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 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 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
public String getOutput()
Returns the output from the CLI context.- Returns:
- the CLI output
-
close
public void close() throws Exception
- 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
-
-