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); |