| Summary: | umbrello creates many 'new_packages_xx" packages on file loading | ||
|---|---|---|---|
| Product: | [Applications] umbrello | Reporter: | Ralf Habacker <ralf.habacker> |
| Component: | general | Assignee: | Umbrello Development Group <umbrello-devel> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | okellogg |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Unlisted Binaries | ||
| OS: | Microsoft Windows | ||
| Latest Commit: | Version Fixed/Implemented In: | 4.8.1 | |
| Sentry Crash Report: | |||
|
Description
Ralf Habacker
2012-01-10 12:31:56 UTC
See also bug 56184, and in particular the XMI files from different tools attached there. When changing loadFromXMI code, IMHO it would be a good idea to test loading those files. (It often happened that changing the code to load one particular XMI dialect ruined the loading of other XMI dialects.) Also be aware that Umbrello's XMI loading code cannot handle forward declared objects. I strongly suggest to add a quality audit to the source code and build system One way would be 1. extend umbrello to have dbus methods for loading, importing, saving and dumping loaded files. 2. add many xmi templates to the source 3. extend the build system to run a test suite, which loads those files through qdbus, saves the files again or dumps the loaded content in an internal comparable format (something like the QDebug operator<<) and compare the result with expected files. This will make development more robust. SVN commit 1282856 by okellogg:
UMLDoc::loadFromXMI (tagEq(tag, "Package") ||
tagEq(tag, "Class") ||
tagEq(tag, "Interface")) :
Do not call loadUMLObjectsFromXMI() because that method again iterates over
the child nodes of the element (not appropriate here because we already
identified the exact tag to load.)
Instead, use Object_Factory::makeObjectFromXMI() for creating and
UMLObject::loadFromXMI() for loading the object.
M +1 -0 ChangeLog
M +35 -3 umbrello/umldoc.cpp
WebSVN link: http://websvn.kde.org/?view=rev&revision=1282856
set version-fixed-in from 4.8.1 changelog |