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

Bug 506324

Summary: Replacing a VSM in the workspace with a different version is not always taken into account
Product: [Modeling] Sirius Reporter: Pierre-Charles David <pierre-charles.david>
Component: CoreAssignee: Project inbox <sirius.core-inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: maxime.porhel
Version: 4.1.0Keywords: triaged
Target Milestone: 4.0.2   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 506322    
Bug Blocks:    

Description Pierre-Charles David CLA 2016-10-21 06:30:30 EDT
+++ This bug was initially created as a clone of Bug #506322 +++

This is somewhat similar to the "zombie viewpoints" of but #475598, but is actually a regression introduced by part of commit de35505b28c6c6f5d583f3616950708e36b02b73 for bug #442133.

Steps to reproduce:
1. Download an extract the attached zombie.zip archive *outside of the workspace*.
2. Import the plain project zombie/t and zombie/v1/zombie-vsm in the workspace. Make sure to check "Copy projects into the workspace".
3. Create a representation file on t/sample.ecore, enable the "zombie" viewpoint, and create a diagram on the EPackage in the model. The diagram should show a single EClass as a green square, as defined in v1 of the VSM.
4. While keeping the session and diagram editor open, delete the zombie-vsm project (with "Delete project contents from disk" checked).
5. Import zombie/v2/zombie-vsm in the workspace. Make sure to check "Copy projects into the workspace".
6. Refresh the representation. Nothing happens, it does not even become dirty. The v2 of the VSM defined the same node mapping with a different style (red diamond), but this is not taken into account (KO).
7. Close the session, reopen it and reopen the diagram. Now it is taken into account and the green square has become a red diamond.

This kind of scenario used to work, and while not critical as its does not correspond to a "canonical" use case, it is useful in the context of demos and tutorials, when you want to replace a modeler definition with a different version (e.g. revert to a known-good version if the user is lost during a tutorial).
Comment 1 Pierre-Charles David CLA 2016-10-21 06:31:07 EDT
Clone to report the fix on Sirius 4.0.2, as the regression was introduced in 4.0.0 (4.0.0M6 to be precise).
Comment 2 Pierre-Charles David CLA 2019-04-16 08:03:29 EDT
Closing all clones created to report fixes on a hypothetical version 4.0.2: there is no plan to actually release that version, branch 4.0.x is not maintained anymore.