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

Bug 341574

Summary: Proxy resolution problem during reflective deserialization
Product: [Modeling] EMF Reporter: Markus Herrmannsdoerfer <herrmama>
Component: CoreAssignee: Ed Merks <Ed.Merks>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Markus Herrmannsdoerfer CLA 2011-04-01 00:59:54 EDT
When reflectively loading an Ecore instance, proxies of single-valued, unsettable references do not get resolved, even though resolve proxies is true. The following code snippet in EStructuralFeatureImpl shows the problem:

2815     public static class InternalSettingDelegateSingleEObjectResolvingUnsettable extends InternalSettingDelegateSingleEObject
2816     {
2817     public InternalSettingDelegateSingleEObjectResolvingUnsettable(EClass eClass, EStructuralFeature feature)
2818     {
2819     super(eClass, feature);
2820     }
2821    
2822     @Override
2823     protected boolean isUnsettable()
2824     {
2825     return true;
2826     }
2827     }

Must the class InternalSettingDelegateSingleEObjectResolvingUnsettable not inherit from InternalSettingDelegateSingleEObjectResolving instead of InternalSettingDelegateSingleEObject? It seems that this only affects reflective deserialization.
Comment 1 Ed Merks CLA 2011-04-01 11:52:00 EDT
The fix is committed to CVS for 2.7.
Comment 2 Ed Merks CLA 2011-05-10 11:57:53 EDT
The changes are available in EMF 2.7 M7 or an earlier build.