Bug 462213 - Uncontrol action breaks the semantic resources of the session
Summary: Uncontrol action breaks the semantic resources of the session
Status: CLOSED FIXED
Alias: None
Product: Sirius
Classification: Modeling
Component: Core (show other bugs)
Version: 2.0.0   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: 3.0.0M6   Edit
Assignee: Laurent Fasani CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
Depends on: 459237
Blocks:
  Show dependency tree
 
Reported: 2015-03-16 06:50 EDT by Laurent Fasani CLA
Modified: 2015-06-24 11:16 EDT (History)
3 users (show)

See Also:


Attachments
ConsumerAndLibrary.zip (6.55 KB, application/x-zip-compressed)
2015-03-16 06:50 EDT, Laurent Fasani CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Laurent Fasani CLA 2015-03-16 06:50:17 EDT
Created attachment 251577 [details]
ConsumerAndLibrary.zip

The semantic resources of a session is wrong after an Uncontrol.

Steps to reproduce:
* Imports projects from ConsumerAndLibrary.zip
* Open session from lib.aird
* Open session from consumer.aird
* Expand consumer.aird to see the node libraryP1 (under lib.ecore)
* Control libraryP1 from lib.aird --> The node libraryRoot of consumer.aird is collapsed because it has been reloaded.
* Uncontrol libraryP1 from lib.aird --> *KO*: consumer.ecore has been removed from the semantic resource of consumer.aird.
Comment 1 Laurent Redor CLA 2015-03-16 06:59:12 EDT
+++ This bug was initially created as a clone of Bug #459237 +++
Comment 2 Eclipse Genie CLA 2015-03-16 13:37:46 EDT
New Gerrit change created: https://git.eclipse.org/r/43957
Comment 3 Eclipse Genie CLA 2015-03-16 13:37:47 EDT
New Gerrit change created: https://git.eclipse.org/r/43960
Comment 4 Eclipse Genie CLA 2015-03-16 13:37:48 EDT
New Gerrit change created: https://git.eclipse.org/r/43959
Comment 5 Eclipse Genie CLA 2015-03-16 13:37:49 EDT
New Gerrit change created: https://git.eclipse.org/r/43958
Comment 6 Eclipse Genie CLA 2015-03-16 13:37:51 EDT
New Gerrit change created: https://git.eclipse.org/r/43961
Comment 11 Laurent Fasani CLA 2015-03-20 04:31:31 EDT
Fixed
The fix proposed contains the following parts:
1 - Differanciate the remove model
 - from the command "remove model" in one hand (Scenario "Remove Model" command)
 - when receiving a DELETE notification in other hand which is the scenario of the bug.
In the latter case, the LRC will not be used to get the resources consuming the deleted resource avoiding cascading delete of the resource

2 - Disable proxy resolution when removing a resource from session to avoid recreating, at session save, an empty
resource that has been previously externally deleted.

3 - Fix the bad update of controlled resources

4 - Properly remove the semantic root from aird model tag


However this does not resolve the problem about the LocalResourceCollector because it is still badly updated when the session receive notification of delete or modification of used resource. This will be handle in bug 461602.
Comment 12 Belqassim Djafer CLA 2015-04-14 04:13:57 EDT
Verified on Sirius 3.0.0M6
Comment 13 Pierre-Charles David CLA 2015-06-24 11:16:08 EDT
Available in Sirius 3.0.0. See https://wiki.eclipse.org/Sirius/3.0.0.