Action Actors
The Action Actors are defined for a VS Action to make up the TXP process. Each actor is a TXP node, and the ordering is important. The process either completes successfully or rolls back. A failure to complete the process is logged in the server application log as well as to present the error in the UI.
The action actors that can be added are the ones you have created in the various data connectors, a special Java actor and the predefined actors:
Predefined actor | Description |
SetFocus | Set focus |
SetSourceFieldValue | Set source field value |
SetTargetFieldValue | Set target field value |
TransportField | Transports a field |
TransportGroup | Transports a group of components |
TransportSelectedTableRows | Transport selected table rows |
TransportSingleSelectedTableRow | Transport single-selected table row |
TransportSingleSelectedTableRow-AndColumnToField | Transport single-selected table row and colum to field |
TransportSingleSelectedTableRowToFields | Transport single-selected table row to fields |
TransportTableColumn | Transport table column |
TransportTableRows | Transport table rows |
Each actor can provide (and generally do provide) editable properties that needs to be filled in.
The VS Action has a property Target namespace that is used for the transport operations and the SetTargetFieldValue operation.
Java Action Actor
This actor is used when the Java code needs to execute in the TXP process as a node, i.e. it can handle commit and rollback, etc. The actor is a class that must extend
com.iizix.actionactor.AbstractJavaActionActor
/** * The Java Action Actor that takes a String parameter * and a LocalTime Value for show. */ @JavaActionActor(descr = "A simple Java Actor without rollback", modifiesVS = false, ref = "FirstProject:/vs/start/my-Action") @JavaActorParam(name = "myString", prompt = "myString for show", type = JavaActorParam.Type.String) @JavaActorParam(name = "myTime", prompt = "myTime for show", type = JavaActorParam.Type.Value_LocalTime, defaultInput = "00:00") public class MyActor extends AbstractJavaActionActor { /** * Called when the TXP executes this Action Actor node. */ @Override public void onAction(VSActionTXProcess process) { // Place your code here... } }
The class above is an action actor that is connected to the “my-Action” VS Action, and prompts the developer to fill in two parameters “myParam” as a String and “myTime” as a ValueProp of the type LocalTime with a default value of “00:00”. The dialog box presented to the developer looks like:
The feature of making it possible to store parameters for an individual Java Action Actor is very useful as it allows a class to be re-used in various places where the parameters can be used to set the context for the class instance. See the JavaDoc of the @JavaActorParam for additional annotation parameters such as allowNull, tooltip, etc.
The Refresh button in the dialog may be used if the parameters do not match the class if you change the class name. Pressing Refresh will reload the class annotations and refresh the properties displayed.