Skip to content
Snippets Groups Projects
Commit cf9055b6 authored by Michael Leuschel's avatar Michael Leuschel
Browse files

fix EMF merge problem in Rodin 3.4 when saving

Text from bodevix:
I have looked at this problem and it seems to be fixed even if the fix is not very clean. I have modified PersistenceHelper to call directly the EventBMerger and to catch potential exceptions when applying a diff: this update avoids exceptions on Save. Finally, no exceptions seem to occur thanks to the EventBMerger update. In EventBMerger, I have used the AttributeChangeMerger and ReferenceChangeMerger of the library. I have also tried to merge the location information. Line information seems correct but sub-expressions are not well marked. I think it would need to find the index of the change in a multi-valued attribute.
It seems the isMergedFor method could simply return true. I have kept a part of the previous code. It was supposed to avoid erasing information not managed by camille, but it seems there is nothing to do for that.

Another problem I have tried to fix is that saving does not always launch workspace update. Adding
resource.setModified(true); resource.eSetDeliver(true);
in PersistenceHelper seems to reduce the occurrences of the problem.
parent 99fe6745
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment