svn commit: r17105 - trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram

Tom Morris <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: tfmorris
Date: 2009-04-13 10:05:16-0700
New Revision: 17105

Modified:
   trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java
   trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramRenderer.java

Log:
RESOLVED - task 5789: Comment don't work in sequence diagram 
http://argouml.tigris.org/issues/show_bug.cgi?id=5789

Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java?view=diff&pathrev=17105&r1=17104&r2=17105
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java	(original)
+++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramGraphModel.java	2009-04-13 10:05:16-0700
@@ -188,18 +188,27 @@
     /*
      * @see org.tigris.gef.graph.MutableGraphModel#canAddNode(java.lang.Object)
      */
+    @Override
     public boolean canAddNode(Object node) {
         if (node == null) {
             return false;
         }
-        return !getNodes().contains(node)
-                && Model.getFacade().isAModelElement(node)
+        if (getNodes().contains(node)) {
+            return false;
+        }
+        if (Model.getFacade().isAComment(node)) {
+            // Comments from anywhere in the model are allowed
+            return true;
+        }
+        return Model.getFacade().isAModelElement(node)
+                // All other types of elements must be in this namespace
                 && Model.getFacade().getNamespace(node) == getCollaboration();
     }
 
     /*
      * @see org.tigris.gef.graph.MutableGraphModel#canAddEdge(java.lang.Object)
      */
+    @Override
     public boolean canAddEdge(Object edge) {
         if (edge == null) {
             return false;
@@ -247,6 +256,7 @@
     /*
      * @see org.tigris.gef.graph.MutableGraphModel#addNode(java.lang.Object)
      */
+    @Override
     public void addNode(Object node) {
         if (canAddNode(node)) {
             getNodes().add(node);
@@ -284,6 +294,7 @@
      * @see org.tigris.gef.graph.MutableGraphModel#connect(
      *          Object, Object, Class)
      */
+    @Override
     public Object connect(Object fromPort, Object toPort, Object edgeType) {
         if (!canConnect(fromPort, toPort, edgeType)) {
             return null;
@@ -291,8 +302,6 @@
         if (edgeType == CommentEdge.class) {
             return super.connect(fromPort, toPort, edgeType);
         }
-        Object edge = null;
-        Object action = null;
         Editor curEditor = Globals.curEditor();
         ModeManager modeManager = curEditor.getModeManager();
         Mode mode = modeManager.top();
@@ -303,7 +312,7 @@
     
     /**
      * Creates a link based on the given from and toPort. The fromPort
-     * should allways point to a MessageCoordinates instance. The toPort
+     * should always point to a MessageCoordinates instance. The toPort
      * can point to a MessageCoordinates instance or to a Object
      * instance. On a sequence diagram you can only draw Messages. So
      * other edgeClasses then links are not supported.
@@ -311,7 +320,8 @@
      * @see org.tigris.gef.graph.MutableGraphModel#connect(
      *          Object, Object, Class)
      */
-    public Object connect(Object fromPort, Object toPort, Object edgeType, Object actionType) {
+    public Object connect(Object fromPort, Object toPort, Object edgeType, 
+    		Object actionType) {
         Object edge = null;
         Object action = null;
         if (Model.getMetaTypes().getCallAction().equals(actionType)) {
@@ -374,6 +384,7 @@
     /*
      * @see org.tigris.gef.graph.MutableGraphModel#addEdge(java.lang.Object)
      */
+    @Override
     public void addEdge(Object edge) {
         if (canAddEdge(edge)) {
             getEdges().add(edge);

Modified: trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramRenderer.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramRenderer.java?view=diff&pathrev=17105&r1=17104&r2=17105
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramRenderer.java	(original)
+++ trunk/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/SequenceDiagramRenderer.java	2009-04-13 10:05:16-0700
@@ -1,5 +1,5 @@
 // $Id$
-// Copyright (c) 2007-2008 The Regents of the University of California. All
+// Copyright (c) 2007-2009 The Regents of the University of California. All
 // Rights Reserved. Permission to use, copy, modify, and distribute this
 // software and its documentation without fee, and without a written
 // agreement is hereby granted, provided that the above copyright notice
@@ -68,6 +68,8 @@
                 && ((UMLDiagram) diag).doesAccept(node)) {
             result = ((UMLDiagram) diag).drop(node, null);
         } else {
+            LOG.warn("SequenceDiagramRenderer getFigNodeFor unexpected node " 
+                    + node);
             return null;
         }
         LOG.debug("SequenceDiagramRenderer getFigNodeFor " + result);

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

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.