Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/ActorClass.xpt10
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/ProtocolClass.xpt53
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/templates/StateMachine.xpt84
3 files changed, 70 insertions, 77 deletions
diff --git a/plugins/org.eclipse.etrice.generator.java/src/templates/ActorClass.xpt b/plugins/org.eclipse.etrice.generator.java/src/templates/ActorClass.xpt
index a10b36c5a..d27a44886 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/templates/ActorClass.xpt
+++ b/plugins/org.eclipse.etrice.generator.java/src/templates/ActorClass.xpt
@@ -100,22 +100,17 @@ public «IF ac.abstract»abstract «ENDIF»class «ac.name» extends «IF ac.base!=null
}
public void start(){
- //System.out.println(toString()+"::start()");
-
- //TODO: execution of initial transition should also be triggered by message
- «IF xpac.hasStateMachine()»
+ «IF xpac.hasStateMachine()-»
executeInitTransition();
- «ENDIF»
+ «ENDIF-»
}
«IF !ac.overridesStop()»
public void stop(){
- //System.out.println(toString()+"::stop()");
}
«ENDIF»
public void destroy(){
- //System.out.println(toString()+"::destroy()");
}
«IF ac.stateMachine != null»
@@ -125,7 +120,6 @@ public «IF ac.abstract»abstract «ENDIF»class «ac.name» extends «IF ac.base!=null
@Override
public void receiveEvent(InterfaceItemBase ifitem, int evt, Object... data) {
}
-
«ENDIF»
};
«ENDFILE»
diff --git a/plugins/org.eclipse.etrice.generator.java/src/templates/ProtocolClass.xpt b/plugins/org.eclipse.etrice.generator.java/src/templates/ProtocolClass.xpt
index 928f2955f..6bda5a934 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/templates/ProtocolClass.xpt
+++ b/plugins/org.eclipse.etrice.generator.java/src/templates/ProtocolClass.xpt
@@ -82,9 +82,8 @@ public class «pc.name» {
// port class
static public class «name» extends PortBase {
- «IF pclass!=null»«EXPAND ProcedureHelpers::UserCode FOR pclass.userCode»
- «ENDIF»
-
+ «IF pclass!=null»«EXPAND ProcedureHelpers::UserCode FOR pclass.userCode-»
+ «ENDIF-»
// constructors
public «name»(IEventReceiver actor, String name, int localId, Address addr, Address peerAddress) {
super(actor, name, localId, 0, addr, peerAddress);
@@ -128,11 +127,11 @@ static public class «name» extends PortBase {
}
}
- «EXPAND ProcedureHelpers::Attributes FOR pclass.attributes»
- «EXPAND ProcedureHelpers::Operations FOR pclass.operations»
+ «EXPAND ProcedureHelpers::Attributes FOR pclass.attributes-»
+ «EXPAND ProcedureHelpers::Operations FOR pclass.operations-»
// sent messages
- «FOREACH this.getOutgoing(conj) AS m»«EXPAND sendMessage(conj) FOR m»«ENDFOREACH»
+ «FOREACH this.getOutgoing(conj) AS m»«EXPAND sendMessage(conj) FOR m»«ENDFOREACH-»
}
// replicated port class
@@ -160,36 +159,36 @@ static public class «name»Repl {
«IF conj»
// incoming messages
- «FOREACH this.getAllIncomingMessages() AS m»
+ «FOREACH this.getAllIncomingMessages() AS m-»
«EXPAND messageSignature FOR m»{
for (int i=0; i<replication; ++i) {
ports.get(i).«EXPAND messageCall FOR m»;
}
}
- «ENDFOREACH»
- «ELSE»
+ «ENDFOREACH-»
+ «ELSE-»
// outgoing messages
- «FOREACH this.getAllOutgoingMessages() AS m»
+ «FOREACH this.getAllOutgoingMessages() AS m-»
«EXPAND messageSignature FOR m»{
for (int i=0; i<replication; ++i) {
ports.get(i).«EXPAND messageCall FOR m»;
}
}
- «ENDFOREACH»
- «ENDIF»
+ «ENDFOREACH-»
+ «ENDIF-»
}
// interface for port class
public interface I«name»{
- «IF conj»
+ «IF conj-»
// outgoing messages
«FOREACH this.getAllOutgoingMessages() AS m» «EXPAND messageSignature FOR m»;
- «ENDFOREACH»
- «ELSE»
+ «ENDFOREACH-»
+ «ELSE-»
// incoming messages
«FOREACH this.getAllIncomingMessages() AS m» «EXPAND messageSignature FOR m»;
- «ENDFOREACH»
- «ENDIF»
+ «ENDFOREACH-»
+ «ENDIF-»
}
«ENDLET»
@@ -198,14 +197,14 @@ public interface I«name»{
«DEFINE messageSignature FOR Message»public void «this.name» («FOREACH this.arguments AS a SEPARATOR "," »«a.type.typeName()» «a.name»«ENDFOREACH»)«ENDDEFINE»
«DEFINE messageCall FOR Message»«this.name»(«FOREACH this.arguments AS a SEPARATOR ","» «a.name»«ENDFOREACH»)«ENDDEFINE»
-«DEFINE sendMessage(boolean conj) FOR Message»
-«LET conj?"IN":"OUT" AS dir»
-«LET this.getSendHandler(conj) AS hdlr»
+«DEFINE sendMessage(boolean conj) FOR Message-»
+«LET conj?"IN":"OUT" AS dir-»
+«LET this.getSendHandler(conj) AS hdlr-»
«EXPAND messageSignature FOR this»{
- «IF hdlr!=null»
+ «IF hdlr!=null-»
«FOREACH hdlr.detailCode.commands AS command» «command»
- «ENDFOREACH»
- «ELSE»
+ «ENDFOREACH-»
+ «ELSE-»
if (messageStrings[ «dir»_«this.name»] != "timerTick"){
// TODOTS: model switch for activation
DebuggingService.getInstance().addMessageAsyncOut(getAddress(), getPeerAddress(), messageStrings[«dir»_«this.name»]);
@@ -213,9 +212,9 @@ public interface I«name»{
if (getPeerAddress()!=null)
«IF this.arguments.isEmpty»getPeerMsgReceiver().receive(new EventMessage(getPeerAddress(), «dir»_«this.name»));
«ELSE» getPeerMsgReceiver().receive(new EventWithDataMessage(getPeerAddress(), «dir»_«this.name», new Object[]{«FOREACH this.arguments AS a SEPARATOR ","» «a.name»«ENDFOREACH»}));
- «ENDIF»
- «ENDIF»
+ «ENDIF-»
+ «ENDIF-»
}
-«ENDLET»
-«ENDLET»
+«ENDLET-»
+«ENDLET-»
«ENDDEFINE»
diff --git a/plugins/org.eclipse.etrice.generator.java/src/templates/StateMachine.xpt b/plugins/org.eclipse.etrice.generator.java/src/templates/StateMachine.xpt
index 07b600a40..19d9aad9e 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/templates/StateMachine.xpt
+++ b/plugins/org.eclipse.etrice.generator.java/src/templates/StateMachine.xpt
@@ -59,33 +59,33 @@ public void receiveEvent(InterfaceItemBase ifitem, int evt, Object... generic_da
boolean is_handler = false;
switch (state) {
- «FOREACH this.stateMachine.getLeafStateList() AS state»
+ «FOREACH this.stateMachine.getLeafStateList() AS state-»
case «state.getStateId()»:
- «LET this.getActiveTriggers(state) AS atlist»
- «IF !atlist.isEmpty»
+ «LET this.getActiveTriggers(state) AS atlist-»
+ «IF !atlist.isEmpty-»
switch(trigger) {
- «FOREACH atlist AS at»
+ «FOREACH atlist AS at-»
case «this.getTriggerCodeName(at.trigger)»:
- «LET this.hasGuard(at) AS needData»
- «IF needData»{ «at.msg.getTypedDataDefinition()»«ENDIF»
- «FOREACH at.transitions AS tt SEPARATOR " else "»
- «LET this.getChain(tt) AS chain»
- «EXPAND guard(at.trigger, this) FOR chain.transition»
+ «LET this.hasGuard(at) AS needData-»
+ «IF needData»{ «at.msg.getTypedDataDefinition()»«ENDIF-»
+ «FOREACH at.transitions AS tt SEPARATOR " else "-»
+ «LET this.getChain(tt) AS chain-»
+ «EXPAND guard(at.trigger, this) FOR chain.transition-»
{
chain = «chain.getChainId()»;
catching_state = «chain.getContextId()»;
- «IF chain.isHandler()»is_handler = true;«ENDIF»
+ «IF chain.isHandler()»is_handler = true;«ENDIF-»
}
- «ENDLET»
- «ENDFOREACH»
- «IF needData»}«ENDIF»
- «ENDLET»
+ «ENDLET-»
+ «ENDFOREACH-»
+ «IF needData»}«ENDIF-»
+ «ENDLET-»
break;
- «ENDFOREACH»
+ «ENDFOREACH-»
}
- «ENDIF»«ENDLET»
+ «ENDIF»«ENDLET-»
break;
- «ENDFOREACH»
+ «ENDFOREACH-»
}
if (chain != NOT_CAUGHT) {
exitTo(state, catching_state, is_handler);
@@ -105,12 +105,12 @@ private void setState(int new_state) {
}
protected void executeInitTransition() {
- «LET this.stateMachine.getInitTransition() AS initt»
+ «LET this.stateMachine.getInitTransition() AS initt-»
int chain = «this.getChain(initt).getChainId()»;
int next = executeTransitionChain(chain, null, null);
next = enterHistory(next, false);
setState(next);
- «ENDLET»
+ «ENDLET-»
}
/**
@@ -123,13 +123,13 @@ protected void executeInitTransition() {
private void exitTo(int current, int to, boolean handler) {
while (current!=to) {
switch (current) {
- «FOREACH this.stateMachine.getBaseStateList() AS state»
+ «FOREACH this.stateMachine.getBaseStateList() AS state-»
case «state.getStateId()»:
- «IF state.hasExitCode()»if (!handler) «state.getExitCodeOperationName()»();«ENDIF»
+ «IF state.hasExitCode()»if (!handler) «state.getExitCodeOperationName()»();«ENDIF-»
history[«state.getParentStateId()»] = «state.getStateId()»;
current = «state.getParentStateId()»;
break;
- «ENDFOREACH»
+ «ENDFOREACH-»
}
}
}
@@ -142,13 +142,13 @@ private void exitTo(int current, int to, boolean handler) {
*/
private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object[] generic_data) {
switch (chain) {
- «LET this.getTransitionChains() AS chains»
- «FOREACH chains AS tc»
+ «LET this.getTransitionChains() AS chains-»
+ «FOREACH chains AS tc-»
case «tc.getChainId()»:
{
- «this.getExecuteChainCode(tc)»
+ «this.getExecuteChainCode(tc)-»
}
- «ENDFOREACH»«ENDLET»
+ «ENDFOREACH»«ENDLET-»
}
return NO_STATE;
}
@@ -161,28 +161,28 @@ private int executeTransitionChain(int chain, InterfaceItemBase ifitem, Object[]
private int enterHistory(int state, boolean handler) {
while (true) {
switch (state) {
- «FOREACH this.stateMachine.getBaseStateList() AS state»
+ «FOREACH this.stateMachine.getBaseStateList() AS state-»
case «state.getStateId()»:
- «IF state.hasEntryCode()»if (!handler) «state.getEntryCodeOperationName()»();«ENDIF»
- «IF state.isLeaf()»
+ «IF state.hasEntryCode()»if (!handler) «state.getEntryCodeOperationName()»();«ENDIF-»
+ «IF state.isLeaf()-»
return state;
- «ELSE»
+ «ELSE-»
if (history[state]==NO_STATE) {
- «LET state.subgraph.getInitTransition() AS initt»
- «IF initt!=null»
- int chain = «this.getChain(initt).getChainId()»;
+ «LET state.subgraph.getInitTransition() AS initt-»
+ «IF initt!=null-»
+ int chain = «this.getChain(initt).getChainId()-»;
int next = executeTransitionChain(chain, null, null);
state = enterHistory(next, false);
- «ENDIF»
- «ENDLET»
+ «ENDIF-»
+ «ENDLET-»
state = «state.subgraph.getInitState().getStateId()»;
}
else {
state = history[state];
}
break;
- «ENDIF»
- «ENDFOREACH»
+ «ENDIF-»
+ «ENDFOREACH-»
}
}
}
@@ -215,12 +215,12 @@ private int enterHistory(int state, boolean handler) {
«ENDLET»
«ENDDEFINE»
-«DEFINE guard(String trigger, ExpandedActorClass ac) FOR TriggeredTransition»
- «LET this.triggers.selectFirst(e|ac.isMatching(e, trigger)) AS tr»
- «IF tr.hasGuard()»
+«DEFINE guard(String trigger, ExpandedActorClass ac) FOR TriggeredTransition-»
+ «LET this.triggers.selectFirst(e|ac.isMatching(e, trigger)) AS tr-»
+ «IF tr.hasGuard()-»
if («ac.getCode(tr.guard.guard)»)
- «ENDIF»
- «ENDLET»
+ «ENDIF-»
+ «ENDLET-»
«ENDDEFINE»
«DEFINE guard(String trigger, ExpandedActorClass ac) FOR Transition»

Back to the top