Skip to main content

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.

Jump to: navigation, search

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):

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 :

alt 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

Back to the top