public class BoundaryPlanElement extends PlanElementBase
Root is to
be executed in a remote execution container. The access info for this remote container is stored in
Config. Additionally to the subplan moved to the remote host along with the
subset of the variables as defined by GetNeededVariableNames(), the local files included
in the Attachments set are also moved using the same connection. The execution in the
remote container can be isolated so as any byproducts of the execution do not overlap with other executions
that take place in parallel. Files that should be cleaned up after execution can also be declared. This
element also supports contingency triggers of IContingencyReaction.ReactionType#Pick so that in case
of error a different execution container can be picked and the execution restarted there. After the execution
in the remote execution container is finished, the variables that are modified by the subplan are send back to
the caller and are used to update the local variables copy as defined by
GetModifiedVariableNames(). If the execution terminated with an error, the error is
retrieved and re-thrown.PlanElementBase.ClockTypeIPlanElement.PlanElementType| Modifier and Type | Field and Description |
|---|---|
Set<ExecutionAttachment> |
Attachments
The Attachments that are to be moved to the remote execution container directly though the connection established
with the remote container
|
List<String> |
CleanUpLocalFiles
A list of files that will be present in the remote execution container and which after the execution should
be cleaned up
|
BoundaryConfig |
Config
The remote execution container access configuration
|
BoundaryIsolationInfo |
Isolation
The remote execution container can be isolated to a sub-directory temporarily created for this execution
purposes so that files created during this execution do not overlap with other executions taking place in
parallel.
|
IPlanElement |
Root
The Root of the sub plan that is to be executed to the remote execution container.
|
List<ContingencyTrigger> |
Triggers
The contingency Triggers that can be applied to this element in case of an error
|
| Constructor and Description |
|---|
BoundaryPlanElement() |
| Modifier and Type | Method and Description |
|---|---|
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.
|
org.slf4j.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
|
CheckStatus, Execute, ExecuteWithStateAwareness, GetPerformanceEvent, RegisterToRunningActionElementsRestriction, ResetClocks, StartClock, StopClock, UnregisterToRunningActionElementsRestriction, updatepublic IPlanElement Root
public List<ContingencyTrigger> Triggers
public BoundaryConfig Config
public BoundaryIsolationInfo Isolation
public List<String> CleanUpLocalFiles
public Set<ExecutionAttachment> Attachments
public void FromXML(String XML) throws ExecutionSerializationException
IPlanElementIPlanElement.ToXML()XML - the xML serializationExecutionSerializationException - A serialization error occurredpublic void FromXML(Element XML) throws ExecutionSerializationException
IPlanElementIPlanElement.ToXML()XML - the xML serializationExecutionSerializationException - A serialization error occurredpublic String GetID()
IPlanElementpublic String GetName()
IPlanElementpublic IPlanElement.PlanElementType GetPlanElementType()
IPlanElementpublic IPlanElement Locate(String ID)
IPlanElementID - the iDpublic Set<IPlanElement> LocateActionElements()
IPlanElementpublic void SetName(String Name)
IPlanElementName - the namepublic String ToXML() throws ExecutionSerializationException
IPlanElementExecutionSerializationException - A serialization error occurredpublic void Validate()
throws ExecutionValidationException
IPlanElementExecutionValidationException - A validation error occurredpublic void ValidatePreExecution(ExecutionHandle Handle) throws ExecutionValidationException
IPlanElementHandle - the execution handleExecutionValidationException - A validation error occurredpublic IContingencyReaction.ReactionType[] SupportedContingencyTriggers()
IPlanElementpublic boolean SupportsContingencyTriggers()
IPlanElementpublic List<ContingencyTrigger> GetContingencyTriggers()
IPlanElementpublic void SetContingencyResourcePick(ExecutionHandle Handle, String Pick) throws ExecutionRunTimeException
IPlanElementIContingencyReaction.ReactionType#Pick reaction is supportedHandle - the execution handle handlePick - the picked resourceExecutionRunTimeException - A runtime error occurredpublic Set<String> GetNeededVariableNames()
IPlanElementpublic Set<String> GetModifiedVariableNames()
IPlanElementpublic org.slf4j.Logger GetExtenderLogger()
PlanElementBaseGetExtenderLogger in class PlanElementBasepublic void ExecuteExtender(ExecutionHandle Handle) throws ExecutionRunTimeException, ExecutionCancelException, ExecutionInternalErrorException, ExecutionBreakException
PlanElementBaseExecuteExtender in class PlanElementBaseHandle - the execution handleExecutionRunTimeException - A runtime error occurredExecutionCancelException - The execution was canceledExecutionInternalErrorException - An internal error occurredExecutionBreakException - The execution was terminatedCopyright © 2014. All Rights Reserved.