[514624] Tweaking processing of duplicate feature inheritance.
diff --git a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLUtil.java b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLUtil.java
index 3e9a153..42b8431 100644
--- a/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLUtil.java
+++ b/plugins/org.eclipse.uml2.uml/src/org/eclipse/uml2/uml/util/UMLUtil.java
@@ -10,7 +10,7 @@
* Kenn Hussey (Embarcadero Technologies) - 199624, 184249, 204406, 208125, 204200, 213218, 213903, 220669, 208016, 226396, 271470
* Nicolas Rouquette (JPL) - 260120, 313837
* Kenn Hussey - 286329, 313601, 314971, 344907, 236184, 335125
- * Kenn Hussey (CEA) - 327039, 358792, 364419, 366350, 307343, 382637, 273949, 389542, 389495, 316165, 392833, 399544, 322715, 163556, 212765, 397324, 204658, 408612, 411731, 269598, 422000, 416833, 424568, 427167, 418466, 419324, 429994, 433157, 439915, 446388, 454864, 458906, 461374, 463066, 468230, 481712, 491587, 495564, 512439, 512520, 514386
+ * Kenn Hussey (CEA) - 327039, 358792, 364419, 366350, 307343, 382637, 273949, 389542, 389495, 316165, 392833, 399544, 322715, 163556, 212765, 397324, 204658, 408612, 411731, 269598, 422000, 416833, 424568, 427167, 418466, 419324, 429994, 433157, 439915, 446388, 454864, 458906, 461374, 463066, 468230, 481712, 491587, 495564, 512439, 512520, 514386, 514624
* Yann Tanguy (CEA) - 350402
* Christian W. Damus (CEA) - 392833, 251963, 405061, 409396, 176998, 180744, 403374, 416833, 420338, 405065, 431342
* E.D.Willink - 420338, 512439
@@ -6828,7 +6828,11 @@
protected void qualifyName(ENamedElement eNamedElement,
String qualifier) {
String name = eNamedElement.getName();
- String qualifiedName = qualifier + '_' + name;
+ String qualifiedName = name
+ .startsWith(Extension.METACLASS_ROLE_PREFIX)
+ ? Extension.METACLASS_ROLE_PREFIX + qualifier + '_' + name
+ .substring(Extension.METACLASS_ROLE_PREFIX.length())
+ : qualifier + '_' + name;
if (DEBUG) {
System.err.println("Qualified " //$NON-NLS-1$
@@ -7010,18 +7014,6 @@
}
qualifyName(mixinEOperation);
-
- List<EObject> redefinedOperations = getEAnnotation(
- mixinEOperation,
- ANNOTATION__REDEFINES, true)
- .getReferences();
-
- if (!redefinedOperations
- .contains(eOperation)) {
-
- redefinedOperations
- .add(eOperation);
- }
} else if (OPTION__DISCARD
.equals(options
.get(OPTION__DUPLICATE_OPERATION_INHERITANCE))) {
@@ -7355,18 +7347,6 @@
}
qualifyName(mixinEStructuralFeature);
-
- EList<EObject> redefinedFeatures = getEAnnotation(
- mixinEStructuralFeature,
- ANNOTATION__REDEFINES, true)
- .getReferences();
-
- if (!redefinedFeatures
- .contains(eStructuralFeature)) {
-
- redefinedFeatures
- .add(eStructuralFeature);
- }
} else if (OPTION__DISCARD
.equals(options
.get(OPTION__DUPLICATE_FEATURE_INHERITANCE))) {