[Uml-devel] Association Patch, take 2
Brian Thomas
thomas at mail630.gsfc.nasa.gov
Sat Jan 25 14:56:02 UTC 2003
Ok, here is my patch, again (originally sent Friday night, my time), but now sent
as a compressed attachment so as to meet list size requirements.
Original message follows. -b.t.
-----
Hi all,
Here is (finally) my association patch. It adds the following things
to umbrello UML associations:
- 2 role name attributes (instead of one, which was inappropriately used BTW)
- an association name attribute
- 2 role changeability attributes
- 2 role visibility attributes
Its taken me awhile because of a couple of things, namely:
1) I kept trying to add in more attributes to the associations (originally I was
only going to expand rolenames to 2 attributes). Other things started creeping
in, such as changing the editing popup dialog for associations (its more sophisticated
now) and spending nearly a day to get a reasonable (but not terrific) algorithm for
laying out the association attributes on the display screen.
and
2) The association code is badly abstracted and done IMO. Many attributes are repeated
throughout aggregated objects under the association. For example, RoleNameA may be
found in the association, associationwidgetdata and assocpage classes instead of pointing
to a single UMLAssociation object. A "synchronizeData" method in the associationwidget
class is used to keep the associationwidget and associationwidgetdata objs in order,
but this is suboptimal. At any rate, having dual (or triple) instances of the same
information sure does make code which is quite hard to read and even harder to hack on
(many bugs for each attribute I inserted. Not a simple process). I hope that the 2.0
rethink will completely redo this class (and associated child classes).
Well after a rest, I will now pull my javacodegenerator patch together. I now have all
the association attributes that I desire. Hopefully I can get something to the list for
that by end of next week.
The patch which follows was made against umbrello-1.1.1. You will need to rebuild the
configure/Makefiles before building (I use kdevelop) or it will (may?) fail to link
properly for new dialog/assocrolepage and dialog/assocgenpage classes I added.
Regards
=b.t.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: umbrello_1.1.1_association.patch.bz2
Type: application/x-bzip2
Size: 22849 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/umbrello-devel/attachments/20030125/d918d35c/attachment.bin>
More information about the umbrello-devel
mailing list