svn commit: r17339 - trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociation.java

Bob Tarling <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: bobtarling
Date: 2009-09-22 02:05:36-0700
New Revision: 17339

Modified:
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociation.java

Log:
Issue 5855: Make assumption about association end order if it is not provided

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociation.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociation.java?view=diff&pathrev=17339&r1=17338&r2=17339
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociation.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociation.java	2009-09-22 02:05:36-0700
@@ -117,10 +117,27 @@
         super(diagramEdgeSettings.getOwner(), settings);
         
         createNameLabel(getOwner(), settings);
-        
+
+        Object sourceAssociationEnd =
+            diagramEdgeSettings.getSourceConnector();
+        Object destAssociationEnd =
+            diagramEdgeSettings.getDestinationConnector();
+        if (sourceAssociationEnd == null || destAssociationEnd == null) {
+            // If we have no source and dest connector then we assume this is
+            // load of an old UML1.4 diagram from before this data was saved
+            // in PGML. For UML1.4 we can assume the source is first connection
+            // and destination is last connection stored in repository for this
+            // association.
+            Iterator it =
+                Model.getFacade().getConnections(getOwner()).iterator();
+            
+            sourceAssociationEnd = it.next();
+            destAssociationEnd = it.next();
+        }
+
         createEndFigs(
-                diagramEdgeSettings.getSourceConnector(),
-                diagramEdgeSettings.getDestinationConnector(),
+                sourceAssociationEnd,
+                destAssociationEnd,
                 settings, 45);
         
         setBetweenNearestPoints(true);

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2397711

To unsubscribe from this discussion, e-mail: [[email protected]].
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.