[Uml-devel] kdesdk/umbrello/umbrello

Oliver Kellogg okellogg at users.sourceforge.net
Sat May 1 00:24:02 UTC 2004


CVS commit by okellogg: 

loadFromXMI(): Add logic to tolerate a missing <Model> tag in foreign XMI files.


  M +13 -1     umldoc.cpp   1.143


--- kdesdk/umbrello/umbrello/umldoc.cpp  #1.142:1.143
@@ -1766,4 +1766,5 @@ bool UMLDoc::loadFromXMI( QIODevice & fi
                 }
                 //process content
+                QDomNode parentNode = node;
                 node = node.firstChild();
                 element = node.toElement();
@@ -1815,4 +1816,15 @@ bool UMLDoc::loadFromXMI( QIODevice & fi
                                         cgelement = cgnode.toElement();
                                 }
+                        } else if (tagEq(tag, "Package") ||
+                                   tagEq(tag, "Class") ||
+                                   tagEq(tag, "Interface")) {
+                                // These tests are only for foreign XMI files that
+                                // are missing the <Model> tag (e.g. NSUML)
+                                element = parentNode.toElement();
+                                if( !loadUMLObjectsFromXMI( element ) ) {
+                                        kdWarning() << "failed load on model objects" << endl;
+                                        return false;
+                                }
+                                break;
                         }
                         node = node.nextSibling();
@@ -1828,5 +1840,5 @@ bool UMLDoc::loadFromXMI( QIODevice & fi
                 changeCurrentView( nViewID );
         } else {
-                createDiagram( Uml::dt_Class );
+                createDiagram( Uml::dt_Class, false );
         }
         emit sigResetStatusbarProgress();






More information about the umbrello-devel mailing list