diff options
author | Henrik Rentz-Reichert | 2012-02-13 16:55:10 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2012-02-13 16:55:10 +0000 |
commit | 3a80adce0b997176c95796512120dfb32d805003 (patch) | |
tree | 57782c115994fda5dd25b14d89341517eac163b7 | |
parent | b95729172853d01a6004cc3972f249a83479f5c9 (diff) | |
download | org.eclipse.etrice-3a80adce0b997176c95796512120dfb32d805003.tar.gz org.eclipse.etrice-3a80adce0b997176c95796512120dfb32d805003.tar.xz org.eclipse.etrice-3a80adce0b997176c95796512120dfb32d805003.zip |
[generator] check relay port connections only for event driven protocols
-rw-r--r-- | plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/builder/GeneratorModelBuilder.java | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/builder/GeneratorModelBuilder.java b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/builder/GeneratorModelBuilder.java index 0f661545c..1b8395f7e 100644 --- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/builder/GeneratorModelBuilder.java +++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/builder/GeneratorModelBuilder.java @@ -343,17 +343,19 @@ public class GeneratorModelBuilder { if (!external) {
relayPorts.add(port);
- // check whether relay port is multiply connected
- int count = 0;
- for (Binding b : ac.getBindings()) {
- if (b.getEndpoint1().getPort()==port)
- ++count;
- if (b.getEndpoint2().getPort()==port)
- ++count;
- }
- if (count>1) {
- int idx = ac.getIfPorts().indexOf(port);
- diagnostician.error("relay port is multiply connected inside its actor class", port, RoomPackage.eINSTANCE.getActorClass_IfPorts(), idx);
+ if (port.getProtocol().getCommType()==CommunicationType.EVENT_DRIVEN) {
+ // check whether relay port is multiply connected
+ int count = 0;
+ for (Binding b : ac.getBindings()) {
+ if (b.getEndpoint1().getPort()==port)
+ ++count;
+ if (b.getEndpoint2().getPort()==port)
+ ++count;
+ }
+ if (count>1) {
+ int idx = ac.getIfPorts().indexOf(port);
+ diagnostician.error("relay port is multiply connected inside its actor class", ac, RoomPackage.eINSTANCE.getActorClass_IfPorts(), idx);
+ }
}
}
}
|