summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2008-04-20 06:44:40 (EDT)
committerEike Stepper2008-04-20 06:44:40 (EDT)
commitb9fa9bf964be80168afaba280f7935ebcd4a7118 (patch)
tree42f719d7088ccf20675da3aa34f06185cf90ac49
parentf07368248acf8e5f33b12a0ccb084fd48f920de1 (diff)
downloadcdo-b9fa9bf964be80168afaba280f7935ebcd4a7118.zip
cdo-b9fa9bf964be80168afaba280f7935ebcd4a7118.tar.gz
cdo-b9fa9bf964be80168afaba280f7935ebcd4a7118.tar.bz2
[226710] Containment problem when we set to NULL
https://bugs.eclipse.org/bugs/show_bug.cgi?id=226710
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java13
1 files changed, 5 insertions, 8 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java
index 45be7ad..3847328 100644
--- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java
+++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/CDOStore.java
@@ -376,12 +376,9 @@ public final class CDOStore implements EStore
((CDOReferenceProxy)oldValue).resolve();
}
- if (cdoFeature.isContainment())
+ if (cdoFeature.isContainment() && value != null)
{
- if (value != null)
- {
- handleContainmentAdd(cdoObject, value);
- }
+ handleContainmentAdd(cdoObject, value);
}
}
@@ -390,7 +387,7 @@ public final class CDOStore implements EStore
if (cdoFeature.isReference())
{
result = ((CDOViewImpl)cdoObject.cdoView()).convertIDToObject(result);
- if (result != null && cdoFeature.isContainment())
+ if (cdoFeature.isContainment() && result != null)
{
handleContainmentRemove(cdoObject, value);
}
@@ -425,7 +422,7 @@ public final class CDOStore implements EStore
if (cdoFeature.isReference())
{
- if (cdoFeature.isContainment())
+ if (cdoFeature.isContainment() && value != null)
{
handleContainmentAdd(cdoObject, value);
}
@@ -458,7 +455,7 @@ public final class CDOStore implements EStore
}
result = ((CDOViewImpl)cdoObject.cdoView()).convertIDToObject(result);
- if (cdoFeature.isContainment())
+ if (cdoFeature.isContainment() && result != null)
{
handleContainmentRemove(cdoObject, result);
}