Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuergen Haug2017-02-27 20:08:09 +0000
committerJuergen Haug2017-02-28 15:13:03 +0000
commit881e6359f7b07c1d6e8a27e9b81a06172819b3fd (patch)
treecd808b06e75eeaa7bfd756f04fb4fe456013352d /plugins/org.eclipse.etrice.ui.behavior
parentb09aa986105adad9f2b9c227a79f2669830d306a (diff)
downloadorg.eclipse.etrice-881e6359f7b07c1d6e8a27e9b81a06172819b3fd.tar.gz
org.eclipse.etrice-881e6359f7b07c1d6e8a27e9b81a06172819b3fd.tar.xz
org.eclipse.etrice-881e6359f7b07c1d6e8a27e9b81a06172819b3fd.zip
Bug 512819 - [actioneditor] missing highlighting and proposal for event
ports in guard window
Diffstat (limited to 'plugins/org.eclipse.etrice.ui.behavior')
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.xtend31
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.xtend57
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.java81
-rw-r--r--plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.java134
4 files changed, 166 insertions, 137 deletions
diff --git a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.xtend b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.xtend
index b6ee19d16..8a72ed9ff 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.xtend
+++ b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.xtend
@@ -30,28 +30,25 @@ class DefaultDetailExpressionProvider extends GuardDetailExpressionProvider {
// no super call, keep it simple
val List<ExpressionFeature> scope = newArrayList
- if (transitionEventData != null)
- scope += createExprFeature(transitionEventData)
+ if(transitionEventData != null) {
+ scope += transitionEventData.createExprFeature(ExpressionPostfix.NONE)
+ }
+ scope += actorClass.latestOperations.map[createExprFeature]
+ scope += actorClass.allAttributes.map[createExprFeature]
actorClass.allInterfaceItems.forEach [
switch it {
SPP case isEventDriven/* fall through */,
Port case isEventDriven && isReplicated: {
- scope += createExprFeature // additional feature for broadcast
+ scope += createExprFeature(ExpressionPostfix.NONE) // additional feature for broadcast
scope += createExprFeature(ExpressionPostfix.BRACKETS)
}
Port case isReplicated/* fall through */,
SPP:
scope += createExprFeature(ExpressionPostfix.BRACKETS)
default:
- scope += createExprFeature
+ scope += createExprFeature(ExpressionPostfix.NONE)
}
]
- scope += actorClass.latestOperations.map[createExprFeature(ExpressionPostfix.PARENTHESES)]
- scope += actorClass.allAttributes.map[
- switch (size) {
- case size > 1: createExprFeature(ExpressionPostfix.BRACKETS)
- default: createExprFeature
- }]
return scope
}
@@ -64,29 +61,27 @@ class DefaultDetailExpressionProvider extends GuardDetailExpressionProvider {
switch obj : ctx.data {
Port case obj.multiplicity == 1/* fall through */,
SAP: scope +=
- obj.protocol.getAllOperations(!obj.conjugated).map[createExprFeature(ExpressionPostfix.PARENTHESES)]
+ obj.protocol.getAllOperations(!obj.conjugated).map[createExprFeature]
}
switch obj : ctx.data {
InterfaceItem: {
val pc = obj.protocol
switch pc.commType {
case EVENT_DRIVEN:
- scope += pc.getAllMessages(obj.conjugated).map[createExprFeature(ExpressionPostfix.PARENTHESES)]
+ scope += pc.getAllMessages(obj.conjugated).map[createExprFeature]
case DATA_DRIVEN:
if (obj.conjugated)
- scope += pc.allIncomingMessages.map[createExprFeature(ExpressionPostfix.PARENTHESES)]
- else
scope += pc.allIncomingMessages.map[createExprFeature]
- case SYNCHRONOUS: {
- }
+ else
+ scope += pc.allIncomingMessages.map[createExprFeature(ExpressionPostfix.NONE)] // data message has no Parenthesis
+ case SYNCHRONOUS: {}
}
// TODO Attributes ?
}
Attribute case obj.type.type instanceof DataClass: {
val dc = obj.type.type as DataClass
- scope += dc.allAttributes.map[
- if(size > 1) createExprFeature(ExpressionPostfix.BRACKETS) else createExprFeature]
+ scope += dc.allAttributes.map[createExprFeature]
// not supported yet by code translation:
// scope += dc.latestOperations.map[createExprFeature(ExpressionPostfix.PARENTHESES)]
}
diff --git a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.xtend b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.xtend
index 955af89bf..f37993328 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.xtend
+++ b/plugins/org.eclipse.etrice.ui.behavior/src/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.xtend
@@ -31,6 +31,9 @@ import org.eclipse.xtext.util.SimpleAttributeResolver
import static extension org.eclipse.xtend.lib.annotations.AccessorType.*
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
+import org.eclipse.etrice.core.room.SAP
+import org.eclipse.etrice.core.room.Operation
+import org.eclipse.etrice.core.room.Message
/**
* Defines expression for fsm guards of an ActorClass
@@ -53,19 +56,16 @@ class GuardDetailExpressionProvider implements IDetailExpressionProvider {
override getInitialFeatures() {
val List<ExpressionFeature> scope = newArrayList
- if(transitionEventData != null)
- scope += createExprFeature(transitionEventData)
- scope += actorClass.allInterfaceItems.filter[isDataDriven && !isConjugated].map[
+ if(transitionEventData != null) {
+ scope += transitionEventData.createExprFeature(ExpressionPostfix.NONE)
+ }
+ scope += actorClass.allInterfaceItems.filter[isEventDriven || !isConjugated].map[
switch it {
Port case isReplicated: createExprFeature(ExpressionPostfix.BRACKETS)
- default: createExprFeature
- }]
- scope += actorClass.latestOperations.map[createExprFeature(ExpressionPostfix.PARENTHESES)]
- scope += actorClass.allAttributes.map[
- switch (size) {
- case size > 1: createExprFeature(ExpressionPostfix.BRACKETS)
- default: createExprFeature
- }]
+ default: createExprFeature(ExpressionPostfix.NONE)
+ }]
+ scope += actorClass.latestOperations.map[createExprFeature]
+ scope += actorClass.allAttributes.map[createExprFeature]
return scope
}
@@ -75,27 +75,46 @@ class GuardDetailExpressionProvider implements IDetailExpressionProvider {
val List<ExpressionFeature> scope = newArrayList
switch obj : ctx.data {
+ Port case obj.multiplicity == 1/* fall through */,
+ SAP: scope +=
+ obj.protocol.getAllOperations(!obj.conjugated).map[createExprFeature]
+ }
+ switch obj : ctx.data {
InterfaceItem: {
val pc = obj.protocol
switch pc.commType {
case DATA_DRIVEN:
- if (!obj.conjugated)
- scope += pc.allIncomingMessages.map[createExprFeature]
+ if (!obj.conjugated) scope += pc.allIncomingMessages.map[createExprFeature]
+ case EVENT_DRIVEN: { /* no async message calls */}
+ case SYNCHRONOUS: {}
}
}
Attribute case obj.type.type instanceof DataClass: {
val dc = obj.type.type as DataClass
- scope += dc.allAttributes.map[
- if(size > 1) createExprFeature(ExpressionPostfix.BRACKETS) else createExprFeature]
- scope += dc.latestOperations.map[createExprFeature(ExpressionPostfix.PARENTHESES)]
+ scope += dc.allAttributes.map[createExprFeature]
+ scope += dc.latestOperations.map[createExprFeature]
}
}
return scope
}
-
- def protected createExprFeature(EObject eObj) {
- createExprFeature(eObj, ExpressionPostfix.NONE)
+
+ def ExpressionFeature createExprFeature(Operation it){
+ // assuming all operations have parenthesis
+ createExprFeature(ExpressionPostfix.PARENTHESES)
+ }
+
+ def ExpressionFeature createExprFeature(Message it){
+ // assuming all message have parenthesis
+ createExprFeature(ExpressionPostfix.PARENTHESES)
+ }
+
+ def ExpressionFeature createExprFeature(Attribute it){
+ // assuming all attributes have brackets or not depending on size
+ switch (size) {
+ case size > 1: createExprFeature(ExpressionPostfix.BRACKETS)
+ default: createExprFeature(ExpressionPostfix.NONE)
+ }
}
def protected createExprFeature(EObject eObj, ExpressionPostfix postfix) {
diff --git a/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.java b/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.java
index 81e83705e..1d525ac74 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/DefaultDetailExpressionProvider.java
@@ -13,6 +13,7 @@ package org.eclipse.etrice.ui.behavior.detailcode;
import com.google.common.base.Objects;
import com.google.common.collect.Iterables;
import java.util.List;
+import java.util.function.Consumer;
import org.eclipse.etrice.core.room.ActorClass;
import org.eclipse.etrice.core.room.Attribute;
import org.eclipse.etrice.core.room.CommunicationType;
@@ -32,9 +33,7 @@ import org.eclipse.etrice.ui.behavior.fsm.detailcode.IDetailExpressionProvider;
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor;
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
-import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.eclipse.xtext.xbase.lib.ListExtensions;
-import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
/**
* Defines expression for fsm detail code of an ActorClass
@@ -47,13 +46,31 @@ public class DefaultDetailExpressionProvider extends GuardDetailExpressionProvid
final List<IDetailExpressionProvider.ExpressionFeature> scope = CollectionLiterals.<IDetailExpressionProvider.ExpressionFeature>newArrayList();
boolean _notEquals = (!Objects.equal(this.transitionEventData, null));
if (_notEquals) {
- IDetailExpressionProvider.ExpressionFeature _createExprFeature = this.createExprFeature(this.transitionEventData);
+ IDetailExpressionProvider.ExpressionFeature _createExprFeature = this.createExprFeature(this.transitionEventData, IDetailExpressionProvider.ExpressionPostfix.NONE);
scope.add(_createExprFeature);
}
+ List<StandardOperation> _latestOperations = this.roomHelpers.getLatestOperations(this.actorClass);
+ final Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature> _function = new Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature>() {
+ @Override
+ public IDetailExpressionProvider.ExpressionFeature apply(final StandardOperation it) {
+ return DefaultDetailExpressionProvider.this.createExprFeature(it);
+ }
+ };
+ List<IDetailExpressionProvider.ExpressionFeature> _map = ListExtensions.<StandardOperation, IDetailExpressionProvider.ExpressionFeature>map(_latestOperations, _function);
+ Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map);
+ List<Attribute> _allAttributes = this.roomHelpers.getAllAttributes(this.actorClass);
+ final Function1<Attribute, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<Attribute, IDetailExpressionProvider.ExpressionFeature>() {
+ @Override
+ public IDetailExpressionProvider.ExpressionFeature apply(final Attribute it) {
+ return DefaultDetailExpressionProvider.this.createExprFeature(it);
+ }
+ };
+ List<IDetailExpressionProvider.ExpressionFeature> _map_1 = ListExtensions.<Attribute, IDetailExpressionProvider.ExpressionFeature>map(_allAttributes, _function_1);
+ Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_1);
List<InterfaceItem> _allInterfaceItems = this.roomHelpers.getAllInterfaceItems(this.actorClass);
- final Procedure1<InterfaceItem> _function = new Procedure1<InterfaceItem>() {
+ final Consumer<InterfaceItem> _function_2 = new Consumer<InterfaceItem>() {
@Override
- public void apply(final InterfaceItem it) {
+ public void accept(final InterfaceItem it) {
boolean _matched = false;
if (it instanceof SPP) {
boolean _isEventDriven = ((SPP)it).isEventDriven();
@@ -69,7 +86,7 @@ public class DefaultDetailExpressionProvider extends GuardDetailExpressionProvid
}
}
if (_matched) {
- IDetailExpressionProvider.ExpressionFeature _createExprFeature = DefaultDetailExpressionProvider.this.createExprFeature(it);
+ IDetailExpressionProvider.ExpressionFeature _createExprFeature = DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.NONE);
scope.add(_createExprFeature);
IDetailExpressionProvider.ExpressionFeature _createExprFeature_1 = DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
scope.add(_createExprFeature_1);
@@ -92,42 +109,12 @@ public class DefaultDetailExpressionProvider extends GuardDetailExpressionProvid
}
}
if (!_matched) {
- IDetailExpressionProvider.ExpressionFeature _createExprFeature_3 = DefaultDetailExpressionProvider.this.createExprFeature(it);
+ IDetailExpressionProvider.ExpressionFeature _createExprFeature_3 = DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.NONE);
scope.add(_createExprFeature_3);
}
}
};
- IterableExtensions.<InterfaceItem>forEach(_allInterfaceItems, _function);
- List<StandardOperation> _latestOperations = this.roomHelpers.getLatestOperations(this.actorClass);
- final Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature>() {
- @Override
- public IDetailExpressionProvider.ExpressionFeature apply(final StandardOperation it) {
- return DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
- }
- };
- List<IDetailExpressionProvider.ExpressionFeature> _map = ListExtensions.<StandardOperation, IDetailExpressionProvider.ExpressionFeature>map(_latestOperations, _function_1);
- Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map);
- List<Attribute> _allAttributes = this.roomHelpers.getAllAttributes(this.actorClass);
- final Function1<Attribute, IDetailExpressionProvider.ExpressionFeature> _function_2 = new Function1<Attribute, IDetailExpressionProvider.ExpressionFeature>() {
- @Override
- public IDetailExpressionProvider.ExpressionFeature apply(final Attribute it) {
- IDetailExpressionProvider.ExpressionFeature _switchResult = null;
- int _size = it.getSize();
- boolean _matched = false;
- int _size_1 = it.getSize();
- boolean _greaterThan = (_size_1 > 1);
- if (_greaterThan) {
- _matched=true;
- _switchResult = DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
- }
- if (!_matched) {
- _switchResult = DefaultDetailExpressionProvider.this.createExprFeature(it);
- }
- return _switchResult;
- }
- };
- List<IDetailExpressionProvider.ExpressionFeature> _map_1 = ListExtensions.<Attribute, IDetailExpressionProvider.ExpressionFeature>map(_allAttributes, _function_2);
- Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_1);
+ _allInterfaceItems.forEach(_function_2);
return scope;
}
@@ -158,7 +145,7 @@ public class DefaultDetailExpressionProvider extends GuardDetailExpressionProvid
final Function1<PortOperation, IDetailExpressionProvider.ExpressionFeature> _function = new Function1<PortOperation, IDetailExpressionProvider.ExpressionFeature>() {
@Override
public IDetailExpressionProvider.ExpressionFeature apply(final PortOperation it) {
- return DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
+ return DefaultDetailExpressionProvider.this.createExprFeature(it);
}
};
List<IDetailExpressionProvider.ExpressionFeature> _map = ListExtensions.<PortOperation, IDetailExpressionProvider.ExpressionFeature>map(_allOperations, _function);
@@ -179,7 +166,7 @@ public class DefaultDetailExpressionProvider extends GuardDetailExpressionProvid
final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
@Override
public IDetailExpressionProvider.ExpressionFeature apply(final Message it) {
- return DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
+ return DefaultDetailExpressionProvider.this.createExprFeature(it);
}
};
List<IDetailExpressionProvider.ExpressionFeature> _map_1 = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allMessages, _function_1);
@@ -192,7 +179,7 @@ public class DefaultDetailExpressionProvider extends GuardDetailExpressionProvid
final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function_2 = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
@Override
public IDetailExpressionProvider.ExpressionFeature apply(final Message it) {
- return DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
+ return DefaultDetailExpressionProvider.this.createExprFeature(it);
}
};
List<IDetailExpressionProvider.ExpressionFeature> _map_2 = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allIncomingMessages, _function_2);
@@ -202,7 +189,7 @@ public class DefaultDetailExpressionProvider extends GuardDetailExpressionProvid
final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function_3 = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
@Override
public IDetailExpressionProvider.ExpressionFeature apply(final Message it) {
- return DefaultDetailExpressionProvider.this.createExprFeature(it);
+ return DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.NONE);
}
};
List<IDetailExpressionProvider.ExpressionFeature> _map_3 = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allIncomingMessages_1, _function_3);
@@ -229,15 +216,7 @@ public class DefaultDetailExpressionProvider extends GuardDetailExpressionProvid
final Function1<Attribute, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<Attribute, IDetailExpressionProvider.ExpressionFeature>() {
@Override
public IDetailExpressionProvider.ExpressionFeature apply(final Attribute it) {
- IDetailExpressionProvider.ExpressionFeature _xifexpression = null;
- int _size = it.getSize();
- boolean _greaterThan = (_size > 1);
- if (_greaterThan) {
- _xifexpression = DefaultDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
- } else {
- _xifexpression = DefaultDetailExpressionProvider.this.createExprFeature(it);
- }
- return _xifexpression;
+ return DefaultDetailExpressionProvider.this.createExprFeature(it);
}
};
List<IDetailExpressionProvider.ExpressionFeature> _map_1 = ListExtensions.<Attribute, IDetailExpressionProvider.ExpressionFeature>map(_allAttributes, _function_1);
diff --git a/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.java b/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.java
index b5c88cfa5..14360cd58 100644
--- a/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.java
+++ b/plugins/org.eclipse.etrice.ui.behavior/xtend-gen/org/eclipse/etrice/ui/behavior/detailcode/GuardDetailExpressionProvider.java
@@ -24,9 +24,12 @@ import org.eclipse.etrice.core.room.DataClass;
import org.eclipse.etrice.core.room.DataType;
import org.eclipse.etrice.core.room.InterfaceItem;
import org.eclipse.etrice.core.room.Message;
+import org.eclipse.etrice.core.room.Operation;
import org.eclipse.etrice.core.room.Port;
+import org.eclipse.etrice.core.room.PortOperation;
import org.eclipse.etrice.core.room.ProtocolClass;
import org.eclipse.etrice.core.room.RefableType;
+import org.eclipse.etrice.core.room.SAP;
import org.eclipse.etrice.core.room.StandardOperation;
import org.eclipse.etrice.core.room.VarDecl;
import org.eclipse.etrice.core.room.util.RoomHelpers;
@@ -67,14 +70,14 @@ public class GuardDetailExpressionProvider implements IDetailExpressionProvider
final List<IDetailExpressionProvider.ExpressionFeature> scope = CollectionLiterals.<IDetailExpressionProvider.ExpressionFeature>newArrayList();
boolean _notEquals = (!Objects.equal(this.transitionEventData, null));
if (_notEquals) {
- IDetailExpressionProvider.ExpressionFeature _createExprFeature = this.createExprFeature(this.transitionEventData);
+ IDetailExpressionProvider.ExpressionFeature _createExprFeature = this.createExprFeature(this.transitionEventData, IDetailExpressionProvider.ExpressionPostfix.NONE);
scope.add(_createExprFeature);
}
List<InterfaceItem> _allInterfaceItems = this.roomHelpers.getAllInterfaceItems(this.actorClass);
final Function1<InterfaceItem, Boolean> _function = new Function1<InterfaceItem, Boolean>() {
@Override
public Boolean apply(final InterfaceItem it) {
- return Boolean.valueOf((GuardDetailExpressionProvider.this.roomHelpers.isDataDriven(it) && (!GuardDetailExpressionProvider.this.roomHelpers.isConjugated(it))));
+ return Boolean.valueOf((it.isEventDriven() || (!GuardDetailExpressionProvider.this.roomHelpers.isConjugated(it))));
}
};
Iterable<InterfaceItem> _filter = IterableExtensions.<InterfaceItem>filter(_allInterfaceItems, _function);
@@ -91,7 +94,7 @@ public class GuardDetailExpressionProvider implements IDetailExpressionProvider
}
}
if (!_matched) {
- _switchResult = GuardDetailExpressionProvider.this.createExprFeature(it);
+ _switchResult = GuardDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.NONE);
}
return _switchResult;
}
@@ -102,7 +105,7 @@ public class GuardDetailExpressionProvider implements IDetailExpressionProvider
final Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature> _function_2 = new Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature>() {
@Override
public IDetailExpressionProvider.ExpressionFeature apply(final StandardOperation it) {
- return GuardDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
+ return GuardDetailExpressionProvider.this.createExprFeature(it);
}
};
List<IDetailExpressionProvider.ExpressionFeature> _map_1 = ListExtensions.<StandardOperation, IDetailExpressionProvider.ExpressionFeature>map(_latestOperations, _function_2);
@@ -111,19 +114,7 @@ public class GuardDetailExpressionProvider implements IDetailExpressionProvider
final Function1<Attribute, IDetailExpressionProvider.ExpressionFeature> _function_3 = new Function1<Attribute, IDetailExpressionProvider.ExpressionFeature>() {
@Override
public IDetailExpressionProvider.ExpressionFeature apply(final Attribute it) {
- IDetailExpressionProvider.ExpressionFeature _switchResult = null;
- int _size = it.getSize();
- boolean _matched = false;
- int _size_1 = it.getSize();
- boolean _greaterThan = (_size_1 > 1);
- if (_greaterThan) {
- _matched=true;
- _switchResult = GuardDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
- }
- if (!_matched) {
- _switchResult = GuardDetailExpressionProvider.this.createExprFeature(it);
- }
- return _switchResult;
+ return GuardDetailExpressionProvider.this.createExprFeature(it);
}
};
List<IDetailExpressionProvider.ExpressionFeature> _map_2 = ListExtensions.<Attribute, IDetailExpressionProvider.ExpressionFeature>map(_allAttributes, _function_3);
@@ -138,75 +129,120 @@ public class GuardDetailExpressionProvider implements IDetailExpressionProvider
Object _data = ctx.getData();
final Object obj = _data;
boolean _matched = false;
- if (obj instanceof InterfaceItem) {
- _matched=true;
- final ProtocolClass pc = this.roomHelpers.getProtocol(((InterfaceItem)obj));
+ if (obj instanceof Port) {
+ int _multiplicity = ((Port)obj).getMultiplicity();
+ boolean _equals = (_multiplicity == 1);
+ if (_equals) {
+ _matched=true;
+ }
+ }
+ if (!_matched) {
+ if (obj instanceof SAP) {
+ _matched=true;
+ }
+ }
+ if (_matched) {
+ ProtocolClass _protocol = this.roomHelpers.getProtocol(((InterfaceItem)obj));
+ boolean _isConjugated = this.roomHelpers.isConjugated(((InterfaceItem)obj));
+ boolean _not = (!_isConjugated);
+ List<PortOperation> _allOperations = this.roomHelpers.getAllOperations(_protocol, _not);
+ final Function1<PortOperation, IDetailExpressionProvider.ExpressionFeature> _function = new Function1<PortOperation, IDetailExpressionProvider.ExpressionFeature>() {
+ @Override
+ public IDetailExpressionProvider.ExpressionFeature apply(final PortOperation it) {
+ return GuardDetailExpressionProvider.this.createExprFeature(it);
+ }
+ };
+ List<IDetailExpressionProvider.ExpressionFeature> _map = ListExtensions.<PortOperation, IDetailExpressionProvider.ExpressionFeature>map(_allOperations, _function);
+ Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map);
+ }
+ Object _data_1 = ctx.getData();
+ final Object obj_1 = _data_1;
+ boolean _matched_1 = false;
+ if (obj_1 instanceof InterfaceItem) {
+ _matched_1=true;
+ final ProtocolClass pc = this.roomHelpers.getProtocol(((InterfaceItem)obj_1));
CommunicationType _commType = pc.getCommType();
if (_commType != null) {
switch (_commType) {
case DATA_DRIVEN:
- boolean _isConjugated = this.roomHelpers.isConjugated(((InterfaceItem)obj));
- boolean _not = (!_isConjugated);
- if (_not) {
+ boolean _isConjugated_1 = this.roomHelpers.isConjugated(((InterfaceItem)obj_1));
+ boolean _not_1 = (!_isConjugated_1);
+ if (_not_1) {
List<Message> _allIncomingMessages = this.roomHelpers.getAllIncomingMessages(pc);
- final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
+ final Function1<Message, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<Message, IDetailExpressionProvider.ExpressionFeature>() {
@Override
public IDetailExpressionProvider.ExpressionFeature apply(final Message it) {
return GuardDetailExpressionProvider.this.createExprFeature(it);
}
};
- List<IDetailExpressionProvider.ExpressionFeature> _map = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allIncomingMessages, _function);
- Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map);
+ List<IDetailExpressionProvider.ExpressionFeature> _map_1 = ListExtensions.<Message, IDetailExpressionProvider.ExpressionFeature>map(_allIncomingMessages, _function_1);
+ Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_1);
}
break;
+ case EVENT_DRIVEN:
+ break;
+ case SYNCHRONOUS:
+ break;
default:
break;
}
}
}
- if (!_matched) {
- if (obj instanceof Attribute) {
- RefableType _type = ((Attribute)obj).getType();
+ if (!_matched_1) {
+ if (obj_1 instanceof Attribute) {
+ RefableType _type = ((Attribute)obj_1).getType();
DataType _type_1 = _type.getType();
if ((_type_1 instanceof DataClass)) {
- _matched=true;
- RefableType _type_2 = ((Attribute)obj).getType();
+ _matched_1=true;
+ RefableType _type_2 = ((Attribute)obj_1).getType();
DataType _type_3 = _type_2.getType();
final DataClass dc = ((DataClass) _type_3);
List<Attribute> _allAttributes = this.roomHelpers.getAllAttributes(dc);
- final Function1<Attribute, IDetailExpressionProvider.ExpressionFeature> _function = new Function1<Attribute, IDetailExpressionProvider.ExpressionFeature>() {
+ final Function1<Attribute, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<Attribute, IDetailExpressionProvider.ExpressionFeature>() {
@Override
public IDetailExpressionProvider.ExpressionFeature apply(final Attribute it) {
- IDetailExpressionProvider.ExpressionFeature _xifexpression = null;
- int _size = it.getSize();
- boolean _greaterThan = (_size > 1);
- if (_greaterThan) {
- _xifexpression = GuardDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
- } else {
- _xifexpression = GuardDetailExpressionProvider.this.createExprFeature(it);
- }
- return _xifexpression;
+ return GuardDetailExpressionProvider.this.createExprFeature(it);
}
};
- List<IDetailExpressionProvider.ExpressionFeature> _map = ListExtensions.<Attribute, IDetailExpressionProvider.ExpressionFeature>map(_allAttributes, _function);
- Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map);
+ List<IDetailExpressionProvider.ExpressionFeature> _map_1 = ListExtensions.<Attribute, IDetailExpressionProvider.ExpressionFeature>map(_allAttributes, _function_1);
+ Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_1);
List<StandardOperation> _latestOperations = this.roomHelpers.getLatestOperations(dc);
- final Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature> _function_1 = new Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature>() {
+ final Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature> _function_2 = new Function1<StandardOperation, IDetailExpressionProvider.ExpressionFeature>() {
@Override
public IDetailExpressionProvider.ExpressionFeature apply(final StandardOperation it) {
- return GuardDetailExpressionProvider.this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
+ return GuardDetailExpressionProvider.this.createExprFeature(it);
}
};
- List<IDetailExpressionProvider.ExpressionFeature> _map_1 = ListExtensions.<StandardOperation, IDetailExpressionProvider.ExpressionFeature>map(_latestOperations, _function_1);
- Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_1);
+ List<IDetailExpressionProvider.ExpressionFeature> _map_2 = ListExtensions.<StandardOperation, IDetailExpressionProvider.ExpressionFeature>map(_latestOperations, _function_2);
+ Iterables.<IDetailExpressionProvider.ExpressionFeature>addAll(scope, _map_2);
}
}
}
return scope;
}
- protected IDetailExpressionProvider.ExpressionFeature createExprFeature(final EObject eObj) {
- return this.createExprFeature(eObj, IDetailExpressionProvider.ExpressionPostfix.NONE);
+ public IDetailExpressionProvider.ExpressionFeature createExprFeature(final Operation it) {
+ return this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
+ }
+
+ public IDetailExpressionProvider.ExpressionFeature createExprFeature(final Message it) {
+ return this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.PARENTHESES);
+ }
+
+ public IDetailExpressionProvider.ExpressionFeature createExprFeature(final Attribute it) {
+ IDetailExpressionProvider.ExpressionFeature _switchResult = null;
+ int _size = it.getSize();
+ boolean _matched = false;
+ int _size_1 = it.getSize();
+ boolean _greaterThan = (_size_1 > 1);
+ if (_greaterThan) {
+ _matched=true;
+ _switchResult = this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.BRACKETS);
+ }
+ if (!_matched) {
+ _switchResult = this.createExprFeature(it, IDetailExpressionProvider.ExpressionPostfix.NONE);
+ }
+ return _switchResult;
}
protected IDetailExpressionProvider.ExpressionFeature createExprFeature(final EObject eObj, final IDetailExpressionProvider.ExpressionPostfix postfix) {

Back to the top