Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2015-04-10 06:54:04 +0000
committerHenrik Rentz-Reichert2015-04-17 14:09:56 +0000
commit7cd802923e7efb64bad5fd23250b711ddc4c0c94 (patch)
tree5d9a3ffc32416ab5d440ba7dc56d2c27b4c7326c /plugins/org.eclipse.etrice.generator.java/src/org
parent509c50bfd19ca15421352ca1fc51182031aa3be2 (diff)
downloadorg.eclipse.etrice-7cd802923e7efb64bad5fd23250b711ddc4c0c94.tar.gz
org.eclipse.etrice-7cd802923e7efb64bad5fd23250b711ddc4c0c94.tar.xz
org.eclipse.etrice-7cd802923e7efb64bad5fd23250b711ddc4c0c94.zip
refactorings for abstract FSM interface
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.java/src/org')
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java2
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend12
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend15
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.xtend4
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/StateMachineGen.xtend7
5 files changed, 27 insertions, 13 deletions
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java
index 240d0218b..fb70a68f0 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java
@@ -28,7 +28,9 @@ import org.eclipse.etrice.generator.java.setup.GeneratorModule;
import org.eclipse.xtext.scoping.impl.ImportUriResolver;
import com.google.inject.Inject;
+import com.google.inject.Singleton;
+@Singleton
public class Main extends AbstractGenerator {
public static final String OPTION_GEN_PERSIST = "-persistable";
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend
index 6784d6deb..cb5ee8dc6 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend
@@ -159,17 +159,17 @@ class ActorClassGen extends GenericActorClassGenerator {
// own ports
«FOR ep : ac.getEndPorts()»
- «ep.name» = new «ep.getPortClassName()»(this, "«ep.name»", IFITEM_«ep.name»);
+ «ep.name» = new «ep.getPortClassName()»(this, "«ep.name»", «ep.ifItemId»);
«ENDFOR»
// own saps
«FOR sap : ac.serviceAccessPoints»
- «sap.name» = new «sap.getPortClassName()»(this, "«sap.name»", IFITEM_«sap.name», 0);
+ «sap.name» = new «sap.getPortClassName()»(this, "«sap.name»", «sap.ifItemId», 0);
«ENDFOR»
// own service implementations
«FOR svc : ac.serviceImplementations»
- «svc.spp.name» = new «svc.getPortClassName()»(this, "«svc.spp.name»", IFITEM_«svc.spp.name»);
+ «svc.spp.name» = new «svc.getPortClassName()»(this, "«svc.spp.name»", «svc.spp.ifItemId»);
«ENDFOR»
// sub actors
@@ -314,7 +314,11 @@ class ActorClassGen extends GenericActorClassGenerator {
«IF ac.commType == ComponentCommunicationType::ASYNCHRONOUS || ac.commType == ComponentCommunicationType::DATA_DRIVEN»
@Override
public void receive(Message msg) {
- receiveEvent(«IF ac.commType == ComponentCommunicationType::ASYNCHRONOUS»null, -1, null«ENDIF»);
+ «IF ac.commType == ComponentCommunicationType::ASYNCHRONOUS»
+ receiveEvent(null, -1, null);
+ «ELSE»
+ receiveEventInternal();
+ «ENDIF»
}
«ENDIF»
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend
index c14b479c1..73541613b 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/JavaExtensions.xtend
@@ -36,14 +36,20 @@ import org.eclipse.etrice.core.room.ActorClass
import org.eclipse.etrice.core.room.EnumerationType
import org.eclipse.etrice.core.room.EnumLiteral
+import org.eclipse.emf.ecore.EObject
@Singleton
class JavaExtensions implements ILanguageExtension {
@Inject TypeHelpers typeHelpers
- override String getTypedDataDefinition(Message m) {
- generateArglistAndTypedData(m.data).get(1)
+ override String getTypedDataDefinition(EObject msg) {
+ if (msg instanceof Message) {
+ generateArglistAndTypedData((msg as Message).data).get(1)
+ }
+ else {
+ ""
+ }
}
def String getJavaFileName(RoomClass rc) {rc.name+".java"}
@@ -243,10 +249,11 @@ class JavaExtensions implements ILanguageExtension {
dv
}
- override generateArglistAndTypedData(VarDecl data) {
- if (data==null)
+ override generateArglistAndTypedData(EObject d) {
+ if (d==null || !(d instanceof VarDecl))
return newArrayList("", "", "")
+ val data = d as VarDecl
var typeName = data.refType.type.getName();
var castTypeName = typeName;
if (data.refType.type instanceof PrimitiveType) {
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.xtend
index ac3824d78..95a8bc9ad 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/OptionalActorInterfaceGen.xtend
@@ -69,9 +69,9 @@ class OptionalActorInterfaceGen extends GenericActorClassGenerator {
«FOR ep : ac.allInterfacePorts»
«IF ep.replicated»
- «ep.name» = new ReplicatedInterfaceItemBroker(this, "«ep.name»", IFITEM_«ep.name»);
+ «ep.name» = new ReplicatedInterfaceItemBroker(this, "«ep.name»", «ep.ifItemId»);
«ELSE»
- «ep.name» = new InterfaceItemBroker(this, "«ep.name»", IFITEM_«ep.name»);
+ «ep.name» = new InterfaceItemBroker(this, "«ep.name»", «ep.ifItemId»);
«ENDIF»
«ENDFOR»
}
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/StateMachineGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/StateMachineGen.xtend
index 46497c5fc..ca73c5612 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/StateMachineGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/StateMachineGen.xtend
@@ -18,19 +18,20 @@ import org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass
import org.eclipse.etrice.core.fsm.fSM.State
import org.eclipse.etrice.generator.generic.GenericStateMachineGenerator
import org.eclipse.etrice.generator.java.Main
+import org.eclipse.etrice.core.genmodel.fsm.fsmgen.ExpandedModelComponent
@Singleton
class StateMachineGen extends GenericStateMachineGenerator {
- override genExtra(ExpandedActorClass xpac) {
+ override genExtra(ExpandedModelComponent xpac) {
val states = new ArrayList<State>()
- var ac = xpac.actorClass
+ var ac = xpac.modelComponent
// it is crucial that we obey the order that is used for state IDs
// that means we have to collect base classes first and each base class list with leaf states last
while (ac!=null) {
states.addAll(0, ac.allBaseStates.leafStatesLast)
- ac = ac.actorBase
+ ac = ac.base
}
'''
«IF Main::settings.generateMSCInstrumentation || Main::settings.generateWithVerboseOutput»

Back to the top