Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenn Hussey2014-10-23 15:37:54 +0000
committerKenn Hussey2014-10-23 15:37:54 +0000
commitd4b7fc8a472c6160037e13c1f41ef9ce845a6f10 (patch)
tree86a905696e4c31799e108eb7cf9385080393604c
parent8f10c86a2c115f64d403717f77ff751515c09d69 (diff)
downloadorg.eclipse.uml2-d4b7fc8a472c6160037e13c1f41ef9ce845a6f10.tar.gz
org.eclipse.uml2-d4b7fc8a472c6160037e13c1f41ef9ce845a6f10.tar.xz
org.eclipse.uml2-d4b7fc8a472c6160037e13c1f41ef9ce845a6f10.zip
[447901] Avoiding CCEs when migrating stereotype application references.
-rw-r--r--plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PackageOperations.java29
1 files changed, 16 insertions, 13 deletions
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PackageOperations.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PackageOperations.java
index 923d379d8..9352ceee5 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PackageOperations.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/internal/operations/PackageOperations.java
@@ -9,7 +9,7 @@
* IBM - initial API and implementation
* Kenn Hussey (Embarcadero Technologies) - 271470
* Kenn Hussey - 323181, 348433
- * Kenn Hussey (CEA) - 327039, 369492, 313951, 163556, 418466
+ * Kenn Hussey (CEA) - 327039, 369492, 313951, 163556, 418466, 447901
* Christian W. Damus (CEA) - 300957, 431998
*
*/
@@ -720,21 +720,24 @@ public class PackageOperations
for (Setting setting : new ArrayList<EStructuralFeature.Setting>(
getNonNavigableInverseReferences(key))) {
- EStructuralFeature eStructuralFeature = setting
- .getEStructuralFeature();
+ EObject eObject = setting.getEObject();
- if (eStructuralFeature != null
- && eStructuralFeature.isChangeable()) {
+ if (!copier.containsKey(eObject)) {
+ EStructuralFeature eStructuralFeature = setting
+ .getEStructuralFeature();
- if (eStructuralFeature.isMany()) {
- Object value = setting.getEObject().eGet(
- eStructuralFeature);
+ if (eStructuralFeature != null
+ && eStructuralFeature.isChangeable()) {
- @SuppressWarnings("unchecked")
- EList<EObject> list = ((EList<EObject>) value);
- list.set(list.indexOf(key), copy);
- } else {
- setting.set(copy);
+ if (eStructuralFeature.isMany()) {
+ Object value = eObject.eGet(eStructuralFeature);
+
+ @SuppressWarnings("unchecked")
+ EList<EObject> list = ((EList<EObject>) value);
+ list.set(list.indexOf(key), copy);
+ } else {
+ setting.set(copy);
+ }
}
}
}

Back to the top