View | Details | Raw Unified | Return to bug 142115
Collapse All | Expand All

(-)src/org/eclipse/gmf/runtime/emf/clipboard/core/ClipboardSupportUtil.java (+8 lines)
Lines 28-33 Link Here
28
import org.eclipse.emf.ecore.EStructuralFeature;
28
import org.eclipse.emf.ecore.EStructuralFeature;
29
import org.eclipse.emf.ecore.InternalEObject;
29
import org.eclipse.emf.ecore.InternalEObject;
30
import org.eclipse.emf.ecore.resource.Resource;
30
import org.eclipse.emf.ecore.resource.Resource;
31
import org.eclipse.emf.ecore.util.EcoreUtil;
31
import org.eclipse.emf.ecore.util.ExtendedMetaData;
32
import org.eclipse.emf.ecore.util.ExtendedMetaData;
32
import org.eclipse.emf.ecore.util.FeatureMapUtil;
33
import org.eclipse.emf.ecore.util.FeatureMapUtil;
33
import org.eclipse.emf.ecore.xmi.XMLResource;
34
import org.eclipse.emf.ecore.xmi.XMLResource;
Lines 124-129 Link Here
124
		
125
		
125
		if (isOkToSetEList(eObject, reference)) {
126
		if (isOkToSetEList(eObject, reference)) {
126
			if (reference.isContainment()) {
127
			if (reference.isContainment()) {
128
                for (Iterator referenced = referencedObjects.iterator();referenced.hasNext();) {
129
                    EObject referencedObject = (EObject)referenced.next();
130
                    EcoreUtil.remove(referencedObject);
131
                }
127
				sendCreateEvent(referencedObjects);
132
				sendCreateEvent(referencedObjects);
128
			}
133
			}
129
			eObject.eSet(reference, referencedObjects);
134
			eObject.eSet(reference, referencedObjects);
Lines 223-228 Link Here
223
			return null;
228
			return null;
224
		}
229
		}
225
		if (reference.isContainment()) {
230
		if (reference.isContainment()) {
231
            EcoreUtil.remove(referencedObject);
226
			sendCreateEvent(referencedObject);
232
			sendCreateEvent(referencedObject);
227
		}
233
		}
228
		((Collection) eObject.eGet(reference)).add(referencedObject);
234
		((Collection) eObject.eGet(reference)).add(referencedObject);
Lines 240-245 Link Here
240
	 * 
246
	 * 
241
	 */
247
	 */
242
	public static EObject appendEObject(Resource resource, EObject referencedObject) {
248
	public static EObject appendEObject(Resource resource, EObject referencedObject) {
249
        EcoreUtil.remove(referencedObject);
243
		sendCreateEvent(referencedObject);
250
		sendCreateEvent(referencedObject);
244
		resource.getContents().add(referencedObject);
251
		resource.getContents().add(referencedObject);
245
		return referencedObject;
252
		return referencedObject;
Lines 264-269 Link Here
264
			return null;
271
			return null;
265
		}
272
		}
266
		if (reference.isContainment()) {
273
		if (reference.isContainment()) {
274
            EcoreUtil.remove(referencedObject);
267
			sendCreateEvent(referencedObject);
275
			sendCreateEvent(referencedObject);
268
		}
276
		}
269
		eObject.eSet(reference, referencedObject);
277
		eObject.eSet(reference, referencedObject);

Return to bug 142115