This chapter covers the data copy semantics for following features:
Spawned subprocesses inherit the data of their root process by copy using the usual semantic for copy all data. Similarly, processes that are aborted and started from the root process instance and paused and started a new process instance copy the data using the following data copy semantics. Note that target for the copied data can also be other models or model versions.
| Data | Synchronous/Asynchronous Subprocess | Spawned Subprocess and Peer Process |
|---|---|---|
| Primitive Data | Passed by value | Passed by value |
| Serializable Data | Passed by value | Passed by value |
| Structured Data | Passed by value | Passed by value |
| XML Document | Passed by value | Passed by value |
| Hibernate Data | Passed by reference | Passed by reference |
| Entity Bean | Passed by reference | Passed by reference |
| Document | Passed by reference | Passed by reference, except for the Extract Pages functionality. In the latter case new documents are created. |
| Document List | Shallow copy means the list get copied and content passed by reference | Shallow copy means the list get copied and content passed by reference |
| Folder | Passed by reference | Passed by reference |
| Folder List | Shallow copy means the list get copied and content passed by reference | Shallow copy means the list get copied and content passed by reference |
| Notes | Passed by value | Passed by value |
| Process Attachment | Refer Document List | Refer Document List |
Data mapping heuristics is only applied to document data and document list. Consider Po is the originating process instance while Ps is spawned one. The following data mapping heuristic apply for spawned subprocesses, peer processes and newly started process.
| Data | Mapping Heuristic |
|---|---|
| Document | All data values of Po are passed to Ps regardless of whether Ps uses this data.
In addition, the following copy heuristics apply to the document data values Po has,
but the Process Definition of Ps does not use and the data of Ps that hasn't been initialized
yet via the prior step (passing all data from Po to Ps):
|
| Document List | Same as Document |
Currently, Stardust Portal does not support viewing of Document List, Folder and Folder List.
In case the data associated with root process contains department information, it gets copied to the spawned process as it is. Thus, the department scope of a spawned process inherits the department scope of the root process.
| Is Subprocess Of Root Process Instance | Subprocess Instance Must Be Completed To Complete Root Process Instance |
Abort Of Root Process Instance Results In Abort Of Subprocess Instance |
Abort Of Subprocess Instance Results In Abort Of Root Process Instance |
Interrupted Subprocess: Recovery Of Root Process Instance Recovers Subprocess |
|
|---|---|---|---|---|---|
| Synchronous Subprocess | Supported | Supported | Supported (If it hasn't been terminated yet) | Supported (configurable - the user can decide whether to abort root process instance) | Supported |
| Asynchronous Subprocess | Not Supported | Not Supported | Not Supported | Not Supported | Not Supported (since asynchronous 'subprocesses' are not real subprocesses) |
| Spawned Subprocess | Supported | Supported | Supported (If it hasn't been terminated yet) | Supported (configurable - the user can decide whether to abort root process instance | Supported |