[346183] Ensuring correct unique names are used for "duplicate" operations.
diff --git a/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/genmodel/impl/GenClassImpl.java b/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/genmodel/impl/GenClassImpl.java
index a434173..cda32bc 100644
--- a/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/genmodel/impl/GenClassImpl.java
+++ b/plugins/org.eclipse.uml2.codegen.ecore/src/org/eclipse/uml2/codegen/ecore/genmodel/impl/GenClassImpl.java
@@ -9,9 +9,9 @@
* IBM - initial API and implementation
* Kenn Hussey (Embarcadero Technologies) - 206636, 204200
* Lutz Wrage - 241411
- * Kenn Hussey - 286329, 323181, 344908
+ * Kenn Hussey - 286329, 323181, 344908, 346183
*
- * $Id: GenClassImpl.java,v 1.49 2011/05/06 03:02:05 khussey Exp $
+ * $Id: GenClassImpl.java,v 1.50 2011/05/18 02:59:30 khussey Exp $
*/
package org.eclipse.uml2.codegen.ecore.genmodel.impl;
@@ -1475,4 +1475,21 @@
return false;
}
+ @Override
+ public String getUniqueName(GenOperation genOperation) {
+ GenOperation redefinedGenOperation = genOperation;
+
+ while (UML2GenModelUtil.isDuplicate(redefinedGenOperation)) {
+ List<GenOperation> redefinedGenOperations = UML2GenModelUtil.getRedefinedGenOperations(redefinedGenOperation);
+
+ if (redefinedGenOperations.size() > 0) {
+ redefinedGenOperation = redefinedGenOperations.get(0);
+ } else {
+ break;
+ }
+ }
+
+ return super.getUniqueName(redefinedGenOperation);
+ }
+
}