Author: tfmorris
Date: 2008-04-15 21:11:42-0700
New Revision: 14359

Modified:
   trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java

Log:
Protect against NPE

Modified: trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java?view=diff&rev=14359&p1=trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java&p2=trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java&r1=14358&r2=14359
==============================================================================
--- trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java        
(original)
+++ trunk/src/model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java        
2008-04-15 21:11:42-0700
@@ -1433,7 +1433,13 @@
     private boolean isValidNamespace(UmlAssociation assoc, Namespace ns) {
         List<Namespace> namespaces = new ArrayList<Namespace>();
         for (AssociationEnd end : assoc.getConnection()) {
-            namespaces.add(end.getParticipant().getNamespace());
+            Classifier participant = end.getParticipant();
+            if (participant != null) {
+                Namespace namespace = participant.getNamespace();
+                if (namespace != null) {
+                    namespaces.add(namespace);
+                }
+            }
         }
         if (namespaces.size() < 2) {
             return false;
@@ -1442,6 +1448,7 @@
         Namespace ns2 = namespaces.get(1);
         // TODO: This is incorrect.  AssociationEnds must be
         // visible from Association's namespace, not vice versa. - tfm
+        // This is also assuming a binary association
         if (ns == getFirstSharedNamespace(ns1, ns2)) {
             return true;
         }

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to