diff options
Diffstat (limited to 'plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/merge/ReferenceChangeMerger.java')
-rw-r--r-- | plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/merge/ReferenceChangeMerger.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/merge/ReferenceChangeMerger.java b/plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/merge/ReferenceChangeMerger.java index f4ff37304..d71c2f3cc 100644 --- a/plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/merge/ReferenceChangeMerger.java +++ b/plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/merge/ReferenceChangeMerger.java @@ -411,7 +411,7 @@ public class ReferenceChangeMerger extends AbstractMerger { expectedValue = diff.getValue(); } } else if (rightToLeft) { - if (reference.isContainment() || valueMatch.getLeft() == null) { + if (valueMatch.getLeft() == null) { expectedValue = createCopy(diff.getValue()); valueMatch.setLeft(expectedValue); needXmiId = true; @@ -419,7 +419,7 @@ public class ReferenceChangeMerger extends AbstractMerger { expectedValue = valueMatch.getLeft(); } } else { - if (reference.isContainment() || valueMatch.getRight() == null) { + if (valueMatch.getRight() == null) { expectedValue = createCopy(diff.getValue()); valueMatch.setRight(expectedValue); needXmiId = true; @@ -441,7 +441,7 @@ public class ReferenceChangeMerger extends AbstractMerger { if (needXmiId) { // Copy XMI ID when applicable. final Resource initialResource = diff.getValue().eResource(); - final Resource targetResource = expectedValue.eResource(); + final Resource targetResource = expectedContainer.eResource(); if (initialResource instanceof XMIResource && targetResource instanceof XMIResource) { ((XMIResource)targetResource).setID(expectedValue, ((XMIResource)initialResource).getID(diff.getValue())); |