|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectgr.uoa.di.madgik.execution.plan.element.PlanElementBase
gr.uoa.di.madgik.execution.plan.element.ShellPlanElement
public class ShellPlanElement
This class acts as an invocation wrapper of a shell script, or in general an external executable, enabling it to
be directly included in the execution of a plan. The executable is defined using its absolute or relative path
in the Command field. Any parameters it may require to be provided are specified
in the ArgumentParameters. Additionally, any environmental variables that need to
be present for the execution of the command can be defined in Environment. The execution of
the external executable is done using a ProcessBuilder. It is also possible to define the data that will be
written to the processe's standard input using the StdInParameter. The standard
output and standard error of the process can be retrieved by setting the StdOutParameter
and StdErrParameter respectively. these inputs and outputs can be retrieved / dumped
from /to files by setting the respective flags StdInIsFile, StdOutIsFile
and StdErrIsFile
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class gr.uoa.di.madgik.execution.plan.element.PlanElementBase |
|---|
PlanElementBase.ClockType |
| Nested classes/interfaces inherited from interface gr.uoa.di.madgik.execution.plan.element.IPlanElement |
|---|
IPlanElement.PlanElementType |
| Field Summary | |
|---|---|
List<AttributedInputParameter> |
ArgumentParameters
The parameters that should be provided to the process's executable |
String |
Command
The executable that is to be started |
List<EnvironmentKeyValue> |
Environment
The environmental variables that must be set for the process being started |
List<ExceptionExitCodeMaping> |
ExitCodeErrors
A mapping of exit codes to the respective errors they should produce |
boolean |
StdErrIsFile
A flag indicating that the standard error output should be stored in a file |
ParameterFilterBase |
StdErrOnlineFilter
A filter that can be applied on the fly in the output of the element's standard error |
IInputOutputParameter |
StdErrParameter
The parameter to store the product of the standard error output. |
IOutputParameter |
StdExitValueParameter
The parameter where to store the exit value of the process |
boolean |
StdInIsFile
A flag indicating that the standard input should be retrieved by a file |
IInputParameter |
StdInParameter
The parameter to retrieve the products of the standard input. |
boolean |
StdOutIsFile
A flag indicating that the standard output products should be stored in a file |
ParameterFilterBase |
StdOutOnlineFilter
A filter that can be applied on the fly in the output of the element's standard output |
IInputOutputParameter |
StdOutParameter
The parameter to store the product of the standard error output. |
List<ContingencyTrigger> |
Triggers
The Triggers this element supports |
| Constructor Summary | |
|---|---|
ShellPlanElement()
|
|
| Method Summary | |
|---|---|
void |
ExecuteExtender(ExecutionHandle Handle)
Execute extender. |
void |
FromXML(Element XML)
Populate the element from its xml serialization as returned by IPlanElement.ToXML() |
void |
FromXML(String XML)
Populate the element from its xml serialization as returned by IPlanElement.ToXML() |
List<ContingencyTrigger> |
GetContingencyTriggers()
Gets the contingency triggers. |
Logger |
GetExtenderLogger()
Gets the extender logger. |
String |
GetID()
Gets the id. |
Set<String> |
GetModifiedVariableNames()
Gets the modified variable names of the element and of the elements contained. |
String |
GetName()
Gets the name. |
Set<String> |
GetNeededVariableNames()
Gets the needed variable names of the element and of the elements contained. |
IPlanElement.PlanElementType |
GetPlanElementType()
Gets the plan element type. |
IPlanElement |
Locate(String ID)
Locate the plan element with the provided id. |
Set<IPlanElement> |
LocateActionElements()
Retrieves the Action elements under this elements |
void |
SetContingencyResourcePick(ExecutionHandle Handle,
String Pick)
Sets the picked resource in case the IContingencyReaction.ReactionType#Pick reaction is supported |
void |
SetName(String Name)
Sets the name. |
IContingencyReaction.ReactionType[] |
SupportedContingencyTriggers()
Retrieves the supported contingency triggers. |
boolean |
SupportsContingencyTriggers()
Checks if the element supports contingency triggers. |
String |
ToXML()
Serialize to xml the element and all its contained elements |
void |
Validate()
Validate the element and any sub element it contains |
void |
ValidatePreExecution(ExecutionHandle Handle)
Validate the element and any sub element it contains before it is executed |
| Methods inherited from class gr.uoa.di.madgik.execution.plan.element.PlanElementBase |
|---|
CheckStatus, Execute, ExecuteWithStateAwareness, GetPerformanceEvent, RegisterToRunningActionElementsRestriction, ResetClocks, StartClock, StopClock, UnregisterToRunningActionElementsRestriction, update |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public List<ContingencyTrigger> Triggers
public String Command
public List<AttributedInputParameter> ArgumentParameters
public IInputParameter StdInParameter
StdInIsFile is set then this parameter will hold
the file that the input should be read from
public boolean StdInIsFile
public IInputOutputParameter StdOutParameter
StdOutIsFile is set then this parameter will hold
the file that the output was dumped to
public boolean StdOutIsFile
public ParameterFilterBase StdOutOnlineFilter
public IInputOutputParameter StdErrParameter
StdErrIsFile is set then this parameter will hold
the file that the output was dumped to
public boolean StdErrIsFile
public ParameterFilterBase StdErrOnlineFilter
public IOutputParameter StdExitValueParameter
public List<ExceptionExitCodeMaping> ExitCodeErrors
public List<EnvironmentKeyValue> Environment
| Constructor Detail |
|---|
public ShellPlanElement()
| Method Detail |
|---|
public void FromXML(String XML)
throws ExecutionSerializationException
IPlanElementIPlanElement.ToXML()
XML - the xML serialization
ExecutionSerializationException - A serialization error occurred
public void FromXML(Element XML)
throws ExecutionSerializationException
IPlanElementIPlanElement.ToXML()
XML - the xML serialization
ExecutionSerializationException - A serialization error occurredpublic String GetID()
IPlanElement
public String GetName()
IPlanElement
public IPlanElement.PlanElementType GetPlanElementType()
IPlanElement
public IPlanElement Locate(String ID)
IPlanElement
ID - the iD
public Set<IPlanElement> LocateActionElements()
IPlanElement
public void SetName(String Name)
IPlanElement
Name - the name
public String ToXML()
throws ExecutionSerializationException
IPlanElement
ExecutionSerializationException - A serialization error occurred
public void Validate()
throws ExecutionValidationException
IPlanElement
ExecutionValidationException - A validation error occurred
public void ValidatePreExecution(ExecutionHandle Handle)
throws ExecutionValidationException
IPlanElement
Handle - the execution handle
ExecutionValidationException - A validation error occurredpublic IContingencyReaction.ReactionType[] SupportedContingencyTriggers()
IPlanElement
public boolean SupportsContingencyTriggers()
IPlanElement
public List<ContingencyTrigger> GetContingencyTriggers()
IPlanElement
public void SetContingencyResourcePick(ExecutionHandle Handle,
String Pick)
throws ExecutionRunTimeException
IPlanElementIContingencyReaction.ReactionType#Pick reaction is supported
Handle - the execution handle handlePick - the picked resource
ExecutionRunTimeException - A runtime error occurredpublic Set<String> GetModifiedVariableNames()
IPlanElement
public Set<String> GetNeededVariableNames()
IPlanElement
public Logger GetExtenderLogger()
PlanElementBase
GetExtenderLogger in class PlanElementBase
public void ExecuteExtender(ExecutionHandle Handle)
throws ExecutionRunTimeException,
ExecutionInternalErrorException,
ExecutionCancelException,
ExecutionBreakException
PlanElementBase
ExecuteExtender in class PlanElementBaseHandle - the execution handle
ExecutionRunTimeException - A runtime error occurred
ExecutionInternalErrorException - An internal error occurred
ExecutionCancelException - The execution was canceled
ExecutionBreakException - The execution was terminated
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||