Hi Sergio,
That sounds great. It's easier for me to review the code in place
than a description, so I only skimmed your description. The only two
things that jumped out at me were:
1. Rename refactoring - the old name needs to be deprecated and
forward to the new name for the transition period. I think the
Eclipse refactoring tools will give you the option of doing this in
some cases, but I'm not sure they always will.
2. String format for saving types - I didn't understand what this
refers to, but I'm sure I can figure it out after looking at the code.
The best way to share the code is a branch in SVN if you've got one
established or are comfortable working with branches (just send us the
name/path of the branch) or as a patch attached to an issue. An
Eclipse multi-project path set is best if you use Eclipse since I
assume that you've changed at least model and model-mdr, and perhaps
argouml as well. If you can't do a multi-project patch, use separates
patch files for each piece (argouml, model, model-mdr). If you
haven't added stubs for model-euml, I can take care of that.
Tom
On Dec 5, 2007 11:46 AM, Sérgio Lopes <[EMAIL PROTECTED]> wrote:
>
>
>
>
> Hi,
>
>
>
> I have implemented the rendering, setting, and saving of TagDefinition
> types,
>
> in full agreement with UML 1.4.
>
> I describe what I have done below.
>
>
>
> New classes:
>
> -
> org.argouml.uml.ui.foundation.extension_mechanisms.ActionSetTagDefinitionType
>
> (the existing is just a rename refactoring of
> org.argouml.uml.ui.foundation
>
> .core.ActionSetStructuralFeatureType)
>
> - org.argouml.uml.ui.foundation.extension_mechanisms
>
> .UMLTagDefinitionTypeComboBoxModel
>
>
>
> Changed classes:
>
> - org.argouml.uml.ui.foundation.extension_mechanisms.PropPanelTagDefinition
>
> (minor changes to introduce the TagDefinition Type comboBox model, and
>
> activate it, and change the action to ActionSetTagDefinitionType)
>
> -
> org.argouml.uml.ui.foundation.extension_mechanisms.ActionSetTagDefinitionType
>
> (to handle TagDefinitions instead of StructuralFeatures)
>
> - org.argouml.uml.ui.UMLListCellRenderer2
>
> (to support the rendering of metatype names)
>
> - Correct UML 1.4 XMI model (issue 4934)
>
>
>
> Required new features:
>
> - ModelManagementHelper.findElement(List<String>)
>
> (finds an element by full-path in all roots; request in another thread)
>
> - two utility methods that handle the translation between model elements
> and
>
> names for tagdefinition types. Currently they are static and placed in a
>
> helper class (the goal is to concentrate the code that depends on the
>
> adopted solution for formating the names of tagdefinition types saved in
>
> the model XMI file), but they can be put where they are used
>
> (ActionSetTagDefinitionType and UMLTagDefinitionTypeComboBoxModel).
>
>
>
> Decisions I took myself (in the absence of further feedback):
>
> 1- String format for saving types:
>
> [ns1, ..., nsn, name] where ns1 is a root of model elements (UML 1.4
>
> allows Stereotypes and DataTypes only) or, in the case of UML metatype
>
> names, a specific tag. The requirement is that it uniquely identifies
>
> model elements and UML metatypes.
>
> 4- Display preferences for metatypes:
>
> distinguishing icon (class symbol with UML overwritten) and root path tag
>
> ("UML" + Model.getFacade().getUmlVersion()), this is independent from the
>
> previous.
>
>
>
> If you are interested in adding this functionality to Argo, just let me know
>
> how should I share the code.
>
> Now, I have already started working on how the support for setting the value
> of
>
> tagged values can be improved, namely providing some visual form of doing
> it,
>
> instead of typing plain text.
>
>
>
> Regards,
>
> Sergio Lopes.
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]