Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 245419

Summary: Allow clients to set options on existing instances of unexecuted AbstractEMFOperations
Product: [Modeling] EMF Services Reporter: Linda Damus <ldamus>
Component: TransactionAssignee: Christian Damus <give.a.damus>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P2 CC: ahunter.eclipse
Version: unspecifiedKeywords: noteworthy, plan
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard: Client Control

Description Linda Damus CLA 2008-08-27 13:40:16 EDT
Please consider adding API that would allow clients to modify the transaction options on an existing AbstractEMFOperation before it has been executed.

Currently the only way to set the transaction options is through the constructor.  However, it is common for clients to wish to execute an AbstractEMFOperation that was created by some other part of the system, and need to modify the options at the time of execution.
Comment 1 Christian Damus CLA 2008-08-27 14:13:28 EDT
Good idea.
Comment 2 Christian Damus CLA 2008-09-21 08:23:14 EDT
Added API to change the transaction options at any time before executing an AbstractEMFOperation:

  - void setOptions(Map<?, ?>) throws IllegalStateException
  - boolean canSetOptions()

These new operations are not final, to allow subclasses to intercept and transform incoming options, or even to disable this capability if they wish.  However, for safety reasons, only the AbstractEMFOperation implementation of the setOptions method can actually change the options.
Comment 3 Christian Damus CLA 2008-11-24 13:10:07 EST
Restore original target after milestones were deranged.