[Uml-devel] branches/KDE/3.5/kdesdk/umbrello

Oliver Kellogg okellogg at users.sourceforge.net
Thu Feb 15 22:07:27 UTC 2007


SVN commit 633967 by okellogg:

computeAssocTypeAndRole(): Fix computation of type name.
Mark, is this working for you?
CCBUG:141644


 M  +3 -1      ChangeLog  
 M  +2 -9      umbrello/codegenerators/adawriter.cpp  


--- branches/KDE/3.5/kdesdk/umbrello/ChangeLog #633966:633967
@@ -4,6 +4,7 @@
 * Relationships for entities do not live outside of an entity relationship diagram (125146)
 * Javascript Code Generation creates bad format methods (135540)
 * Crash when deleting the link between a package and a class (141602)
+* Ada95 Code Generation Errors for Aggregation (141644)
 
 Version 1.5.61
 
@@ -13,6 +14,7 @@
 * Bugs fixed from http://bugs.kde.org:
 * Crash on creating various types of associations (140693, 141073, 141106, 141277)
 * Unclickable use case diagram (140870)
+* Crash on opening xmi file produced by previous version (141279)
 
 Version 1.5.6
 
@@ -101,7 +103,7 @@
 * Java import: method and class visibility ignored (130794)
 * Java import - static not handled correctly (130926)
 * Java import - package visibility incorrectly represented (130932)
-* Java import - random import order can result in interface being teated as class (131006)
+* Java import - random import order can result in interface being treated as class (131006)
 * Java import - associations not setup correctly, duplicate classes created (131270)
 
 Version 1.5.3
--- branches/KDE/3.5/kdesdk/umbrello/umbrello/codegenerators/adawriter.cpp #633966:633967
@@ -123,7 +123,7 @@
     if (assocType != Uml::at_Aggregation && assocType != Uml::at_Composition)
         return;
     const QString multi = a->getMulti(Uml::B);
-    bool hasNonUnityMultiplicity = !multi.isEmpty();
+    bool hasNonUnityMultiplicity = (!multi.isEmpty() && multi != "1");
     hasNonUnityMultiplicity &= !multi.contains(QRegExp("^1 *\\.\\. *1$"));
     roleName = cleanName(a->getRoleName(Uml::B));
     if (roleName.isEmpty())
@@ -138,14 +138,7 @@
             roleName.append(artificialName);
         }
     }
-    if (assocEnd == c)
-        typeName = assocEnd->getName();
-    else
-        typeName = assocEnd->getFullyQualifiedName(".");
-    UMLPackage *enclosingPkg = c->getUMLPackage();
-    UMLDoc *umldoc = UMLApp::app()->getDocument();
-    if (enclosingPkg == umldoc->getRootFolder(Uml::mt_Logical))
-        typeName.append(".Object");
+    typeName = className(assocEnd, (assocEnd == c));
     if (hasNonUnityMultiplicity)
         typeName.append("_Array_Ptr");
     else if (assocType == Uml::at_Aggregation)




More information about the umbrello-devel mailing list