[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