Bug 512370 - Extend AbstractInteractionPolicy to support execution of transient (non-undoable) operations.
Summary: Extend AbstractInteractionPolicy to support execution of transient (non-undoa...
Status: NEW
Alias: None
Product: GEF
Classification: Tools
Component: GEF MVC (show other bugs)
Version: 1.1.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: gef-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-17 09:36 EST by Matthias Wienand CLA
Modified: 2017-02-17 09:36 EST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Wienand CLA 2017-02-17 09:36:31 EST
Currently, AbstractInteractionPolicy provides an API for committing transactional policies, so that the commit operations of the policies are placed on the operation history to be undoable. This API should be extended to further support the execution of operations that are not the result of committing a policy, as well as the execution of transient commit or other operations that are not placed on the operation history.

As AbstractTransactionPolicy needs to locally execute an ITransactionalOperation, an execute(ITransactionalOperation) method could be added to AbstractPolicy already. The other two methods for committing a policy transiently, or for executing an operation on the operation history, could be added to AbstractInteractionPolicy.

To sum up:
 - Add AbstractPolicy#execute(ITransactionalOperation) to locally execute the operation.
 - Add AbstractInteractionPolicy#commit(ITransactionalOperation) to execute the operation on the history.
 - Add AbstractInteractionPolicy#locallyCommit(AbstractTransactionPolicy) to locally execute the commit operation. The names are subject to change.