*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]
