svn commit: r18212 - trunk/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CommonBehaviorFactoryMDRImpl.java
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
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]].