Class RemoteCLICommand
- java.lang.Object
-
- com.sun.enterprise.admin.cli.CLICommand
-
- com.sun.enterprise.admin.cli.remote.RemoteCLICommand
-
- All Implemented Interfaces:
org.glassfish.hk2.api.PostConstruct
public class RemoteCLICommand extends CLICommand
A remote command handled by the asadmin CLI.
-
-
Field Summary
Fields Modifier and Type Field Description protected List<String>reExecutedOperandsprotected ParameterMapreExecutedOptions-
Fields inherited from class com.sun.enterprise.admin.cli.CLICommand
argv, ASADMIN, commandModel, CONNECTION_ERROR, env, ERROR, INVALID_COMMAND_ERROR, lineReader, logger, metadataErrors, name, operands, options, passwords, programOpts, SUCCESS, terminal, WARNING
-
-
Constructor Summary
Constructors Constructor Description RemoteCLICommand()Construct a new remote command object.RemoteCLICommand(String name, ProgramOptions po, Environment env)Construct a new remote command object.RemoteCLICommand(String name, ProgramOptions po, Environment env, String responseFormatType, OutputStream userOut)Construct a new remote command object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intexecute(String... argv)Execute this command with the given arguemnts.ActionReportexecuteAndReturnActionReport(String... args)Execute the command and return the main attributes from the manifest instead of writing out the output.StringexecuteAndReturnOutput(String... args)Execute the command and return the output as a string instead of writing it out.protected intexecuteCommand()Execute the command using the options in options and the operands in operands.BufferedReadergetManPage()Get the man page from the server.StringgetUsage()Get the usage text.protected voidinject()Inject this instance with the final values of all the command parameters.protected voidparse()The parse method sets the options and operands fields based on the content of the command line arguments.protected voidprepare()The prepare method must ensure that the commandModel field is set.protected voidprevalidate()The prevalidate method supplies missing options from the environment.voidregisterListener(String regexpForName, AdminCommandEventBroker.AdminCommandListener listener)voidsetFileOutputDirectory(File dir)Set the directory in which any returned files will be stored.voidsetReadTimeout(int readTimeout)Set read timeout for RemoteRestCommandprotected voidvalidate()The validate method can be used by a subclass to validate that the type and quantity of parameters and operands matches the requirements for this command.-
Methods inherited from class com.sun.enterprise.admin.cli.CLICommand
buildLineReader, buildTerminal, checkHelp, closeTerminal, execute, expandManPage, getBooleanOption, getBriefCommandUsage, getCommand, getCommand, getCommandScope, getCommandUsage, getName, getOperandModel, getOption, getOptions, getPassword, getPassword, getProgramOptions, getSystemProperties, getSystemProperty, initializeLogger, initializePasswords, newLineReaderBuilder, ok, postConstruct, printExceptionStackTrace, processProgramOptions, quote, readPassword, setCommandScope, toString, usageOptions
-
-
-
-
Field Detail
-
reExecutedOptions
protected ParameterMap reExecutedOptions
-
-
Constructor Detail
-
RemoteCLICommand
public RemoteCLICommand() throws CommandExceptionConstruct a new remote command object. The command and arguments are supplied later using the execute method in the superclass.- Throws:
CommandException
-
RemoteCLICommand
public RemoteCLICommand(String name, ProgramOptions po, Environment env) throws CommandException
Construct a new remote command object. The command and arguments are supplied later using the execute method in the superclass.- Parameters:
name- The command to executepo- Parameters passed with the command, both those part of the command itself (i.e. enabled) and those that are inherited for all commands (i.e. adminport)env- The environment that is executing the command- Throws:
CommandException- if the command failed for any reason
-
RemoteCLICommand
public RemoteCLICommand(String name, ProgramOptions po, Environment env, String responseFormatType, OutputStream userOut) throws CommandException
Construct a new remote command object. The command and arguments are supplied later using the execute method in the superclass. This variant is used by the RemoteDeploymentFacility class to control and capture the output.- Parameters:
name- The command to executepo- Parameters passed with the command, both those part of the command itself (i.e. enabled) and those that are inherited for all commands (i.e. adminport)env- The environment that is executing the commandresponseFormatType-userOut- TheOutputStreamthat is used to display any output to the user- Throws:
CommandException- if the command failed for any reason
-
-
Method Detail
-
execute
public int execute(String... argv) throws CommandException
Description copied from class:CLICommandExecute this command with the given arguemnts. The implementation in this class saves the passed arguments in the argv field and calls the initializePasswords method. Then it calls the prepare, parse, and validate methods, finally returning the result of calling the executeCommand method. Note that argv[0] is the command name.- Overrides:
executein classCLICommand- Parameters:
argv- Arguments to execute command with- Returns:
- exit code of the command
- Throws:
CommandException- if execution of the command failsCommandValidationException- if there's something wrong with the options or arguments
-
setFileOutputDirectory
public void setFileOutputDirectory(File dir)
Set the directory in which any returned files will be stored. The default is the user's home directory.- Parameters:
dir-
-
prepare
protected void prepare() throws CommandException, CommandValidationExceptionDescription copied from class:CLICommandThe prepare method must ensure that the commandModel field is set.- Overrides:
preparein classCLICommand- Throws:
CommandExceptionCommandValidationException
-
prevalidate
protected void prevalidate() throws CommandExceptionDescription copied from class:CLICommandThe prevalidate method supplies missing options from the environment. It also supplies passwords from the password file or prompts for them if interactive.- Overrides:
prevalidatein classCLICommand- Throws:
CommandException- if execution of the command failsCommandValidationException- if there's something wrong with the options or arguments
-
parse
protected void parse() throws CommandExceptionDescription copied from class:CLICommandThe parse method sets the options and operands fields based on the content of the command line arguments. If the program options say this is a help request, we set options and operands as if "--help" had been specified.- Overrides:
parsein classCLICommand- Throws:
CommandException- if execution of the command failsCommandValidationException- if there's something wrong with the options or arguments
-
validate
protected void validate() throws CommandException, CommandValidationExceptionDescription copied from class:CLICommandThe validate method can be used by a subclass to validate that the type and quantity of parameters and operands matches the requirements for this command.- Overrides:
validatein classCLICommand- Throws:
CommandException- if execution of the command failsCommandValidationException- if there's something wrong with the options or arguments
-
inject
protected void inject() throws CommandExceptionDescription copied from class:CLICommandInject this instance with the final values of all the command parameters.- Overrides:
injectin classCLICommand- Throws:
CommandException- if execution of the command failsCommandValidationException- if there's something wrong with the options or arguments
-
executeCommand
protected int executeCommand() throws CommandException, CommandValidationExceptionDescription copied from class:CLICommandExecute the command using the options in options and the operands in operands.- Specified by:
executeCommandin classCLICommand- Returns:
- the exit code
- Throws:
CommandException- if execution of the command failsCommandValidationException- if there's something wrong with the options or arguments
-
executeAndReturnOutput
public String executeAndReturnOutput(String... args) throws CommandException, CommandValidationException
Execute the command and return the output as a string instead of writing it out.- Parameters:
args-- Returns:
- Throws:
CommandExceptionCommandValidationException
-
executeAndReturnActionReport
public ActionReport executeAndReturnActionReport(String... args) throws CommandException, CommandValidationException
Execute the command and return the main attributes from the manifest instead of writing out the output.- Parameters:
args-- Returns:
- Throws:
CommandExceptionCommandValidationException
-
getUsage
public String getUsage()
Get the usage text. If we got usage information from the server, use it.- Overrides:
getUsagein classCLICommand- Returns:
- usage text
-
getManPage
public BufferedReader getManPage()
Get the man page from the server. If the man page isn't available, e.g., because the server is down, try to find it locally by looking in the modules directory.- Overrides:
getManPagein classCLICommand- Returns:
-
registerListener
public void registerListener(String regexpForName, AdminCommandEventBroker.AdminCommandListener listener)
-
setReadTimeout
public void setReadTimeout(int readTimeout)
Set read timeout for RemoteRestCommand- Parameters:
readTimeout-
-
-