Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 323187

Summary: EMF should have a scalable Notification filtering and distribution mechanism
Product: [Modeling] MDT Reporter: Axel Uhl <eclipse>
Component: RelengAssignee: Dummy mdt releng inbox <mdt-releng-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: Ed.Merks, Kenn.Hussey, stepper
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
URL: http://www.axel-uhl.de/EMFEventManager.pptx
Whiteboard:
Attachments:
Description Flags
Initial contribution of an event manager implementation
none
Initial contribution of an event manager implementation, 1.5 settings
none
Initial contribution of an event manager implementation, 1.5 settings none

Description Axel Uhl CLA 2010-08-19 15:31:03 EDT
Build Identifier: 20100617-1415

When a lot of Adapters are registered and receive many Notification objects, and each Adapter filters the Notifications for particular criteria locally, this doesn't scale very well. It results in linear effort over the number of Adapters/filters registered. This becomes an issue, e.g., for incremental OCL constraint re-validation and OCL-based attribute grammars which create many of such Notification filters.

We provide a bundle here that implements a solution to this problem, using an "event manager" which manages Adapter subscriptions, each with a Notification filter which can be a boolean expression tree of elementary filter conditions, such as for the type of the notifier, the feature being changed, etc. Based on hash tables, dispatching a single Notification to the Adapters interested can happen largely independent of the number of filters/Adapters subscribed.

Reproducible: Always
Comment 1 Axel Uhl CLA 2010-08-19 15:33:20 EDT
Created attachment 177041 [details]
Initial contribution of an event manager implementation

For consideration for inclusion in Sphinx, as discussed with the Sphinx project leads.
Comment 2 Axel Uhl CLA 2010-08-20 04:17:12 EDT
Created attachment 177069 [details]
Initial contribution of an event manager implementation, 1.5 settings
Comment 3 Axel Uhl CLA 2010-08-20 05:38:20 EDT
Created attachment 177075 [details]
 Initial contribution of an event manager implementation, 1.5 settings

Now with the formerly missing bundles on which the tests bundle depends
Comment 4 Axel Uhl CLA 2010-11-07 04:41:11 EST

*** This bug has been marked as a duplicate of bug 329336 ***