Author: thn Date: 2009-12-22 00:41:51-0800 New Revision: 17697 Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ExtensionMechanismsHelperEUMLImpl.java
Log: some more needed model cleanup in removeBaseClass(...), it's finished now Modified: trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ExtensionMechanismsHelperEUMLImpl.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ExtensionMechanismsHelperEUMLImpl.java?view=diff&pathrev=17697&r1=17696&r2=17697 ============================================================================== --- trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ExtensionMechanismsHelperEUMLImpl.java (original) +++ trunk/src/argouml-core-model-euml/src/org/argouml/model/euml/ExtensionMechanismsHelperEUMLImpl.java 2009-12-22 00:41:51-0800 @@ -36,12 +36,14 @@ import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.uml2.uml.Association; import org.eclipse.uml2.uml.Class; import org.eclipse.uml2.uml.Element; import org.eclipse.uml2.uml.Extension; import org.eclipse.uml2.uml.Model; import org.eclipse.uml2.uml.Package; import org.eclipse.uml2.uml.Profile; +import org.eclipse.uml2.uml.Property; import org.eclipse.uml2.uml.Stereotype; import org.eclipse.uml2.uml.UMLPackage; import org.eclipse.uml2.uml.resource.UMLResource; @@ -295,6 +297,16 @@ for (Extension ext : profile.getOwnedExtensions(false)) { if (ext.getMetaclass() == metaclass && ext.getEndTypes().contains(st)) { + for (Property p : st.getAttributes()) { + Association assoc = p.getAssociation(); + if (assoc != null && assoc == ext) { + // additional cleanup needed, because + // this would not be removed by ext.destroy(): + p.destroy(); + break; + } + } + // remove base class by destroying the extension ext.destroy(); break; } ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2432243 To unsubscribe from this discussion, e-mail: [[email protected]].
