Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2011-08-10 13:25:34 -0400
committerEike Stepper2011-08-10 13:25:34 -0400
commit68f7671241a0eaf0dd6d8734e3976627f869ac02 (patch)
treee4c9c0c982bfa287c3179df0c317930d5509a33d
parentb4eeb8bcb32538d9766c01905dd898e01c4f27d1 (diff)
downloadcdo-68f7671241a0eaf0dd6d8734e3976627f869ac02.tar.gz
cdo-68f7671241a0eaf0dd6d8734e3976627f869ac02.tar.xz
cdo-68f7671241a0eaf0dd6d8734e3976627f869ac02.zip
[354395] containsAll returns wrong result in case of detached objects
https://bugs.eclipse.org/bugs/show_bug.cgi?id=354395
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOStoreImpl.java10
1 files changed, 2 insertions, 8 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOStoreImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOStoreImpl.java
index 8f20249b0a..50b662595f 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOStoreImpl.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/view/CDOStoreImpl.java
@@ -14,7 +14,6 @@
*/
package org.eclipse.emf.internal.cdo.view;
-import org.eclipse.emf.cdo.CDOObject;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.model.CDOModelUtil;
import org.eclipse.emf.cdo.common.model.CDOType;
@@ -33,7 +32,6 @@ import org.eclipse.emf.cdo.internal.common.revision.delta.CDOSetFeatureDeltaImpl
import org.eclipse.emf.cdo.internal.common.revision.delta.CDOUnsetFeatureDeltaImpl;
import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision;
import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionManager;
-import org.eclipse.emf.cdo.util.CDOUtil;
import org.eclipse.emf.cdo.util.ObjectNotFoundException;
import org.eclipse.emf.cdo.view.CDORevisionPrefetchingPolicy;
@@ -269,13 +267,9 @@ public final class CDOStoreImpl implements CDOStore
boolean result = revision.contains(feature, convertedValue);
// Special handling of detached (TRANSIENT) objects, see bug 354395
- if (!result && value instanceof EObject)
+ if (!result && value != convertedValue && value instanceof EObject)
{
- CDOObject cdoObjectValue = CDOUtil.getCDOObject((EObject)value);
- if (FSMUtil.isTransient(cdoObjectValue))
- {
- result = revision.contains(feature, value);
- }
+ result = revision.contains(feature, value);
}
return result;

Back to the top