Jump to: navigation, search

EMF Compare/API LayerDifferences

THIS PAGE IS ARCHIVED. IT IS PROBABLY OUTDATED AND WILL NOT BE UPDATED

The API enables to compute differences between GMF diagrams and to layer these differences (through decorators) on out diagram resources. It is the service class: GMFCompareServices which contains this API:

  • ComparedResourceSets layerDifferences(ComparedResourceSets input, final Map<String, Object> options)
    

The CompareResourceSets class is a structure to contain the set of the resources to compare (left, right and ancestor).

This method returns this structure with decorated resources, corresponding to the computed differences.

The parameter "options" is the options for the match processing.

Here is an exemple to call this API:

ComparedResourceSets input = new ComparedResourceSets();
input.setLeft(modifiedResourceSet.getResources());
input.setRight(originalResourceSet.getResources());
		
ComparedResourceSets result = GMFCompareService.layerDifferences(input, Collections.EMPTY_MAP);

There is an other API to decorate the compared diagrams from a result of comparison (DiffResourceSet):

  • ComparedResourceSets layerDifferences(final DiffResourceSet diffModel)
    

Here is an exemple to call this API:

final MatchResourceSet matchModel = MatchService.doResourceSetMatch(modifiedResourceSet, originalResourceSet, Collections.<String, Object> emptyMap());
final DiffResourceSet diffModel = DiffService.doDiff(matchModel, false);
		
ComparedResourceSets result = GMFCompareService.layerDifferences(diffModel);