Community
Participate
Working Groups
Build Identifier: CDO 4.0.1 & 4.1 Having a Adapter added on a EObject contained in a CDOResource, changes on this EObject send notifications to the adapter with a CDOLegacyAdapter wrapping this EObject as notifier, while the notifier should be the wrapped EObject. It should be have the same issue when having a ResourceSetListenerImpl listening Notifications. See http://www.eclipse.org/forums/index.php/t/236411/ for more details Reproducible: Always
Created attachment 202213 [details] Test v1 I rewrote the test provided by Esteban in his post (http://www.eclipse.org/forums/index.php/m/718239/), because I had some issue with the threading on my machine. The test demonstrates the problem.
Created attachment 202214 [details] Patch v1 The problem from the CDOView which passed the dirty (or detached) CDOObject to the CDOInvalidationNotificationImpl. In the case of legacy this must be the internal instance, otherwise the wrapper will be set as notifier. Patch v1 fixes this problem.
I believe this problem can be easily fixed on CDO 4.0. I've currently some issues with my maintenance workspace. As soon as this problem is solved I I'll provide a patch.
Created attachment 202307 [details] Test+Fix v2 I've moved the CDOObject->EObject conversion into CDOInvalidationNotification. Then I've added a second test case to show that CDODeltaNotification suffers from the same problem. I've fixed it there, too. Now it can be backported ;-)
Committed revision 8996
Closing.