*Planed
- Implement the ModelEventPump
- Solve the property names problems
- Test the undo/redo features with the ModelEventPump
- Continue the adaptation of all other UML elements to use a ChangeCommand

*Achieved
- I debugged the ArgoUML application quite a lot to find out how are
used the property names
- I tried several methods to deliver events from the eUML model: an
Adapter for every UML element, a global adapter for all the UML
elements, and (the actual method used now) a ContentAdapter that
adapts itself to listen all the new UML elements added to the model.
So, if a UML element is created it will not be listened, but when it
will be atached to the model element the ContentAdapter will adapt
itself to listen the newly added UML element.
- I implemented the ModelEventPump to use this ContentAdapter (named
RootContainerAdapter in eUML) and committed this final implementation.
- I tweaked the ModelEventPump to listen efficiently a class of types
and subtypes of model elements. It uses a
Class.isAssignableFrom(Class) method to determine if the UML model
(the notifier) if compatible with the class of objects listened by the
PropertyChangeListener.
- I've done some changes to XMIReader/Writer to use the editing domain
and added undo()/redo(), canUndo()/canRedo() methods to
EUMLModelImplementation

*Problems
- I have a big problem with undo/redo notifications in the
ModelEventPump. If the eUML model changes, then some notifications are
fired, if I undo/redo a command no notifications are fired (the eUML
model is changed - I verified by serializing the model and the XMI
confirms the undo/redo works). I already asked for help on the Eclipse
UML2 news forum.
- Figure out if I can somehow map automatically the property names of
UML 1.4 to UML 2.1.1, I should search a little bit more before I
decide to hard code the mappings. Or it would be a better solution to
change the code in ArgoUML to use the new property names. I don't know
yet.
- The org.argouml.model interfaces should be extended to support
additional features like undo()/redo(), canUndo()/canRedo()
- The serialization of a model is throwing an error. I will investigate further.

*Planed
- Solve the undo/redo notifications in the ModelEventPump
- Investigate more the property names problems
- Continue the adaptation of all other UML elements to use a
ChangeCommand (I always defer this because I do not consider it a
priority, when all the infrastructure will be ready this part will be
quite straightforward.)

Bogdan,

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

Reply via email to