EMF Compare/API LayerDifferences
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)