|
|
@@ -10,51 +10,47 @@ Contributors:
|
|
|
*/
|
|
|
package org.yakindu.sct.runtime.java.test_hierarchy;
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
import org.yakindu.sct.runtime.java.Event;
|
|
|
import org.yakindu.sct.runtime.java.NotificationSender;
|
|
|
import org.yakindu.sct.runtime.java.VariableNotification;
|
|
|
+import org.yakindu.sct.runtime.java.ValuedEvent;
|
|
|
|
|
|
public class DefaultInterfaceImpl extends NotificationSender
|
|
|
implements
|
|
|
- DefaultInterface {
|
|
|
- private final Event<Events> EventEvent1 = new Event<Events>(Events.Event1,
|
|
|
- 0);
|
|
|
- private final Event<Events> EventEvent2 = new Event<Events>(Events.Event2,
|
|
|
- 0);
|
|
|
- private final Event<Events> EventEvent3 = new Event<Events>(Events.Event3,
|
|
|
- 0);
|
|
|
- private final Event<Events> EventEvent4 = new Event<Events>(Events.Event4,
|
|
|
- 0);
|
|
|
- private final Event<Events> EventEvent5 = new Event<Events>(Events.Event5,
|
|
|
- 0);
|
|
|
- private final Event<Events> EventEvent6 = new Event<Events>(Events.Event6,
|
|
|
- 0);
|
|
|
- private final Event<Events> EventEvent7 = new Event<Events>(Events.Event7,
|
|
|
- 0);
|
|
|
- private final Event<Events> EventEvent8 = new Event<Events>(Events.Event8,
|
|
|
- 0);
|
|
|
- private final Event<Events> EventEvent9 = new Event<Events>(Events.Event9,
|
|
|
- 0);
|
|
|
- private final Event<Events> EventEvent10 = new Event<Events>(
|
|
|
- Events.Event10, 0);
|
|
|
- private final Event<Events> EventEvent11 = new Event<Events>(
|
|
|
- Events.Event11, 0);
|
|
|
- private final Event<Events> EventEvent12 = new Event<Events>(
|
|
|
- Events.Event12, 0);
|
|
|
- private final Event<Events> EventEvent13 = new Event<Events>(
|
|
|
- Events.Event13, 0);
|
|
|
- private final Event<Events> EventEvent14 = new Event<Events>(
|
|
|
- Events.Event14, 0);
|
|
|
- private final Event<Events> EventEvent15 = new Event<Events>(
|
|
|
- Events.Event15, 0);
|
|
|
- private final Event<Events> EventEvent16 = new Event<Events>(
|
|
|
- Events.Event16, 0);
|
|
|
-
|
|
|
- private Test_HierarchyCycleBasedStatemachine statemachine;
|
|
|
+ IDefaultInterfaceImpl {
|
|
|
+ protected Map<String, Object> variableMap;
|
|
|
+ protected Map<String, Event<Events>> inEventMap;
|
|
|
+
|
|
|
+ protected Test_HierarchyCycleBasedStatemachine statemachine;
|
|
|
|
|
|
public DefaultInterfaceImpl(
|
|
|
Test_HierarchyCycleBasedStatemachine statemachine) {
|
|
|
+
|
|
|
this.statemachine = statemachine;
|
|
|
+ variableMap = new HashMap<String, Object>();
|
|
|
+ variableMap.put("s1", new Integer(0));
|
|
|
+ variableMap.put("s2", new Integer(0));
|
|
|
+
|
|
|
+ inEventMap = new HashMap<String, Event<Events>>();
|
|
|
+
|
|
|
+ inEventMap.put("event1", new Event<Events>(Events.Event1, 0));
|
|
|
+ inEventMap.put("event2", new Event<Events>(Events.Event2, 0));
|
|
|
+ inEventMap.put("event3", new Event<Events>(Events.Event3, 0));
|
|
|
+ inEventMap.put("event4", new Event<Events>(Events.Event4, 0));
|
|
|
+ inEventMap.put("event5", new Event<Events>(Events.Event5, 0));
|
|
|
+ inEventMap.put("event6", new Event<Events>(Events.Event6, 0));
|
|
|
+ inEventMap.put("event7", new Event<Events>(Events.Event7, 0));
|
|
|
+ inEventMap.put("event8", new Event<Events>(Events.Event8, 0));
|
|
|
+ inEventMap.put("event9", new Event<Events>(Events.Event9, 0));
|
|
|
+ inEventMap.put("event10", new Event<Events>(Events.Event10, 0));
|
|
|
+ inEventMap.put("event11", new Event<Events>(Events.Event11, 0));
|
|
|
+ inEventMap.put("event12", new Event<Events>(Events.Event12, 0));
|
|
|
+ inEventMap.put("event13", new Event<Events>(Events.Event13, 0));
|
|
|
+ inEventMap.put("event14", new Event<Events>(Events.Event14, 0));
|
|
|
+ inEventMap.put("event15", new Event<Events>(Events.Event15, 0));
|
|
|
+ inEventMap.put("event16", new Event<Events>(Events.Event16, 0));
|
|
|
}
|
|
|
|
|
|
public void raiseEvent1() {
|
|
|
@@ -62,7 +58,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent1() {
|
|
|
- return EventEvent1;
|
|
|
+ return inEventMap.get("event1");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent2() {
|
|
|
@@ -70,7 +66,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent2() {
|
|
|
- return EventEvent2;
|
|
|
+ return inEventMap.get("event2");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent3() {
|
|
|
@@ -78,7 +74,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent3() {
|
|
|
- return EventEvent3;
|
|
|
+ return inEventMap.get("event3");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent4() {
|
|
|
@@ -86,7 +82,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent4() {
|
|
|
- return EventEvent4;
|
|
|
+ return inEventMap.get("event4");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent5() {
|
|
|
@@ -94,7 +90,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent5() {
|
|
|
- return EventEvent5;
|
|
|
+ return inEventMap.get("event5");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent6() {
|
|
|
@@ -102,7 +98,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent6() {
|
|
|
- return EventEvent6;
|
|
|
+ return inEventMap.get("event6");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent7() {
|
|
|
@@ -110,7 +106,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent7() {
|
|
|
- return EventEvent7;
|
|
|
+ return inEventMap.get("event7");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent8() {
|
|
|
@@ -118,7 +114,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent8() {
|
|
|
- return EventEvent8;
|
|
|
+ return inEventMap.get("event8");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent9() {
|
|
|
@@ -126,7 +122,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent9() {
|
|
|
- return EventEvent9;
|
|
|
+ return inEventMap.get("event9");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent10() {
|
|
|
@@ -134,7 +130,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent10() {
|
|
|
- return EventEvent10;
|
|
|
+ return inEventMap.get("event10");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent11() {
|
|
|
@@ -142,7 +138,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent11() {
|
|
|
- return EventEvent11;
|
|
|
+ return inEventMap.get("event11");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent12() {
|
|
|
@@ -150,7 +146,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent12() {
|
|
|
- return EventEvent12;
|
|
|
+ return inEventMap.get("event12");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent13() {
|
|
|
@@ -158,7 +154,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent13() {
|
|
|
- return EventEvent13;
|
|
|
+ return inEventMap.get("event13");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent14() {
|
|
|
@@ -166,7 +162,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent14() {
|
|
|
- return EventEvent14;
|
|
|
+ return inEventMap.get("event14");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent15() {
|
|
|
@@ -174,7 +170,7 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent15() {
|
|
|
- return EventEvent15;
|
|
|
+ return inEventMap.get("event15");
|
|
|
}
|
|
|
|
|
|
public void raiseEvent16() {
|
|
|
@@ -182,30 +178,64 @@ public class DefaultInterfaceImpl extends NotificationSender
|
|
|
}
|
|
|
|
|
|
public Event<Events> getEventEvent16() {
|
|
|
- return EventEvent16;
|
|
|
+ return inEventMap.get("event16");
|
|
|
}
|
|
|
|
|
|
- private int varS1 = 0;
|
|
|
public int getVarS1() {
|
|
|
- return varS1;
|
|
|
+ return (Integer) variableMap.get("s1");
|
|
|
}
|
|
|
|
|
|
public void setVarS1(int value) {
|
|
|
int oldValue = getVarS1();
|
|
|
- varS1 = value;
|
|
|
+ variableMap.put("s1", new Integer(value));
|
|
|
notifyListeners(new VariableNotification<Integer>(Variables.s1,
|
|
|
getVarS1(), oldValue));
|
|
|
}
|
|
|
- private int varS2;
|
|
|
public int getVarS2() {
|
|
|
- return varS2;
|
|
|
+ return (Integer) variableMap.get("s2");
|
|
|
}
|
|
|
|
|
|
public void setVarS2(int value) {
|
|
|
int oldValue = getVarS2();
|
|
|
- varS2 = value;
|
|
|
+ variableMap.put("s2", new Integer(value));
|
|
|
notifyListeners(new VariableNotification<Integer>(Variables.s2,
|
|
|
getVarS2(), oldValue));
|
|
|
}
|
|
|
|
|
|
+ public boolean raiseEvent(String name) {
|
|
|
+ if (inEventMap.get(name) != null) {
|
|
|
+ return statemachine.getOccuredEvents().add(inEventMap.get(name));
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ @SuppressWarnings("unchecked")
|
|
|
+ public boolean raiseEvent(String name, Object value) {
|
|
|
+ if (inEventMap.get(name) != null
|
|
|
+ && inEventMap.get(name) instanceof ValuedEvent) {
|
|
|
+ ValuedEvent<?, ?> event = (ValuedEvent<?, ?>) inEventMap.get(name);
|
|
|
+ if (event.getValue().getClass() == value.getClass()) {
|
|
|
+ ((ValuedEvent<Events, Object>) event).setValue(value);
|
|
|
+ return statemachine.getOccuredEvents()
|
|
|
+ .add(inEventMap.get(name));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ public boolean setVariable(String name, Object value) {
|
|
|
+ if (variableMap.get(name) != null
|
|
|
+ && variableMap.get(name).getClass() == value.getClass()) {
|
|
|
+ Object oldValue = variableMap.get(name);
|
|
|
+ variableMap.put(name, value);
|
|
|
+ notifyListeners(new VariableNotification<Object>(
|
|
|
+ Variables.valueOf(name), variableMap.get(name), oldValue));
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Object getVariable(String name) {
|
|
|
+ return variableMap.get(name);
|
|
|
+ }
|
|
|
}
|