Bug 522063 - Remove the cascading filter
Summary: Remove the cascading filter
Status: NEW
Alias: None
Product: EMFCompare
Classification: Modeling
Component: UI (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows NT
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: EMF Compare CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-08 11:15 EDT by Laurent Goubet CLA
Modified: 2017-09-08 11:15 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Laurent Goubet CLA 2017-09-08 11:15:17 EDT
The cascading filter is the main source of headaches on the current version of EMF Compare for multiple reasons:

- It influences the mergers. I believe an UI artefact, meant to alter the way the users "views" the model should never have had any business changing how the "core" merges the differences.
- The filters API is overly complicated. A "filter" should only be active when it's on, never when it's off. Having two predicates was a conception error imo.
- It is kind of unpredictable for the end user. The "cascading differences" are differences located under add/delete of elements. However, these differences can very well appear differently in the structure pane than "under" their parents (conflicts, for example). Cascading pseudo conflicts will thus be hidden away by this filter even tho they don't appear under their parent diffs.

These points have made it so that most of the maintenance cost of the EMF Compare UI stems from this filter.

I believe this filter should be removed as a whole and its target function (hiding away sub-differences to simplify the view for the user) moved to a modeled relation between differences.

There is currently no direct link between "ClassA has been added" (classDiff) and "ClassA.reference1 has been added" (refDiff) except the fact that refDiff requires ClassDiff. We could either create a new link to represent sub-differences... or use the already existing "refinment" reference that more or less fits the bill.