Skip to content

Commit c74f53a

Browse files
committed
Updated EventOccurrence::sendTo to take reference. (OMG Issue FUML13-1).
1 parent 15a60bd commit c74f53a

4 files changed

Lines changed: 11 additions & 7 deletions

File tree

org.modeldriven.fuml/src/main/java/fUML/Semantics/Actions/BasicActions/SendSignalActionActivation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public void doAction() {
4747

4848
SignalEventOccurrence signalEventOccurrence = new SignalEventOccurrence();
4949
signalEventOccurrence.signalInstance = (SignalInstance) signalInstance.copy();
50-
signalEventOccurrence.sendTo(((Reference)target).referent);
50+
signalEventOccurrence.sendTo((Reference)target);
5151
}
5252
} // doAction
5353

org.modeldriven.fuml/src/main/java/fUML/Semantics/CommonBehaviors/Communications/CallEventExecution.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import fUML.Debug;
1212
import fUML.Semantics.Classes.Kernel.Object_;
13+
import fUML.Semantics.Classes.Kernel.Reference;
1314
import fUML.Semantics.Classes.Kernel.Value;
1415
import fUML.Semantics.CommonBehaviors.BasicBehaviors.Execution;
1516
import fUML.Semantics.CommonBehaviors.BasicBehaviors.ParameterValue;
@@ -67,10 +68,13 @@ public void execute() {
6768
// call will never be completed if the target is not an active
6869
// object, since then the object would then have no event
6970
// pool in which the event occurrence could be placed.
71+
72+
Reference reference = new Reference();
73+
reference.referent = this.context;
7074

7175
CallEventOccurrence eventOccurrence = new CallEventOccurrence();
7276
eventOccurrence.execution = this;
73-
eventOccurrence.sendTo(this.context);
77+
eventOccurrence.sendTo(reference);
7478
this.suspend();
7579
}
7680

org.modeldriven.fuml/src/main/java/fUML/Semantics/CommonBehaviors/Communications/EventOccurrence.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010

1111
import org.modeldriven.fuml.FumlObject;
1212

13-
import fUML.Semantics.Classes.Kernel.Object_;
13+
import fUML.Semantics.Classes.Kernel.Reference;
1414

1515
public abstract class EventOccurrence extends FumlObject {
1616

17-
public Object_ target = null;
17+
public Reference target = null;
1818

19-
public void sendTo(Object_ target) {
19+
public void sendTo(Reference target) {
2020
this.target = target;
2121
_startObjectBehavior();
2222
_send(new SendSignal());

org.modeldriven.fuml/src/main/java/fUML/Semantics/CommonBehaviors/Communications/EventOccurrence_SendingBehaviorExecution.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public EventOccurrence_SendingBehaviorExecution(EventOccurrence self) {
2020
}
2121

2222
public void _startObjectBehavior() {
23-
this.context = self.target;
23+
this.context = self.target.referent;
2424
}
2525

2626
public void _send(SendSignal signal) {
@@ -39,7 +39,7 @@ public Value new_() {
3939

4040
@Override
4141
public String toString() {
42-
return "SendExecution(" + this.self + ")";
42+
return "SendingBehaviorExecution(" + this.self + ")";
4343
}
4444

4545
}

0 commit comments

Comments
 (0)