Hi Michiel

I was waiting till this link became available before discussing -
http://argouml.tigris.org/servlets/ReadMsg?list=commits&msgNo=275

Yes, I wanted really just to demonstrate why work has stalled here.
This is a complex problem. How can we record and reinstate all the
date from what may be a very complex delete.

The whole problem I think is that it is not possible to use an MDR
model element that is flagged as deleted and there is no way to clear
that flag. Instead of just keeping a reference to a model element and
then reinstating it we have to record all the properties of that model
element and create a new model element and then reinstate its
properties.

Doing such we still lose data such as the uuid.

There is a very similar problem with undo of create. Undoing would be
to delete the model element. But then redo should be able to recreate
that model element from before the undo.

I have no firm idea of the best way forward here but here are some
thoughts to be shot down

A) Our delete actions creates a copy of the entire repository each
time. Undo will reinstate that. I have no idea of performance impact
here but it doesn't sound like the most efficient way.

B) We make a major alteration to ArgoUML so that delete action does
not actually delete a model element. Instead it set a stereotype that
indicate that a model element is <<deleted>> as far as ArgoUML is
concerned. ArgoUML should treat such an element as if it doesn't
exist. Undo would be to remove the stereotype.

For (B) we would have to really delete these items on save. This is no
problem as save should be clearing the undo queue anyway.

Alternatives to (B) would be to move the elements into a different
model or repository (is that possible?).

Does any of this sound feasible?

Are there alternatives? Is there any undo technique built into MDR
(not that I've seen)?

Bob.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to