@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class ExecTask extends Task
NOTE: This class, and other classes within the
com.unboundid.ldap.sdk.unboundidds
package structure, are only
supported for use against Ping Identity, UnboundID, and
Nokia/Alcatel-Lucent 8661 server products. These classes provide support
for proprietary functionality or for external specifications that are not
considered stable or mature enough to be guaranteed to work in an
interoperable way with other types of LDAP servers.
Constructor and Description |
---|
ExecTask()
Creates a new, uninitialized exec task instance that should only be used
for obtaining general information about this task, including the task name,
description, and supported properties.
|
ExecTask(Entry entry)
Creates a new exec task from the provided entry.
|
ExecTask(java.util.Map<TaskProperty,java.util.List<java.lang.Object>> properties)
Creates a new exec task from the provided set of task properties.
|
ExecTask(java.lang.String commandPath,
java.lang.String commandArguments,
java.lang.String commandOutputFile,
java.lang.Boolean logCommandOutput,
TaskState taskStateForNonZeroExitCode)
Creates a new exec task with the provided information.
|
ExecTask(java.lang.String commandPath,
java.lang.String commandArguments,
java.lang.String commandOutputFile,
java.lang.Boolean logCommandOutput,
TaskState taskStateForNonZeroExitCode,
java.lang.String workingDirectory)
Creates a new exec task with the provided information.
|
ExecTask(java.lang.String taskID,
java.lang.String commandPath,
java.lang.String commandArguments,
java.lang.String commandOutputFile,
java.lang.Boolean logCommandOutput,
TaskState taskStateForNonZeroExitCode,
java.util.Date scheduledStartTime,
java.util.List<java.lang.String> dependencyIDs,
FailedDependencyAction failedDependencyAction,
java.util.List<java.lang.String> notifyOnCompletion,
java.util.List<java.lang.String> notifyOnError)
Creates a new exec task with the provided information.
|
ExecTask(java.lang.String taskID,
java.lang.String commandPath,
java.lang.String commandArguments,
java.lang.String commandOutputFile,
java.lang.Boolean logCommandOutput,
TaskState taskStateForNonZeroExitCode,
java.util.Date scheduledStartTime,
java.util.List<java.lang.String> dependencyIDs,
FailedDependencyAction failedDependencyAction,
java.util.List<java.lang.String> notifyOnStart,
java.util.List<java.lang.String> notifyOnCompletion,
java.util.List<java.lang.String> notifyOnSuccess,
java.util.List<java.lang.String> notifyOnError,
java.lang.Boolean alertOnStart,
java.lang.Boolean alertOnSuccess,
java.lang.Boolean alertOnError)
Creates a new exec task with the provided information.
|
ExecTask(java.lang.String taskID,
java.lang.String commandPath,
java.lang.String commandArguments,
java.lang.String commandOutputFile,
java.lang.Boolean logCommandOutput,
TaskState taskStateForNonZeroExitCode,
java.lang.String workingDirectory,
java.util.Date scheduledStartTime,
java.util.List<java.lang.String> dependencyIDs,
FailedDependencyAction failedDependencyAction,
java.util.List<java.lang.String> notifyOnStart,
java.util.List<java.lang.String> notifyOnCompletion,
java.util.List<java.lang.String> notifyOnSuccess,
java.util.List<java.lang.String> notifyOnError,
java.lang.Boolean alertOnStart,
java.lang.Boolean alertOnSuccess,
java.lang.Boolean alertOnError)
Creates a new exec task with the provided information.
|
Modifier and Type | Method and Description |
---|---|
protected java.util.List<Attribute> |
getAdditionalAttributes()
Retrieves a list of the additional attributes (other than attributes common
to all task types) that should be included when creating new task entries
of this type.
|
protected java.util.List<java.lang.String> |
getAdditionalObjectClasses()
Retrieves a list of the additional object classes (other than the base
"top" and "ds-task" classes) that should be included when creating new task
entries of this type.
|
java.lang.String |
getCommandArguments()
Retrieves a string with the values of the arguments that should be provided
when running the command.
|
java.lang.String |
getCommandOutputFile()
Retrieves the path to a file to which the command's output should be
written.
|
java.lang.String |
getCommandPath()
Retrieves the path to the command to be executed.
|
java.lang.String |
getTaskDescription()
Retrieves a human-readable description for this task.
|
java.lang.String |
getTaskName()
Retrieves a human-readable name for this task.
|
java.util.Map<TaskProperty,java.util.List<java.lang.Object>> |
getTaskPropertyValues()
Retrieves the values of the task properties for this task.
|
java.util.List<TaskProperty> |
getTaskSpecificProperties()
Retrieves a list of task-specific properties that may be provided when
scheduling a task of this type.
|
java.lang.String |
getTaskStateForNonZeroExitCode()
Retrieves a string representation of the task state that should be returned
if the command completes with a nonzero exit code.
|
java.lang.String |
getWorkingDirectory()
Retrieves the path to the working directory to use when executing the
command.
|
java.lang.Boolean |
logCommandOutput()
Indicates whether the command's output should be recorded in the server's
error log.
|
createTaskEntry, decodeTask, getActualStartTime, getAlertOnError, getAlertOnStart, getAlertOnSuccess, getAvailableTaskTypes, getCommonTaskProperties, getCompletionTime, getDependencyIDs, getFailedDependencyAction, getLogMessages, getNotifyOnCompletionAddresses, getNotifyOnErrorAddresses, getNotifyOnStartAddresses, getNotifyOnSuccessAddresses, getScheduledStartTime, getState, getTaskClassName, getTaskEntry, getTaskEntryDN, getTaskID, isCompleted, isPending, isRunning, parseBoolean, parseBooleanValue, parseDate, parseLong, parseString, parseStringList, parseStrings, toString, toString
public ExecTask()
public ExecTask(@NotNull java.lang.String commandPath, @Nullable java.lang.String commandArguments, @Nullable java.lang.String commandOutputFile, @Nullable java.lang.Boolean logCommandOutput, @Nullable TaskState taskStateForNonZeroExitCode) throws TaskException
commandPath
- The absolute path (on the server filesystem) to the command
that should be executed. This must not be null
.commandArguments
- The complete set of arguments that should be used when
running the command. This may be null
if no arguments
should be provided.commandOutputFile
- The path to an output file that should be used to record all
output that the command writes to standard output or standard
error. This may be null
if the command output should
not be recorded in a file.logCommandOutput
- Indicates whether to record the command output in the server
error log. If this is true
, then all non-blank lines
that the command writes to standard output or standard error
will be recorded in the server error log. if this is
false
, then the output will not be recorded in the
server error log. If this is null
, then the server
will determine whether to log command output. Note that a
value of true
should only be used if you are certain
that the tool will only generate text-based output, and you
should use false
if you know that the command may
generate non-text output.taskStateForNonZeroExitCode
- The task state that should be used if the command completes
with a nonzero exit code. This may be null
to
indicate that the server should determine the appropriate task
state. If it is non-null
, then the value must be one
of TaskState.STOPPED_BY_ERROR
,
TaskState.COMPLETED_WITH_ERRORS
, or
TaskState.COMPLETED_SUCCESSFULLY
.TaskException
- If there is a problem with any of the provided
arguments.public ExecTask(@NotNull java.lang.String commandPath, @Nullable java.lang.String commandArguments, @Nullable java.lang.String commandOutputFile, @Nullable java.lang.Boolean logCommandOutput, @Nullable TaskState taskStateForNonZeroExitCode, @Nullable java.lang.String workingDirectory) throws TaskException
commandPath
- The absolute path (on the server filesystem) to the command
that should be executed. This must not be null
.commandArguments
- The complete set of arguments that should be used when
running the command. This may be null
if no arguments
should be provided.commandOutputFile
- The path to an output file that should be used to record all
output that the command writes to standard output or standard
error. This may be null
if the command output should
not be recorded in a file.logCommandOutput
- Indicates whether to record the command output in the server
error log. If this is true
, then all non-blank lines
that the command writes to standard output or standard error
will be recorded in the server error log. if this is
false
, then the output will not be recorded in the
server error log. If this is null
, then the server
will determine whether to log command output. Note that a
value of true
should only be used if you are certain
that the tool will only generate text-based output, and you
should use false
if you know that the command may
generate non-text output.taskStateForNonZeroExitCode
- The task state that should be used if the command completes
with a nonzero exit code. This may be null
to
indicate that the server should determine the appropriate task
state. If it is non-null
, then the value must be one
of TaskState.STOPPED_BY_ERROR
,
TaskState.COMPLETED_WITH_ERRORS
, or
TaskState.COMPLETED_SUCCESSFULLY
.workingDirectory
- The path to the working directory to use when executing the
command.TaskException
- If there is a problem with any of the provided
arguments.public ExecTask(@Nullable java.lang.String taskID, @NotNull java.lang.String commandPath, @Nullable java.lang.String commandArguments, @Nullable java.lang.String commandOutputFile, @Nullable java.lang.Boolean logCommandOutput, @Nullable TaskState taskStateForNonZeroExitCode, @Nullable java.util.Date scheduledStartTime, @Nullable java.util.List<java.lang.String> dependencyIDs, @Nullable FailedDependencyAction failedDependencyAction, @Nullable java.util.List<java.lang.String> notifyOnCompletion, @Nullable java.util.List<java.lang.String> notifyOnError) throws TaskException
taskID
- The task ID to use for this task. If it is null
then
a UUID will be generated for use as the task ID.commandPath
- The absolute path (on the server filesystem) to the command
that should be executed. This must not be null
.commandArguments
- The complete set of arguments that should be used when
running the command. This may be null
if no arguments
should be provided.commandOutputFile
- The path to an output file that should be used to record all
output that the command writes to standard output or standard
error. This may be null
if the command output should
not be recorded in a file.logCommandOutput
- Indicates whether to record the command output in the server
error log. If this is true
, then all non-blank lines
that the command writes to standard output or standard error
will be recorded in the server error log. if this is
false
, then the output will not be recorded in the
server error log. If this is null
, then the server
will determine whether to log command output. Note that a
value of true
should only be used if you are certain
that the tool will only generate text-based output, and you
should use false
if you know that the command may
generate non-text output.taskStateForNonZeroExitCode
- The task state that should be used if the command completes
with a nonzero exit code. This may be null
to
indicate that the server should determine the appropriate task
state. If it is non-null
, then the value must be one
of TaskState.STOPPED_BY_ERROR
,
TaskState.COMPLETED_WITH_ERRORS
, or
TaskState.COMPLETED_SUCCESSFULLY
.scheduledStartTime
- The time that this task should start running.dependencyIDs
- The list of task IDs that will be required to complete before
this task will be eligible to start.failedDependencyAction
- Indicates what action should be taken if any of the
dependencies for this task do not complete successfully.notifyOnCompletion
- The list of e-mail addresses of individuals that should be
notified when this task completes.notifyOnError
- The list of e-mail addresses of individuals that should be
notified if this task does not complete successfully.TaskException
- If there is a problem with any of the provided
arguments.public ExecTask(@Nullable java.lang.String taskID, @NotNull java.lang.String commandPath, @Nullable java.lang.String commandArguments, @Nullable java.lang.String commandOutputFile, @Nullable java.lang.Boolean logCommandOutput, @Nullable TaskState taskStateForNonZeroExitCode, @Nullable java.util.Date scheduledStartTime, @Nullable java.util.List<java.lang.String> dependencyIDs, @Nullable FailedDependencyAction failedDependencyAction, @Nullable java.util.List<java.lang.String> notifyOnStart, @Nullable java.util.List<java.lang.String> notifyOnCompletion, @Nullable java.util.List<java.lang.String> notifyOnSuccess, @Nullable java.util.List<java.lang.String> notifyOnError, @Nullable java.lang.Boolean alertOnStart, @Nullable java.lang.Boolean alertOnSuccess, @Nullable java.lang.Boolean alertOnError) throws TaskException
taskID
- The task ID to use for this task. If it is null
then
a UUID will be generated for use as the task ID.commandPath
- The absolute path (on the server filesystem) to the command
that should be executed. This must not be null
.commandArguments
- The complete set of arguments that should be used when
running the command. This may be null
if no arguments
should be provided.commandOutputFile
- The path to an output file that should be used to record all
output that the command writes to standard output or standard
error. This may be null
if the command output should
not be recorded in a file.logCommandOutput
- Indicates whether to record the command output in the server
error log. If this is true
, then all non-blank lines
that the command writes to standard output or standard error
will be recorded in the server error log. if this is
false
, then the output will not be recorded in the
server error log. If this is null
, then the server
will determine whether to log command output. Note that a
value of true
should only be used if you are certain
that the tool will only generate text-based output, and you
should use false
if you know that the command may
generate non-text output.taskStateForNonZeroExitCode
- The task state that should be used if the command completes
with a nonzero exit code. This may be null
to
indicate that the server should determine the appropriate task
state. If it is non-null
, then the value must be one
of TaskState.STOPPED_BY_ERROR
,
TaskState.COMPLETED_WITH_ERRORS
, or
TaskState.COMPLETED_SUCCESSFULLY
.scheduledStartTime
- The time that this task should start running.dependencyIDs
- The list of task IDs that will be required to complete before
this task will be eligible to start.failedDependencyAction
- Indicates what action should be taken if any of the
dependencies for this task do not complete successfully.notifyOnStart
- The list of e-mail addresses of individuals that should be
notified when this task starts.notifyOnCompletion
- The list of e-mail addresses of individuals that should be
notified when this task completes.notifyOnSuccess
- The list of e-mail addresses of individuals that should be
notified if this task completes successfully.notifyOnError
- The list of e-mail addresses of individuals that should be
notified if this task does not complete successfully.alertOnStart
- Indicates whether the server should send an alert notification
when this task starts.alertOnSuccess
- Indicates whether the server should send an alert notification
if this task completes successfully.alertOnError
- Indicates whether the server should send an alert notification
if this task fails to complete successfully.TaskException
- If there is a problem with any of the provided
arguments.public ExecTask(@Nullable java.lang.String taskID, @NotNull java.lang.String commandPath, @Nullable java.lang.String commandArguments, @Nullable java.lang.String commandOutputFile, @Nullable java.lang.Boolean logCommandOutput, @Nullable TaskState taskStateForNonZeroExitCode, @Nullable java.lang.String workingDirectory, @Nullable java.util.Date scheduledStartTime, @Nullable java.util.List<java.lang.String> dependencyIDs, @Nullable FailedDependencyAction failedDependencyAction, @Nullable java.util.List<java.lang.String> notifyOnStart, @Nullable java.util.List<java.lang.String> notifyOnCompletion, @Nullable java.util.List<java.lang.String> notifyOnSuccess, @Nullable java.util.List<java.lang.String> notifyOnError, @Nullable java.lang.Boolean alertOnStart, @Nullable java.lang.Boolean alertOnSuccess, @Nullable java.lang.Boolean alertOnError) throws TaskException
taskID
- The task ID to use for this task. If it is null
then
a UUID will be generated for use as the task ID.commandPath
- The absolute path (on the server filesystem) to the command
that should be executed. This must not be null
.commandArguments
- The complete set of arguments that should be used when
running the command. This may be null
if no arguments
should be provided.commandOutputFile
- The path to an output file that should be used to record all
output that the command writes to standard output or standard
error. This may be null
if the command output should
not be recorded in a file.logCommandOutput
- Indicates whether to record the command output in the server
error log. If this is true
, then all non-blank lines
that the command writes to standard output or standard error
will be recorded in the server error log. if this is
false
, then the output will not be recorded in the
server error log. If this is null
, then the server
will determine whether to log command output. Note that a
value of true
should only be used if you are certain
that the tool will only generate text-based output, and you
should use false
if you know that the command may
generate non-text output.taskStateForNonZeroExitCode
- The task state that should be used if the command completes
with a nonzero exit code. This may be null
to
indicate that the server should determine the appropriate task
state. If it is non-null
, then the value must be one
of TaskState.STOPPED_BY_ERROR
,
TaskState.COMPLETED_WITH_ERRORS
, or
TaskState.COMPLETED_SUCCESSFULLY
.workingDirectory
- The path to the working directory to use when executing the
command.scheduledStartTime
- The time that this task should start running.dependencyIDs
- The list of task IDs that will be required to complete before
this task will be eligible to start.failedDependencyAction
- Indicates what action should be taken if any of the
dependencies for this task do not complete successfully.notifyOnStart
- The list of e-mail addresses of individuals that should be
notified when this task starts.notifyOnCompletion
- The list of e-mail addresses of individuals that should be
notified when this task completes.notifyOnSuccess
- The list of e-mail addresses of individuals that should be
notified if this task completes successfully.notifyOnError
- The list of e-mail addresses of individuals that should be
notified if this task does not complete successfully.alertOnStart
- Indicates whether the server should send an alert notification
when this task starts.alertOnSuccess
- Indicates whether the server should send an alert notification
if this task completes successfully.alertOnError
- Indicates whether the server should send an alert notification
if this task fails to complete successfully.TaskException
- If there is a problem with any of the provided
arguments.public ExecTask(@NotNull Entry entry) throws TaskException
entry
- The entry to use to create this exec task.TaskException
- If the provided entry cannot be parsed as an exec
task entry.public ExecTask(@NotNull java.util.Map<TaskProperty,java.util.List<java.lang.Object>> properties) throws TaskException
properties
- The set of task properties and their corresponding
values to use for the task. It must not be
null
.TaskException
- If the provided set of properties cannot be used to
create a valid exec task.@NotNull public java.lang.String getTaskName()
getTaskName
in class Task
@NotNull public java.lang.String getTaskDescription()
getTaskDescription
in class Task
@NotNull public java.lang.String getCommandPath()
@Nullable public java.lang.String getCommandArguments()
null
if the command should be
run without any arguments.@Nullable public java.lang.String getCommandOutputFile()
null
if the output should not be written to a
file.@Nullable public java.lang.Boolean logCommandOutput()
true
if the command's output should be recorded in the
server's error log, false
if the output should not be
logged, or null
if the task should not specify the
behavior.@Nullable public java.lang.String getTaskStateForNonZeroExitCode()
null
if the task should not specify the return state.@Nullable public java.lang.String getWorkingDirectory()
null
if the task should not specify the
working directory and the server root directory should be used by
default.@NotNull protected java.util.List<java.lang.String> getAdditionalObjectClasses()
getAdditionalObjectClasses
in class Task
@NotNull protected java.util.List<Attribute> getAdditionalAttributes()
getAdditionalAttributes
in class Task
@NotNull public java.util.List<TaskProperty> getTaskSpecificProperties()
getTaskSpecificProperties
in class Task
@NotNull public java.util.Map<TaskProperty,java.util.List<java.lang.Object>> getTaskPropertyValues()
Boolean
,
Date
, Long
, or String
. Task properties which do
not have any values will be included in the map with an empty value list.
super.getTaskPropertyValues()
and the
values of their own task-specific properties.getTaskPropertyValues
in class Task