svn commit: r17996 - trunk/src/argouml-app/src/org/argouml/uml/ui: . foundation/core

Tom Morris <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: tfmorris
Date: 2010-02-13 11:42:04-0800
New Revision: 17996

Modified:
   trunk/src/argouml-app/src/org/argouml/uml/ui/ActionNavigateNamespace.java
   trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementNamespaceComboBoxModel.java
   trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementVisibilityRadioButtonPanel.java

Log:
Protect against null pointer exceptions when a Diagram is the target.

Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/ActionNavigateNamespace.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionNavigateNamespace.java?view=diff&pathrev=17996&r1=17995&r2=17996
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/ActionNavigateNamespace.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/ActionNavigateNamespace.java	2010-02-13 11:42:04-0800
@@ -40,6 +40,7 @@
 package org.argouml.uml.ui;
 
 import org.argouml.model.Model;
+import org.argouml.uml.diagram.ui.UMLDiagram;
 
 
 /**
@@ -53,7 +54,12 @@
      * @see org.argouml.uml.ui.AbstractActionNavigate#navigateTo(java.lang.Object)
      */
     protected Object navigateTo(Object elem) {
-        return Model.getFacade().getNamespace(elem);
+        if (elem instanceof UMLDiagram) {
+            return ((UMLDiagram) elem).getNamespace();
+        } else if (Model.getFacade().isANamedElement(elem)) {
+            return Model.getFacade().getNamespace(elem);
+        }
+        return null;
     }
 
 }

Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementNamespaceComboBoxModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementNamespaceComboBoxModel.java?view=diff&pathrev=17996&r1=17995&r2=17996
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementNamespaceComboBoxModel.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementNamespaceComboBoxModel.java	2010-02-13 11:42:04-0800
@@ -47,6 +47,7 @@
 import org.argouml.kernel.ProjectManager;
 import org.argouml.model.Model;
 import org.argouml.model.UmlChangeEvent;
+import org.argouml.uml.diagram.ui.UMLDiagram;
 import org.argouml.uml.ui.UMLComboBoxModel2;
 import org.argouml.uml.util.PathComparator;
 
@@ -95,7 +96,12 @@
         Collection c = new ArrayList(1);
 
         if (target != null) {
-            Object namespace = Model.getFacade().getNamespace(target);
+            Object namespace = null;
+            if (target instanceof UMLDiagram) {
+                namespace = ((UMLDiagram) target).getNamespace();
+            } else if (Model.getFacade().isAElement(target)) {
+                namespace = Model.getFacade().getNamespace(target);
+            }
             if (namespace != null && !c.contains(namespace)) {
                 c.add(namespace);
             }
@@ -142,7 +148,8 @@
      * @see org.argouml.uml.ui.UMLComboBoxModel2#getSelectedModelElement()
      */
     protected Object getSelectedModelElement() {
-        if (getTarget() != null) {
+        Object target = getTarget();
+        if (getTarget() != null && Model.getFacade().isANamedElement(target)) {
             return Model.getFacade().getNamespace(getTarget());
         }
         return null;

Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementVisibilityRadioButtonPanel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementVisibilityRadioButtonPanel.java?view=diff&pathrev=17996&r1=17995&r2=17996
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementVisibilityRadioButtonPanel.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/foundation/core/UMLModelElementVisibilityRadioButtonPanel.java	2010-02-13 11:42:04-0800
@@ -98,8 +98,8 @@
      * @see org.argouml.uml.ui.UMLRadioButtonPanel#buildModel()
      */
     public void buildModel() {
-        if (getTarget() != null) {
-            Object target = getTarget();
+        Object target = getTarget();
+        if (target != null && Model.getFacade().isAElement(target)) {
             Object kind = Model.getFacade().getVisibility(target);
             if (kind == null) {
                 setSelected(null);

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

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.