| Summary: | Proxy resolution problem during reflective deserialization | ||
|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Markus Herrmannsdoerfer <herrmama> |
| Component: | Core | Assignee: | Ed Merks <Ed.Merks> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | ||
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
The fix is committed to CVS for 2.7. The changes are available in EMF 2.7 M7 or an earlier build. |
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.