Author: bobtarling
Date: 2010-04-06 07:04:40-0700
New Revision: 18212

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

Log:
Set the namespace of a signal when it is created to be its nearest package

Modified: 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CommonBehaviorFactoryMDRImpl.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CommonBehaviorFactoryMDRImpl.java?view=diff&pathrev=18212&r1=18211&r2=18212
==============================================================================
--- 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CommonBehaviorFactoryMDRImpl.java
        (original)
+++ 
trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CommonBehaviorFactoryMDRImpl.java
        2010-04-06 07:04:40-0700
@@ -330,27 +330,34 @@
 
 
     public Signal buildSignal(Object element) {
+        Signal signal;
+        
         if ((element instanceof BehavioralFeature)) {
-            Signal signal = buildSignalInt(element);
+            signal = buildSignalInt(element);
             BehavioralFeature bf = (BehavioralFeature) element;
             ((UmlPackage) bf.refOutermostPackage()).getCommonBehavior()
                     .getAContextRaisedSignal().add((BehavioralFeature) element,
                             signal);
-            return signal;
         } else if (element instanceof Reception) {
-            Signal signal = buildSignalInt(element);
+            signal = buildSignalInt(element);
             ((Reception) element).setSignal(signal);
-            return signal;            
         } else if (element instanceof SendAction) {
-            Signal signal = buildSignalInt(element);
+            signal = buildSignalInt(element);
             ((SendAction) element).setSignal(signal);
-            return signal;         
         } else if (element instanceof SignalEvent) {
-            Signal signal = buildSignalInt(element);
+            signal = buildSignalInt(element);
             ((SignalEvent) element).setSignal(signal);
-            return signal;  
+        } else {
+            throw new IllegalArgumentException("Can't build a signal for a " + 
element);
+        }
+        
+        Object namespace = element;
+        while (!Model.getFacade().isAPackage(namespace)) {
+            namespace = Model.getFacade().getModelElementContainer(namespace);
         }
-        throw new IllegalArgumentException("Can't build a signal for a " + 
element);
+        
+        Model.getCoreHelper().setNamespace(signal, namespace);
+        return signal;
     }
 
     /**

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

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

Reply via email to