Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EMF Compare/Specifications/FeatureMap"

(Progression)
(Progression)
Line 162: Line 162:
 
|-
 
|-
 
| align="left" | MOVE in same container
 
| align="left" | MOVE in same container
| bgcolor="#9d261d" |  
+
| bgcolor="#46a546" |  
| bgcolor="#9d261d" |  
+
| bgcolor="#46a546" |  
 
|-
 
|-
 
| align="left" | MOVE in different container
 
| align="left" | MOVE in different container

Revision as of 09:24, 11 June 2014

Evolution Specification: FeatureMaps in EMF Compare

Current status is DRAFT

Preamble

Summary: Define how to represent feature maps changes.

Introduction

The following metamodel will be use for the specification.

EMFCompare FeatureMap MM.png

Detailed Specification

Addition/deletion of a value for a given key

Solution 1: 2 differences

In the core:

  • 1 difference on the orders : EFeatureMapEntry attribute
  • 1 difference on the standardOrders/priorityOrders reference (derived, transient, volatile)
  • the merge of a diff implies the merge of the other diff (equivalence relation)
  • if the changes are too heavy in the code, add a new type of Diff: FeatureMapChange

In the structure merge viewer:

  • 1 difference on the orders : EFeatureMapEntry attribute
  • 1 difference on the standardOrders/priorityOrders reference
  • a new FeatureMap filter (that hides the orders : EFeatureMapEntry difference
  • when select a diff, the other diff is higlighted in green

In the content merge viewer:

  • For the difference on the orders : EFeatureMapEntry attribute: table merge viewer
  • For the standardOrders/priorityOrders reference: tree merge viewer

EMFCompare FeatureMap 1.png EMFCompare FeatureMap 2.png EMFCompare FeatureMap 3.png

Solution 2: 1 difference

In the core:

  • 1 new type of difference: FeatureMapChange

In the structure merge viewer:

  • 1 difference on the standardOrders/priorityOrders reference

In the content merge viewer:

  • For the standardOrders/priorityOrders reference: tree merge viewer

EMFCompare FeatureMap 4.png

Key change for a given value

Solution 1: table merge viewer

In the core:

  • 1 new type of difference on the the standardOrders/priorityOrders references: FeatureMapKeyChange

In the structure merge viewer:

  • 1 new type of difference on the the standardOrders/priorityOrders references: FeatureMapKeyChange

In the content merge viewer:

  • table merge viewer

EMFCompare FeatureMap 5.png

Solution 2: new merge viewer

In the core:

  • 1 new type of difference on the the standardOrders/priorityOrders references: FeatureMapKeyChange
  • new table merge viewer : FeatureMapKeyContentMergeViewer

In the structure merge viewer:

  • 1 new type of difference on the the standardOrders/priorityOrders references: FeatureMapKeyChange

In the content merge viewer:

  • new merge viewer: FeatureMapKeyContentMergeViewer (modified TableMergeViewer)

EMFCompare FeatureMap 6.png

Progression

2-way Containment Non containment
ADD    
DELETE    
KEY CHANGE    
MOVE in same container    
MOVE in different container    
MOVE in diff container + KEY CHANGE    
3-way Containment Non containment
ADD    
DELETE    
KEY CHANGE    
MOVE in same container    
MOVE in different container    
MOVE in diff container + KEY CHANGE    
Conflicts Containment Non containment
ADD    
DELETE    
KEY CHANGE    
MOVE in same container    
MOVE in different container    
MOVE in diff container + KEY CHANGE    
Pseudo-Conflicts Containment Non containment
ADD    
DELETE    
KEY CHANGE    
MOVE in same container    
MOVE in different container    
MOVE in diff container + KEY CHANGE    

Back to the top