Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/AbstractExecutionValidator.java')
-rw-r--r--plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/AbstractExecutionValidator.java63
1 files changed, 30 insertions, 33 deletions
diff --git a/plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/AbstractExecutionValidator.java b/plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/AbstractExecutionValidator.java
index ac7dcc112..ae8dc70a6 100644
--- a/plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/AbstractExecutionValidator.java
+++ b/plugins/org.eclipse.etrice.abstractexec.behavior/src/org/eclipse/etrice/abstractexec/behavior/AbstractExecutionValidator.java
@@ -23,22 +23,20 @@ import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.etrice.abstractexec.behavior.util.AbstractExecutionUtil;
import org.eclipse.etrice.core.common.validation.ICustomValidator;
-import org.eclipse.etrice.core.genmodel.base.NullDiagnostician;
-import org.eclipse.etrice.core.genmodel.base.NullLogger;
-import org.eclipse.etrice.core.genmodel.builder.GeneratorModelBuilder;
-import org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass;
-import org.eclipse.etrice.core.genmodel.fsm.fsmgen.ActiveTrigger;
-import org.eclipse.etrice.core.room.ActorClass;
+import org.eclipse.etrice.core.fsm.fSM.AbstractInterfaceItem;
import org.eclipse.etrice.core.fsm.fSM.DetailCode;
-import org.eclipse.etrice.core.room.GeneralProtocolClass;
-import org.eclipse.etrice.core.room.InterfaceItem;
+import org.eclipse.etrice.core.fsm.fSM.FSMPackage;
import org.eclipse.etrice.core.fsm.fSM.MessageFromIf;
-import org.eclipse.etrice.core.room.ProtocolClass;
-import org.eclipse.etrice.core.room.RoomPackage;
+import org.eclipse.etrice.core.fsm.fSM.ModelComponent;
import org.eclipse.etrice.core.fsm.fSM.State;
import org.eclipse.etrice.core.fsm.fSM.StateGraphItem;
import org.eclipse.etrice.core.fsm.fSM.Trigger;
import org.eclipse.etrice.core.fsm.fSM.TriggeredTransition;
+import org.eclipse.etrice.core.genmodel.fsm.base.NullDiagnostician;
+import org.eclipse.etrice.core.genmodel.fsm.base.NullLogger;
+import org.eclipse.etrice.core.genmodel.fsm.builder.FSMGeneratorModelBuilder;
+import org.eclipse.etrice.core.genmodel.fsm.fsmgen.ActiveTrigger;
+import org.eclipse.etrice.core.genmodel.fsm.fsmgen.ExpandedModelComponent;
import org.eclipse.xtext.validation.ValidationMessageAcceptor;
/**
@@ -57,7 +55,7 @@ public class AbstractExecutionValidator implements ICustomValidator {
private static boolean traceExec = false;
private static String traceName = "";
static {
- classesToCheck.add(RoomPackage.Literals.ACTOR_CLASS);
+ classesToCheck.add(FSMPackage.Literals.MODEL_COMPONENT);
if (Activator.getDefault() != null && Activator.getDefault().isDebugging()) {
String value = Platform
@@ -74,19 +72,19 @@ public class AbstractExecutionValidator implements ICustomValidator {
public void validate(EObject object,
ValidationMessageAcceptor messageAcceptor, ICustomValidator.ValidationContext context) {
- if (!(object instanceof ActorClass))
+ if (!(object instanceof ModelComponent))
return;
if(context.isGeneration())
return;
- ActorClass ac = (ActorClass) object;
+ ModelComponent ac = (ModelComponent) object;
if (traceExec) {
- if (!(traceName.isEmpty() || ac.getName().equals(traceName)))
+ if (!(traceName.isEmpty() || ac.getComponentName().equals(traceName)))
return;
System.out.println("AbstractExecutionValidator checking class "
- + ac.getName());
+ + ac.getComponentName());
}
if (ac.isAbstract())
@@ -97,21 +95,14 @@ public class AbstractExecutionValidator implements ICustomValidator {
return;
boolean oneProtocolsWithSemantics = false;
- List<InterfaceItem> ifItems = AbstractExecutionUtil.getInstance().getRoomHelpers().getAllInterfaceItems(ac);
- for (InterfaceItem item : ifItems) {
- GeneralProtocolClass pc = item.getGeneralProtocol();
- if (!(pc instanceof ProtocolClass))
- continue;
-
- if (traceExec)
- System.out.println(" Checking protocolClass " + pc.getName()
- + " for semantics");
- if (((ProtocolClass) pc).getSemantics() != null) {
+ List<AbstractInterfaceItem> ifItems = ac.getAllAbstractInterfaceItems();
+ for (AbstractInterfaceItem item : ifItems) {
+ if (item.getSemantics()!=null) {
oneProtocolsWithSemantics = true;
if (traceExec)
System.out
- .println(" Will execute because semantics defined for "
- + pc.getName());
+ .println(" Will execute because semantics defined for interface item "
+ + item.getName());
break;
}
}
@@ -120,9 +111,15 @@ public class AbstractExecutionValidator implements ICustomValidator {
if (traceExec)
System.out.println(" Reached where at least one interface items has semantics");
NullDiagnostician diagnostician = new NullDiagnostician();
- GeneratorModelBuilder builder = new GeneratorModelBuilder(
+ FSMGeneratorModelBuilder builder = new FSMGeneratorModelBuilder(
new NullLogger(), diagnostician);
- ExpandedActorClass xpac = builder.createExpandedActorClass(ac);
+ ExpandedModelComponent xpac;
+ try {
+ xpac = builder.createExpandedModelComponent(ac);
+ }
+ catch (Throwable t) {
+ return;
+ }
if (xpac != null && !diagnostician.isFailed()) {
SemanticsCheck checker = new SemanticsCheck(xpac);
@@ -130,7 +127,7 @@ public class AbstractExecutionValidator implements ICustomValidator {
if (traceExec)
System.out.println(" Rule checking for "
- + xpac.getActorClass().getName() + " is over");
+ + xpac.getModelComponent().getComponentName() + " is over");
TreeIterator<EObject> it = xpac.getStateMachine()
.eAllContents();
@@ -154,7 +151,7 @@ public class AbstractExecutionValidator implements ICustomValidator {
if (traceExec)
System.out
.println("AbstractExecutionValidator done checking class "
- + ac.getName());
+ + ac.getComponentName());
}
else
if(traceExec)
@@ -179,7 +176,7 @@ public class AbstractExecutionValidator implements ICustomValidator {
private void createMarkersForProposals(ProposalGenerator propGen,
ValidationMessageAcceptor messageAcceptor, State st,
- ExpandedActorClass xpac) {
+ ExpandedModelComponent xpac) {
List<MessageFromIf> incoming = propGen.getIncomingProposals();
EObject orig = xpac.getOrig(st);
EObject container = orig.eContainer();
@@ -210,7 +207,7 @@ public class AbstractExecutionValidator implements ICustomValidator {
private void createMarkersForWarnings(SemanticsCheck checker,
ValidationMessageAcceptor messageAcceptor, StateGraphItem item,
- ExpandedActorClass xpac) {
+ ExpandedModelComponent xpac) {
List<HandledMessage> warningList = checker.getWarningMsg(item);
if (traceExec && warningList != null) {
System.out.println("Messages in the warning list for item "

Back to the top