[umbrello] [Bug 56184] Support loading of foreign XMI file formats

Oliver Kellogg bugzilla_noreply at kde.org
Mon May 16 20:18:39 BST 2022


https://bugs.kde.org/show_bug.cgi?id=56184

--- Comment #107 from Oliver Kellogg <okellogg at users.sourceforge.net> ---
Git commit a8037fbad138b311b88ac1136f797e59f4f9d92c by Oliver Kellogg.
Committed on 16/05/2022 at 19:18.
Pushed by okellogg into branch 'master'.

Followup to commit 5803dcd - add basic support for loading StarUML and
MagicDraw/Cameo while preserving load of native XMI:

umbrello/model_utils.{h,cpp}
- New function loadCommentFromXMI returns the text of an <ownedComment>
  UML2 element from a QDomElement. It attempts to read the attribute
  "body" and if that returns empty then attempts to read the text of the
  nested element <body>.

umbrello/umldoc.cpp
- In function loadFromXMI case outerTag "XMI" or "xmi:XMI" for-loop of
  node:
  - If outerTag stripped of namespace is "Model" or "Package" or
    "packagedElement" and the call to loadUMLObjectsFromXMI(element)
    returns false then do not return false.
    Reason: This gives better results on loading foreign XMI formats.
  - Support tagEq(tag, "DataType") alongside "Package", "Class", etc.
  - Support tagEq(tag, "ownedComment") using
    Model_Utils::loadCommentFromXMI(element).
- In function loadUMLObjectsFromXMI for-loop of node:
  1) Move up declaration of xmiType and setting of type from xmiType to
     before handling of tagEq(type, "Model").
  2) Remove test (type == "packagedElement"), it is obsoleted by 1).
  3) If loadUMLObjectsFromXMI(tempElement) returns false then do not
     return false.
     Reason: This gives better results on loading foreign XMI formats.
  4) Support loading of <ownedComment> using Model_Utils::
     loadCommentFromXMI(tempElement).
  5) If pObject->loadFromXMI(tempElement) returns false then do not
     return false.
     Reason: This gives better results on loading foreign XMI formats.

umbrello/umlmodel/umlobject.cpp
- In function loadFromXMI case element.hasChildNodes() while-loop of
  elem add loading of <ownedComment> using Model_Utils::
  loadCommentFromXMI(elem).

M  +22   -0    umbrello/model_utils.cpp
M  +1    -0    umbrello/model_utils.h
M  +17   -14   umbrello/umldoc.cpp
M  +2    -0    umbrello/umlmodel/umlobject.cpp

https://invent.kde.org/sdk/umbrello/commit/a8037fbad138b311b88ac1136f797e59f4f9d92c

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the umbrello-devel mailing list