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

"Oliver Kellogg" <[email protected]>
Newsgroups gmane.linux.umbrello.devel
Message-ID <[email protected]/>
https://bugs.kde.org/show_bug.cgi?id=56184

--- Comment #107 from Oliver Kellogg <[email protected]> ---
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.