Bug 489957 - Consistently check for subclasses of UMLDiff in UMLRefinedElementsFilter
Summary: Consistently check for subclasses of UMLDiff in UMLRefinedElementsFilter
Status: NEW
Alias: None
Product: EMFCompare
Classification: Modeling
Component: UI (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: EMF Compare CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-18 12:34 EDT by Stefan Dirix CLA
Modified: 2016-03-18 12:34 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Dirix CLA 2016-03-18 12:34:26 EDT
The UMLRefinedElementsFilter is responsible to show and hide differences related to UML differences. When activated it should hide differences which refine UML differences. When deactivated it should hide the UML differences themselves.

The current implementation works fine for all UML differences created by EMFCompare itself. However when a user creates an own UML custom diff as a subclass of UMLDiff the UMLRefinedElementsFilter only works when activated, not when deactivated.

When looking at the used predicates the issue becomes clear: The predicate used when the filter is activated checks for subclasses of UMLDiff. Since the user's diff is also a subclass this works fine. The predicate used when the filter is deactivated checks the NsURI ("http://www.eclipse.org/emf/compare/uml2") instead.

It would be nice if the user did not have to use the same URI for his/her custom diffs. Therefore the UMLRefinedElementsFilter predicate should be rewritten to also check for subclass of UMLDiff like the other predicate already does.