Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2012-12-20 20:15:35 +0000
committerHenrik Rentz-Reichert2012-12-31 10:50:37 +0000
commit260e066402988bdf3f15ec3b46d40dac584f03d1 (patch)
tree2ec70832d22a02557207b5c46b9a098e586bbe3d /plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend
parent34e6ca78590d3e4797b4d90611e93d48ceab8bd0 (diff)
downloadorg.eclipse.etrice-260e066402988bdf3f15ec3b46d40dac584f03d1.tar.gz
org.eclipse.etrice-260e066402988bdf3f15ec3b46d40dac584f03d1.tar.xz
org.eclipse.etrice-260e066402988bdf3f15ec3b46d40dac584f03d1.zip
[generator.java] adjustments to changed runtime (map for port connections)
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend')
-rw-r--r--plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend77
1 files changed, 36 insertions, 41 deletions
diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend
index 64e6a247f..55c5aee90 100644
--- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend
+++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend
@@ -55,11 +55,13 @@ class ProtocolClassGen extends GenericProtocolClassGenerator {
def generate(Root root, ProtocolClass pc) {'''
package «pc.getPackage()»;
- import java.util.ArrayList;
-
- import org.eclipse.etrice.runtime.java.messaging.Address;
import org.eclipse.etrice.runtime.java.messaging.Message;
- import org.eclipse.etrice.runtime.java.modelbase.*;
+ import org.eclipse.etrice.runtime.java.modelbase.EventMessage;
+ import org.eclipse.etrice.runtime.java.modelbase.EventWithDataMessage;
+ import org.eclipse.etrice.runtime.java.modelbase.IEventReceiver;
+ import org.eclipse.etrice.runtime.java.modelbase.InterfaceItemBase;
+ import org.eclipse.etrice.runtime.java.modelbase.PortBase;
+ import org.eclipse.etrice.runtime.java.modelbase.ReplicatedPortBase;
«IF GlobalSettings::generateMSCInstrumentation»
import org.eclipse.etrice.runtime.java.debugging.DebuggingService;
«ENDIF»
@@ -107,14 +109,11 @@ class ProtocolClassGen extends GenericProtocolClassGenerator {
«pclass.userCode.userCode»
«ENDIF»
// constructors
- public «portClassName»(IEventReceiver actor, String name, int localId, Address addr, Address peerAddress) {
- this(actor, name, localId, 0, addr, peerAddress);
- «IF GlobalSettings::generateMSCInstrumentation»
- DebuggingService.getInstance().addPortInstance(this);
- «ENDIF»
+ public «portClassName»(IEventReceiver actor, String name, int localId) {
+ this(actor, name, localId, 0);
}
- public «portClassName»(IEventReceiver actor, String name, int localId, int idx, Address addr, Address peerAddress) {
- super(actor, name, localId, idx, addr, peerAddress);
+ public «portClassName»(IEventReceiver actor, String name, int localId, int idx) {
+ super(actor, name, localId, idx);
«IF pclass!=null»
«pclass.attributes.attributeInitialization(pclass, true)»
«ENDIF»
@@ -172,50 +171,46 @@ class ProtocolClassGen extends GenericProtocolClassGenerator {
}
// replicated port class
- static public class «replPortClassName» {
- private ArrayList<«portClassName»> ports;
- private int replication;
+ static public class «replPortClassName» extends ReplicatedPortBase {
- public «replPortClassName»(IEventReceiver actor, String name, int localId, Address[] addr,
- Address[] peerAddress) {
- replication = addr==null? 0:addr.length;
- ports = new ArrayList<«pc.name».«portClassName»>(replication);
- for (int i=0; i<replication; ++i) {
- ports.add(new «portClassName»(
- actor, name+i, localId, i, addr[i], peerAddress[i]));
- }
+ public «replPortClassName»(IEventReceiver actor, String name, int localId) {
+ super(actor, name, localId);
}
public int getReplication() {
- return replication;
+ return getNInterfaceItems();
}
public int getIndexOf(InterfaceItemBase ifitem){
return ifitem.getIdx();
}
- public «portClassName» get(int i) {
- return ports.get(i);
+ public «portClassName» get(int idx) {
+ return («portClassName») getInterfaceItem(idx);
}
- «IF conj»
- // incoming messages
- «FOR m : pc.getAllIncomingMessages()»
- «messageSignature(m)»{
- for (int i=0; i<replication; ++i) {
- ports.get(i).«messageCall(m)»;
- }
+ protected InterfaceItemBase createInterfaceItem(IEventReceiver rcv, String name, int lid, int idx) {
+ return new «portClassName»(rcv, name, lid, idx);
}
- «ENDFOR»
+
+ «IF conj»
+ // incoming messages
+ «FOR m : pc.getAllIncomingMessages()»
+ «messageSignature(m)»{
+ for (int i=0; i<getReplication(); ++i) {
+ get(i).«messageCall(m)»;
+ }
+ }
+ «ENDFOR»
«ELSE»
- // outgoing messages
- «FOR m : pc.getAllOutgoingMessages()»
- «messageSignature(m)»{
- for (int i=0; i<replication; ++i) {
- ports.get(i).«messageCall(m)»;
- }
- }
- «ENDFOR»
+ // outgoing messages
+ «FOR m : pc.getAllOutgoingMessages()»
+ «messageSignature(m)»{
+ for (int i=0; i<getReplication(); ++i) {
+ get(i).«messageCall(m)»;
+ }
+ }
+ «ENDFOR»
«ENDIF»
}

Back to the top