Author: mvw
Date: 2014-09-19 12:07:40-0700
New Revision: 19954

Modified:
   trunk/src/argouml-app/src/org/argouml/ui/cmd/RelationshipActionFactory.java

Log:
Fix some exceptions when right-clicking on elements in an activity diagram

Modified: 
trunk/src/argouml-app/src/org/argouml/ui/cmd/RelationshipActionFactory.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/ui/cmd/RelationshipActionFactory.java?view=diff&pathrev=19954&r1=19953&r2=19954
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/ui/cmd/RelationshipActionFactory.java 
(original)
+++ trunk/src/argouml-app/src/org/argouml/ui/cmd/RelationshipActionFactory.java 
2014-09-19 12:07:40-0700
@@ -8,6 +8,7 @@
  *
  * Contributors:
  *    Bob Tarling
+ *    Michiel van der Wulp
  *****************************************************************************/
 
 package org.argouml.ui.cmd;
@@ -168,7 +169,7 @@
     }
     
     private ActionList getDependancyToActions(final Object element, 
ArgoDiagram diagram) {
-        ActionList al= new ActionList("Add Dependancies to ");
+        ActionList al= new ActionList("Add Dependencies to ");
         if (Model.getFacade().isAClass(element)) {
             
             Collection dependenciesTo = 
Model.getFacade().getClientDependencies(element);
@@ -179,7 +180,7 @@
                     Collection suppliers = 
Model.getFacade().getSuppliers(dependency);
                     for (Object supplier : suppliers) {
                         al.add(new AddUsageAction(
-                                "Add dependancy to "+ 
Model.getFacade().getName(supplier),
+                                "Add dependency to "+ 
Model.getFacade().getName(supplier),
                                 diagram, element, dependency, supplier));
                     }
                 }
@@ -189,7 +190,7 @@
     }
     
     private ActionList getDependancyFromActions(final Object element, 
ArgoDiagram diagram) {
-        ActionList al= new ActionList("Add Dependancies from ");
+        ActionList al= new ActionList("Add Dependencies from ");
         if (Model.getFacade().isAClass(element)) {
             
             Collection dependenciesFrom = 
Model.getFacade().getSupplierDependencies(element);
@@ -200,7 +201,7 @@
                     Collection clients = 
Model.getFacade().getClients(dependency);
                     for (Object client : clients) {
                         al.add(new AddUsageAction(
-                                "Add dependancy from "+ 
Model.getFacade().getName(client),
+                                "Add dependency from "+ 
Model.getFacade().getName(client),
                                 diagram, element, dependency, client));
                     }
                 }
@@ -211,15 +212,17 @@
     
     private ActionList getGeneralizationToActions(final Object element, 
ArgoDiagram diagram) {
         ActionList al= new ActionList("Add Generalizations to ");
-        Collection generalizations = 
Model.getFacade().getGeneralizations(element);
-        for (Object generalization : generalizations) {
-            
-            // Only show actions for associations not already on diagram
-            if (diagram.presentationFor(generalization) == null) {
-                Object general = Model.getFacade().getGeneral(generalization);
-                al.add(new AddGeneralAction(
-                        "Add Generalization to "+ 
Model.getFacade().getName(general),
-                        diagram, element, generalization, general));
+        if (Model.getFacade().isAGeneralizableElement(element)) {
+            Collection generalizations = 
Model.getFacade().getGeneralizations(element);
+            for (Object generalization : generalizations) {
+
+                // Only show actions for associations not already on diagram
+                if (diagram.presentationFor(generalization) == null) {
+                    Object general = 
Model.getFacade().getGeneral(generalization);
+                    al.add(new AddGeneralAction(
+                            "Add Generalization to "+ 
Model.getFacade().getName(general),
+                            diagram, element, generalization, general));
+                }
             }
         }
         return al;
@@ -227,15 +230,17 @@
     
     private ActionList getGeneralizationFromActions(final Object element, 
ArgoDiagram diagram) {
         ActionList al= new ActionList("Add Generalizations from ");
-        Collection specializations = 
Model.getFacade().getSpecializations(element);
-        for (Object specialization : specializations) {
-            
-            // Only show actions for associations not already on diagram
-            if (diagram.presentationFor(specialization) == null) {
-                Object specific = 
Model.getFacade().getSpecific(specialization);
-                al.add(new AddSpecialAction(
-                        "Add Specialization from "+ 
Model.getFacade().getName(specific),
-                        diagram, element, specialization, specific));
+        if (Model.getFacade().isAGeneralizableElement(element)) {
+            Collection specializations = 
Model.getFacade().getSpecializations(element);
+            for (Object specialization : specializations) {
+
+                // Only show actions for associations not already on diagram
+                if (diagram.presentationFor(specialization) == null) {
+                    Object specific = 
Model.getFacade().getSpecific(specialization);
+                    al.add(new AddSpecialAction(
+                            "Add Specialization from "+ 
Model.getFacade().getName(specific),
+                            diagram, element, specialization, specific));
+                }
             }
         }
         return al;

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

To unsubscribe from this discussion, e-mail: 
[commits-unsubscr...@argouml.tigris.org].

Reply via email to