[Uml-devel] [Bug 135606] Umbrello saves too much copies at xmi
Achim Spangler
Achim.Spangler at mnet-online.de
Tue Oct 24 09:48:27 UTC 2006
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=135606
------- Additional Comments From Achim.Spangler mnet-online de 2006-10-24 11:48 -------
Hi,
I have written already some emails - but as I was not able to attach an example file, I deiced to enter a bug report with test file and my findings so far.
I have the impression, that the problem starts somewhere around the code for UMLObject::load(XX) where the following error message is triggered even for a small test project (see attachement):
umbrello: ERROR: UMLObject::load(Logische Ansicht): m_pUMLPackage is not set
umbrello: ERROR: UMLObject::load(Datentypen): m_pUMLPackage is not set
umbrello: ERROR: UMLObject::load(Anwendungsfallansicht): m_pUMLPackage is not
set
umbrello: ERROR: UMLObject::load(Komponentenansicht): m_pUMLPackage is not set
umbrello: ERROR: UMLObject::load(Verteilungsansicht): m_pUMLPackage is not set
umbrello: ERROR: UMLObject::load(Entity-Relationship-Modell): m_pUMLPackage is
not set
This seems to confuse the total XMI lookup algorithms, so that references can not be resolved and also duplicates aren't detected. This leads to:
+ bunch of error messages like this on load:
umbrello: UMLListView::slotObjectCreated(Datentypen, id= 614302): item already
exists.
+ failing load of Generalizations, as the corresponding widget is not found:
umbrello: ERROR: AssociationWidget::loadFromXMI: cannot find UMLObject 612293
umbrello: ERROR: couldn't loadFromXMI association widget:0x90a5c30, bad XMI
file? Deleting from umlview.
The strange thing:
The Generalization is defined for a class as follows:
<UML:GeneralizableElement.generalization>
<UML:Generalization xmi.idref="612293" />
</UML:GeneralizableElement.generalization>
The referenced item exists as follows:
<assocwidget totalcounta="3" indexa="1" totalcountb="7" indexb="1"
linewidth="none" widgetbid="583487" widgetaid="584616" xmi.id="612293"
linecolor="none" >
<linepath>
<startpoint startx="212" starty="651" />
<endpoint endx="570" endy="603" />
</linepath>
</assocwidget>
+ at least the data type XML-Tags are massively duplicated:
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="11" isRoot="false" isAbstract="
false" name="datatype" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
<UML:Stereotype isSpecification="false" isLeaf="false" visibility="public"
namespace="m1" xmi.id="2" isRoot="false" isAbstract="f
alse" name="folder" />
This seems to be also the reason for an endless loop in the SVN version of 24.10.2006, where lots of error messages as follows are produced:
umbrello: ERROR: UMLListView::loadChildrenFromXMI: umlParent((nil)) is not a
UMLPackage
This error is very easy to reproduce:
Just create a new project and add:
+ two classes where one class derives from the other
+ add an enum and create an attribute with this type as class member
+ add an attribute to a class with a free datatype like "int32_t"
Save&Load, Save&Load this sometimes - and you will get those strange results.
I'll attach nevertheless a test file.
Thanks,
Achim
More information about the umbrello-devel
mailing list