Bug 531487 - Allow to fully rollback a command from an AQL or service expression throwing an OperationCanceledException
Summary: Allow to fully rollback a command from an AQL or service expression throwing ...
Status: CLOSED FIXED
Alias: None
Product: Sirius
Classification: Modeling
Component: Core (show other bugs)
Version: 5.1.0   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: 6.0.0   Edit
Assignee: Laurent Redor CLA
QA Contact: Florian Barbin CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-21 12:12 EST by Laurent Redor CLA
Modified: 2018-06-27 11:55 EDT (History)
1 user (show)

See Also:


Attachments
use case (10.26 KB, application/zip)
2018-05-24 10:03 EDT, Florian Barbin CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Laurent Redor CLA 2018-02-21 12:12:47 EST
In a VSM, if an expression corresponds to a java service call that throws an OperationCanceledException, it is currently not rollbacked. The command corresponding to this expression is executed till the OperationCanceledException and the model remains in an intermediate state.
The goal of this issue is to hava a way to handle some specific case by waiting the resolution of more general bug 495036.
Comment 1 Eclipse Genie CLA 2018-02-21 12:29:34 EST
New Gerrit change created: https://git.eclipse.org/r/117891
Comment 2 Laurent Redor CLA 2018-02-21 12:39:57 EST
The above gerrit is a proposition of fix with a specific key word "-RT-" to minimize the impact and only handled desired cases. Only OperationCanceledException  containing this specific key word will be ReThrowed.
Comment 3 Laurent Redor CLA 2018-02-22 03:45:09 EST
The "-RT-" code is available through org.eclipse.sirius.business.internal.logger.OCERuntimeLoggerSpy.RE_THROW_STATUS_MESSAGE_KEY.
Warning: It is an internal Class. But use this constant will allow to automatically detect a future change of behavior through the bugzilla 495036 for example.
Comment 5 Florian Barbin CLA 2018-05-24 10:03:41 EDT
Created attachment 274177 [details]
use case

With the attached use case:
Open the representation
try to apply the tool New Class with xxx = > the class should be created
try to apply the tool New Class with xxx with specific message => the class should not be created
Comment 6 Laurent Redor CLA 2018-06-27 11:55:04 EDT
Available in Sirius 6.0.0, see https://wiki.eclipse.org/Sirius/6.0.0 for details