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]

Reply via email to