[Uml-devel] Association widgets for collaboration diagrams not correctly saved/reloaded

Achim Spangler Achim.Spangler at mnet-online.de
Mon Nov 6 15:21:38 UTC 2006


Hi,
I reported some days ago, that umbrello does sometimes store association 
widgets in collaboration diagrams with the wrong signature.

This was caused by a check for m_pObject in AssociationWidget::saveToXMI() as 
the only indicator to detect storage of:
+ xmi.id attribute
OR
+ roleAdoc, roleBdoc, documentation

But - I think that my attempt is only healing the visible part of the problem.
The real problem is somewhere between saveToXMI() and loadFromXMI().

So the facts, to help the experts in this area to provide a real fix:
+ as soon as I change the saveToXMI() so that NO xmi.id is written, and
  the roleAdoc, roleBdoc and documentation are written, the collaboration
  assoc is reloaded correctly
+ as soon, as the xmi.id is written, the collaboration association is not
  loaded correctly (its loaded as a normal association without the specific
  needs of a collaboration)
+ but with not writing the xmi.id, the operation is not connected to the 
  assoc widget

So could please somebody familiar with AssociationWidget::loadFromXMI() fix 
this function please?

###
Another change in the diff:
I detected, that several parts in associationwidget.cpp check for 
at_Coll_Message, but not for at_Coll_Message_Self. 
I suspect, that the other type of collaboration assoc message type should be 
regarded there, too. Or not??


IMPORTANT:
The attached diff is only to demonstrate the proof of concept to get a proper 
visible representation of collaboration diagram. It DOES NOT AIM TO PROVIDE A 
REAL FIX!!

Thanks,
Achim
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FixCollaborationAssocWidget.diff
Type: text/x-diff
Size: 3422 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/umbrello-devel/attachments/20061106/fc690e6b/attachment.bin>


More information about the umbrello-devel mailing list