diff options
author | Eike Stepper | 2022-03-09 16:19:05 +0000 |
---|---|---|
committer | Eike Stepper | 2022-03-09 16:19:05 +0000 |
commit | 547423f1449bf17f59e1763bdf3fe3980595138e (patch) | |
tree | 544a7f3229231568e0d4c31bed65f046d09a6ccb | |
parent | 4d11f17d3f9a9f8df4f39fec01f948cb5d44dbba (diff) | |
download | cdo-547423f1449bf17f59e1763bdf3fe3980595138e.tar.gz cdo-547423f1449bf17f59e1763bdf3fe3980595138e.tar.xz cdo-547423f1449bf17f59e1763bdf3fe3980595138e.zip |
[579165] IndexOutOfBoundsException in CDOObjectImpl.forAllMapAttributes()releases/4.18.0
https://bugs.eclipse.org/bugs/show_bug.cgi?id=579165
-rw-r--r-- | plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java index 993b59eed2..34ac3121b2 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOObjectImpl.java @@ -459,13 +459,15 @@ public class CDOObjectImpl extends MinimalEStoreEObjectImpl implements InternalC if (eSettings != null) { InternalCDOClassInfo classInfo = cdoClassInfo(); + EClass eClass = classInfo.getEClass(); + EStructuralFeature[] persistentMapFeatures = classInfo.getAllPersistentMapFeatures(); int length = persistentMapFeatures.length; for (int i = 0; i < length; i++) { EStructuralFeature feature = persistentMapFeatures[i]; - int featureID = feature.getFeatureID(); + int featureID = eClass.getFeatureID(feature); int index = classInfo.getSettingsFeatureIndex(featureID); CDOStoreEcoreEMap map = (CDOStoreEcoreEMap)eSettings[index]; |