Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
EMF Compare/Specifications/ProvideContentMergeViewerForResourceAttachmentChanges
THIS PAGE IS ARCHIVED. IT IS PROBABLY OUTDATED AND WILL NOT BE UPDATED
Evolution Specification: Provide content merge viewer for resource attachment changes
Current status is ARCHIVED
Preamble
Provide content merge viewer for resource attachment changes.
_Relevant tickets_ (links to the Bugzilla tickets which are related to the change):
- Bug 398360 - Content merge viewer for resource attachment changes
- Review 9930
Introduction
Currently there is no content merge viewers for the resource attachment changes. EMF compare will provide a specific one close to the content merge viewer on non containment reference changes, but displaying the direct contents of the changed resource.
Detailed Specification
The new user interface for resource attachment change :
In the structure merge viewer, the resource attachment changes are now displayed under their associated match resource item. The data displayed are: object_name [resource contents type_of_difference]
- The object name: the object concerned by the difference (e.g. class, attribute, reference...)
- The type of difference: the type of difference found on the property affected (add or delete)
In the content merge viewer, the direct contents of the changed resources are now displayed. The placeholders system existing for non containment reference changes is reused to display changes related to resource contents.
Backward Compatibility and Migration Paths
Metamodel Changes
This evolution doesn't change the metamodel.
API Changes
New interfaces :
- org.eclipse.emf.compare.rcp.ui
- /src/org/eclipse/emf/compare/rcp/ui/mergeviewer/accessor/ICompareAccessor.java
public interface ICompareAccessor { Comparison getComparison(); IMergeViewerItem getInitialItem(); ImmutableList<? extends IMergeViewerItem> getItems(); }
- /src/org/eclipse/emf/compare/rcp/ui/mergeviewer/accessor/IResourceContentsAccessor.java
public interface IResourceContentsAccessor extends ICompareAccessor { Resource getResource(MergeViewerSide side); }
Interfaces changes :
- org.eclipse.emf.compare.rcp.ui
- /src/org/eclipse/emf/compare/rcp/ui/mergeviewer/accessor/IStructuralFeatureAccessor.java : now extends ICompareAccessor
User Interface Changes
See detailed specification.
Documentation Changes
This documentation will have to be updated:
- New and Noteworthy
- User Guide
Tests and Non-regression strategy
TODO. (This part of the document should describe the strategy to use to correctly test the evolution and guarantee the non-regression.)
Implementation choices and tradeoffs
N/A