Author: linus
Date: 2010-06-29 13:21:26-0700
New Revision: 18456

Removed:
   
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBox.java
Modified:
   branches/BRANCH_0_30_x/   (props changed)
   branches/BRANCH_0_30_x/src/argouml-app/   (props changed)
   branches/BRANCH_0_30_x/src/argouml-app/tests/org/argouml/profile/   (props 
changed)
   
branches/BRANCH_0_30_x/src/argouml-app/tests/org/argouml/uml/ui/foundation/extension_mechanisms/TestUMLTagDefinitionComboBoxModel.java
   (props changed)
   
branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java
   
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
   
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBoxModel.java

Log:
Merged issue 6086.

Modified: 
branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java?view=diff&pathrev=18456&r1=18455&r2=18456
==============================================================================
--- 
branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java
       (original)
+++ 
branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/ModelManagementHelperMDRImpl.java
       2010-06-29 13:21:26-0700
@@ -738,8 +738,9 @@
                 }
             }
             /* TODO: This is the 2nd part of this method: */
-            Collection imports = modelImpl.getFacade().getImportedElements(ns);
-            results.addAll(imports);
+            if (ns instanceof UmlPackage) {
+                results.addAll(modelImpl.getFacade().getImportedElements(ns));
+            }
         } catch (InvalidObjectException e) {
             throw new InvalidElementException(e);
         }

Modified: 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
Url: 
http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java?view=diff&pathrev=18456&r1=18455&r2=18456
==============================================================================
--- 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
        (original)
+++ 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
        2010-06-29 13:21:26-0700
@@ -67,7 +67,7 @@
  */
 class SwingUIFactory {
        
-       private static final Logger LOG = 
Logger.getLogger(SwingUIFactory.class);
+    private static final Logger LOG = Logger.getLogger(SwingUIFactory.class);
     
     public SwingUIFactory() {
         
@@ -415,19 +415,19 @@
             if (Model.getFacade().isACallEvent(target)) {
                 UMLComboBoxModel model = 
                     new UMLCallEventOperationComboBoxModel(propertyName, 
target);
-                UMLComboBox combo = new UMLCallEventOperationComboBox(model);
+                UMLComboBox combo = new UMLComboBox(model);
                 comp = new UMLComboBoxNavigator(Translator.localize(
                         "label.operation.navigate.tooltip"),
                         combo);
             } else {
                 final UMLComboBoxModel model = 
                     new UMLCallActionOperationComboBoxModel(propertyName, 
target);
-                UMLComboBox operationComboBox =
+                UMLComboBox combo =
                     new UMLCallActionOperationComboBox(model,
                             model.getAction());
-                comp = new UMLComboBoxNavigator(
-                        
Translator.localize("label.operation.navigate.tooltip"),
-                        operationComboBox);
+                comp = new UMLComboBoxNavigator(Translator.localize(
+                       "label.operation.navigate.tooltip"),
+                        combo);
             }
         } else if ("representedClassifier".equals(prop.getName())) {
             final UMLComboBoxModel model = 

Removed: 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBox.java
Url: 
http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBox.java?view=markup&pathrev=18455

Modified: 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBoxModel.java
Url: 
http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBoxModel.java?view=diff&pathrev=18456&r1=18455&r2=18456
==============================================================================
--- 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBoxModel.java
    (original)
+++ 
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCallEventOperationComboBoxModel.java
    2010-06-29 13:21:26-0700
@@ -38,12 +38,14 @@
 
 package org.argouml.core.propertypanels.ui;
 
+import java.awt.event.ActionEvent;
 import java.util.ArrayList;
 import java.util.Collection;
 
 import javax.swing.Action;
 
 import org.argouml.model.Model;
+import org.argouml.ui.UndoableAction;
 
 class UMLCallEventOperationComboBoxModel extends UMLComboBoxModel {
     
@@ -70,23 +72,24 @@
         Collection ops = new ArrayList();
         if (Model.getFacade().isACallEvent(target)) {
             Object ns = Model.getFacade().getNamespace(target);
-            if (Model.getFacade().isANamespace(ns)) {
-                Collection classifiers =
-                    Model.getModelManagementHelper().getAllModelElementsOfKind(
-                            ns,
-                            Model.getMetaTypes().getClassifier());
-                for (Object classifier : classifiers) {
-                    ops.addAll(Model.getFacade().getOperations(classifier));
-                }
-                
-                // TODO: getAllModelElementsOfKind should probably do this
-                // processing of imported elements automatically
-                for (Object importedElem : Model.getModelManagementHelper()
-                        .getAllImportedElements(ns)) {
-                    if (Model.getFacade().isAClassifier(importedElem)) {
-                        ops.addAll(Model.getFacade()
-                                .getOperations(importedElem));
-                    }
+            if (Model.getFacade().isAClassifier(ns)) {
+                ns = Model.getFacade().getNamespace(ns);
+            }
+            Collection classifiers =
+                Model.getModelManagementHelper().getAllModelElementsOfKind(
+                        ns,
+                        Model.getMetaTypes().getClassifier());
+            for (Object classifier : classifiers) {
+                ops.addAll(Model.getFacade().getOperations(classifier));
+            }
+            
+            // TODO: getAllModelElementsOfKind should probably do this
+            // processing of imported elements automatically
+            for (Object importedElem : Model.getModelManagementHelper()
+                    .getAllImportedElements(ns)) {
+                if (Model.getFacade().isAClassifier(importedElem)) {
+                    ops.addAll(Model.getFacade()
+                            .getOperations(importedElem));
                 }
             }
         }
@@ -116,6 +119,35 @@
     }
     
     public Action getAction() {
-        return null;
+        return new SetAction();
     }
+    
+    private class SetAction extends UndoableAction {
+
+        /**
+         * The constructor.
+         */
+        public SetAction() {
+            super("");
+        }
+
+        /*
+         * @see 
java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+         */
+        public void actionPerformed(ActionEvent e) {
+            super.actionPerformed(e);
+            final Object source = e.getSource();
+            if (source instanceof UMLComboBox) {
+                final Object selected = ((UMLComboBox) 
source).getSelectedItem();
+                final Object target = ((UMLComboBox) source).getTarget();
+                if (Model.getFacade().isACallEvent(target) 
+                    && Model.getFacade().isAOperation(selected)) {
+                    if (Model.getFacade().getOperation(target) != selected) {
+                        Model.getCommonBehaviorHelper().setOperation(
+                                target, selected);
+                    }
+                }
+            }
+        }
+    }    
 }

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

To unsubscribe from this discussion, e-mail: 
[[email protected]].

Reply via email to