-
- Downloads
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.
Showing
- org.eventb.texttools/src/org/eventb/texttools/PersistenceHelper.java 28 additions, 4 deletions...texttools/src/org/eventb/texttools/PersistenceHelper.java
- org.eventb.texttools/src/org/eventb/texttools/diffmerge/EventBMerger.java 51 additions, 24 deletions...ools/src/org/eventb/texttools/diffmerge/EventBMerger.java
Loading
Please register or sign in to comment