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.
EMF Compare/API Viewer FilteringGrouping
The API has to allow to launch a graphical comparison of models, specifying the filters to activate and the grouping configuration to use.
It is the service class: CompareServices which contains this API:
void openView(final ComparisonSnapshot input, final List<IDifferenceFilter> filters, final IDifferenceGroupingFacility group)
It enables to open the structure view from a comparion result (snapshot) with a given filtering and grouping configuration.
Here is an exemple to call this method:
final List<IDifferenceFilter> filters = DifferenceFilterRegistry.INSTANCE.getFilters(DifferenceFilterRegistry.FILTERING_ADDED_ELEMENTS_ID);
final ISelectionProvider provider = editor.getEditorSite().getSelectionProvider();
if (provider instanceof IInputProvider) {
final Object root = ((IInputProvider)provider).getInput();
if (root instanceof ComparisonSnapshot) {
CompareServices.openView((ComparisonSnapshot)root, filters, null);
}
}