In finishing up the work for issue 3420, I've made the following changes to the so-called "cascading delete" which is ArgoUML's attempt to enforce minimum cardinality rules when elements are deleted. For example, if one end of a binary Association is deleted, the Association is deleted as well because it must have a minimum of two ends.
I'm not sure that this is always the best thing to do and, in particular, there are a couple of places where an element which could get deleted contains a lot of information that the user would have to recreate so I've made a judgement call to not delete them. The code to do the deletions is all present, but commented out and can be enabled if people feel strongly that they should be done. The following new deletions have been added. The ones marked with question marks are currently commented out. Let me know if you see any potential problems with any of this. Core.AssociationEnd - delete CommonBehavior.LinkEnds which have this as their associationEnd Core.Classifier - delete CreateActions where this is the Instantiation - delete ActivityGraph.ClassifierInStates which have the classifier as their Type ? delete CommonBehavior.Instances which have this as their Classifier ? (too much state to be lost?) ? delete ActivityGraph.ObjectFlowStates which have the classifier as their Type ? Core.Operation - delete CommonBehavior.CallActions which have this as their Operation - delete StateMachine.CallEvents which have this as their Operation Collaborations.ClassifierRole - delete Messages where this is the sender - delete Messages where this is the receiver ? delete Collaborations where this is the last ownedElement ? Common_Behavior.Instance - delete Stimuli where this is the sender - delete Stimuli where this is the receiver UseCases.ExtensionPoint - delete Extends where this is the only extensionPoint UseCases.UseCase - delete Extends which have this UseCase as a base - delete Includes which have this UseCase as an addition --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
