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

Bug 357391

Summary: EObjectResolvingEList does not resolve on remove
Product: [Modeling] EMF Reporter: Boris holzer <boris.holzer>
Component: CoreAssignee: Ed Merks <Ed.Merks>
Status: RESOLVED INVALID QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Boris holzer CLA 2011-09-12 10:43:49 EDT
Build Identifier: I20110613-1736

According to the contract of java.util.List, calling remove "Returns the element that was removed from the list."
Since EObjectResolvingEListImpl accesses (via NotifyingListImpl.remove --> NotifyingListImpl.doRemove --> BasicEList.remove) the member 'data' directly, the removed Object is not resolved.

BasicEList.remove should invoke BasicEList.get instead of accessing data directly.

Reproducible: Always
Comment 1 Ed Merks CLA 2011-09-12 10:50:38 EDT
Certainly remove(int) is not intended to resolve proxies.