Skip to content

Commit 36a1d0e

Browse files
committed
Merge branch 'trace-addon-gettrace' into local-develop
2 parents 7154a96 + e7f9773 commit 36a1d0e

File tree

10 files changed

+131
-113
lines changed

10 files changed

+131
-113
lines changed

framework/framework_commons/plugins/org.eclipse.gemoc.executionframework.reflectivetrace.model/model/GemocExecutionEngineTrace.aird

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_lI8gAHWaEeapWYgy_5FVBA" selectedViews="_lo2IEHWaEeapWYgy_5FVBA _lpHN0HWaEeapWYgy_5FVBA _lpQXwHWaEeapWYgy_5FVBA _lphdgHWaEeapWYgy_5FVBA" version="10.1.0.201509162000">
33
<semanticResources>GemocExecutionEngineTrace.ecore</semanticResources>
4-
<semanticResources>platform:/resource/fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore</semanticResources>
4+
<semanticResources>platform:/resource/org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore</semanticResources>
55
<semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources>
66
<semanticResources>platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore</semanticResources>
77
<ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_lo2IEHWaEeapWYgy_5FVBA">
@@ -575,8 +575,8 @@
575575
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/>
576576
</ownedDiagramElements>
577577
<ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_2FYzAHWaEeapWYgy_5FVBA" name="MSEOccurrence" tooltipText="" incomingEdges="_2GHy0HWaEeapWYgy_5FVBA" width="12" height="10">
578-
<target xmi:type="ecore:EClass" href="platform:/resource/fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore#//MSEOccurrence"/>
579-
<semanticElements xmi:type="ecore:EClass" href="platform:/resource/fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore#//MSEOccurrence"/>
578+
<target xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore#//MSEOccurrence"/>
579+
<semanticElements xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore#//MSEOccurrence"/>
580580
<decorations xmi:type="viewpoint:Decoration" xmi:id="_2F5wYHWaEeapWYgy_5FVBA">
581581
<description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
582582
</decorations>
@@ -588,25 +588,25 @@
588588
</ownedStyle>
589589
<actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
590590
<ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_2FzpwHWaEeapWYgy_5FVBA" name="parameters : EJavaObject" tooltipText="">
591-
<target xmi:type="ecore:EAttribute" href="platform:/resource/fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore#//MSEOccurrence/parameters"/>
592-
<semanticElements xmi:type="ecore:EAttribute" href="platform:/resource/fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore#//MSEOccurrence/parameters"/>
591+
<target xmi:type="ecore:EAttribute" href="platform:/resource/org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore#//MSEOccurrence/parameters"/>
592+
<semanticElements xmi:type="ecore:EAttribute" href="platform:/resource/org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore#//MSEOccurrence/parameters"/>
593593
<ownedStyle xmi:type="diagram:BundledImage" xmi:id="_2F034HWaEeapWYgy_5FVBA" labelAlignment="LEFT">
594594
<description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
595595
</ownedStyle>
596596
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
597597
</ownedElements>
598598
<ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_2F1e8HWaEeapWYgy_5FVBA" name="result : EJavaObject" tooltipText="">
599-
<target xmi:type="ecore:EAttribute" href="platform:/resource/fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore#//MSEOccurrence/result"/>
600-
<semanticElements xmi:type="ecore:EAttribute" href="platform:/resource/fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore#//MSEOccurrence/result"/>
599+
<target xmi:type="ecore:EAttribute" href="platform:/resource/org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore#//MSEOccurrence/result"/>
600+
<semanticElements xmi:type="ecore:EAttribute" href="platform:/resource/org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore#//MSEOccurrence/result"/>
601601
<ownedStyle xmi:type="diagram:BundledImage" xmi:id="_2F2GAHWaEeapWYgy_5FVBA" labelAlignment="LEFT">
602602
<description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/>
603603
</ownedStyle>
604604
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
605605
</ownedElements>
606606
</ownedDiagramElements>
607607
<ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_2FbPQHWaEeapWYgy_5FVBA" name="Step" tooltipText="" outgoingEdges="_2GHy0HWaEeapWYgy_5FVBA" incomingEdges="_2GBsMHWaEeapWYgy_5FVBA _2GC6UHWaEeapWYgy_5FVBA" width="12" height="10">
608-
<target xmi:type="ecore:EClass" href="platform:/resource/fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore#//Step"/>
609-
<semanticElements xmi:type="ecore:EClass" href="platform:/resource/fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore#//Step"/>
608+
<target xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore#//Step"/>
609+
<semanticElements xmi:type="ecore:EClass" href="platform:/resource/org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore#//Step"/>
610610
<decorations xmi:type="viewpoint:Decoration" xmi:id="_2F5wYXWaEeapWYgy_5FVBA">
611611
<description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/>
612612
</decorations>
@@ -647,8 +647,8 @@
647647
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
648648
</ownedDiagramElements>
649649
<ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_2GHy0HWaEeapWYgy_5FVBA" name="[0..1] mseoccurrence" sourceNode="_2FbPQHWaEeapWYgy_5FVBA" targetNode="_2FYzAHWaEeapWYgy_5FVBA">
650-
<target xmi:type="ecore:EReference" href="platform:/resource/fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore#//Step/mseoccurrence"/>
651-
<semanticElements xmi:type="ecore:EReference" href="platform:/resource/fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore#//Step/mseoccurrence"/>
650+
<target xmi:type="ecore:EReference" href="platform:/resource/org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore#//Step/mseoccurrence"/>
651+
<semanticElements xmi:type="ecore:EReference" href="platform:/resource/org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore#//Step/mseoccurrence"/>
652652
<ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_2GMrUHWaEeapWYgy_5FVBA" description="_nw6AwHWaEeapWYgy_5FVBA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
653653
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_2GMrUXWaEeapWYgy_5FVBA" showIcon="false">
654654
<customFeatures>labelSize</customFeatures>

framework/framework_commons/plugins/org.eclipse.gemoc.executionframework.reflectivetrace.model/model/GemocExecutionEngineTrace.ecore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
<eStructuralFeatures xsi:type="ecore:EReference" name="nextChoices" upperBound="-1"
77
eType="#//Choice" eOpposite="#//Choice/previousChoice"/>
88
<eStructuralFeatures xsi:type="ecore:EReference" name="possibleLogicalSteps" upperBound="-1"
9-
eType="ecore:EClass ../../fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore#//Step"
9+
eType="ecore:EClass ../../org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore#//Step"
1010
containment="true"/>
11-
<eStructuralFeatures xsi:type="ecore:EReference" name="chosenLogicalStep" eType="ecore:EClass ../../fr.inria.diverse.trace.commons.model/model/GenericTrace.ecore#//Step"/>
11+
<eStructuralFeatures xsi:type="ecore:EReference" name="chosenLogicalStep" eType="ecore:EClass ../../org.eclipse.gemoc.trace.commons.model/model/GenericTrace.ecore#//Step"/>
1212
<eStructuralFeatures xsi:type="ecore:EReference" name="contextState" eType="#//ContextState"
1313
containment="true" eOpposite="#//ContextState/choice"/>
1414
<eStructuralFeatures xsi:type="ecore:EReference" name="previousChoice" eType="#//Choice"

framework/framework_commons/plugins/org.eclipse.gemoc.executionframework.reflectivetrace.model/model/GemocExecutionEngineTrace.genmodel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.gemoc.executionframework.reflectivetrace.model/src"
44
modelPluginID="org.gemoc.executionframework.reflectivetrace.model" modelName="GemocExecutionEngineTrace"
55
rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" importerID="org.eclipse.emf.importer.ecore"
6-
complianceLevel="8.0" copyrightFields="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../fr.inria.diverse.trace.commons.model/model/GenericTrace.genmodel#//trace"
6+
complianceLevel="8.0" copyrightFields="false" usedGenPackages="../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.gemoc.trace.commons.model/model/GenericTrace.genmodel#//trace"
77
operationReflection="true" importOrganizing="true">
88
<foreignModel>GemocExecutionEngineTrace.ecore</foreignModel>
99
<genPackages prefix="Gemoc_execution_trace" basePackage="org.gemoc.executionframework.reflectivetrace"

java_execution/java_engine/tests/org.eclipse.gemoc.execution.sequential.javaengine.tests/JavaEngineTests.launch

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

trace/commons/plugins/org.eclipse.gemoc.trace.commons/src/org/eclipse/gemoc/trace/commons/EMFCompareUtil.xtend

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* are made available under the terms of the Eclipse Public License v1.0
55
* which accompanies this distribution, and is available at
66
* http://www.eclipse.org/legal/epl-v10.html
7-
*
7+
*
88
* Contributors:
99
* Inria - initial API and implementation
1010
*******************************************************************************/
@@ -22,22 +22,27 @@ import static org.junit.Assert.*
2222

2323
class EMFCompareUtil {
2424

25-
public def static void assertEqualsEMF(String message, EObject rootCurrent, EObject rootExpected) {
26-
val DefaultComparisonScope _defaultComparisonScope = new DefaultComparisonScope(rootCurrent, rootExpected, null);
25+
public def static List<Diff> compare(EObject rootCurrent, EObject rootExpected) {
26+
val DefaultComparisonScope _defaultComparisonScope = new DefaultComparisonScope(rootCurrent, rootExpected,
27+
null);
2728
val IComparisonScope scope = _defaultComparisonScope;
2829
val _builder = EMFCompare.builder();
2930
val EMFCompare _build = _builder.build();
3031
val Comparison comparison = _build.compare(scope);
31-
val List<Diff> differences = comparison.getDifferences();
32+
return comparison.differences
33+
34+
}
35+
36+
public def static void assertEqualsEMF(String message, EObject rootCurrent, EObject rootExpected) {
37+
val List<Diff> differences = compare(rootCurrent, rootExpected);
3238
for (d : differences) {
3339
val String _string = d.toString();
3440
val String _plus = ("Checking:[" + _string);
3541
val String _plus_1 = (_plus + "]");
3642
val DifferenceKind _kind = d.getKind();
3743
println(_plus_1)
38-
assertEquals(message+" - "+_plus_1, DifferenceKind.MOVE, _kind);
44+
assertEquals(message + " - " + _plus_1, DifferenceKind.MOVE, _kind);
3945
}
40-
4146
}
4247

4348
}

trace/commons/plugins/org.eclipse.gemoc.trace.gemoc.api/src/org/eclipse/gemoc/trace/gemoc/api/IMultiDimensionalTraceAddon.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212

1313
import org.eclipse.emf.ecore.EObject;
1414
import org.eclipse.emf.ecore.resource.Resource;
15-
import org.eclipse.gemoc.xdsmlframework.api.engine_addon.IEngineAddon;
16-
1715
import org.eclipse.gemoc.trace.commons.model.trace.Dimension;
1816
import org.eclipse.gemoc.trace.commons.model.trace.State;
1917
import org.eclipse.gemoc.trace.commons.model.trace.Step;
18+
import org.eclipse.gemoc.trace.commons.model.trace.Trace;
2019
import org.eclipse.gemoc.trace.commons.model.trace.TracedObject;
2120
import org.eclipse.gemoc.trace.commons.model.trace.Value;
21+
import org.eclipse.gemoc.xdsmlframework.api.engine_addon.IEngineAddon;
2222

2323
public interface IMultiDimensionalTraceAddon<StepSubType extends Step<?>, StateSubType extends State<?,?>, TracedObjectSubType extends TracedObject<?>, DimensionSubType extends Dimension<?>, ValueSubType extends Value<?>> extends IEngineAddon {
2424

@@ -35,4 +35,6 @@ public interface IMultiDimensionalTraceAddon<StepSubType extends Step<?>, StateS
3535
void load(Resource traceResource);
3636

3737
boolean isAddonForTrace(EObject traceRoot);
38+
39+
Trace<?,?,?> getTrace();
3840
}

trace/generator/plugins/org.eclipse.gemoc.trace.gemoc/src/org/eclipse/gemoc/trace/gemoc/traceaddon/AbstractTraceAddon.xtend

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* are made available under the terms of the Eclipse Public License v1.0
55
* which accompanies this distribution, and is available at
66
* http://www.eclipse.org/legal/epl-v10.html
7-
*
7+
*
88
* Contributors:
99
* Inria - initial API and implementation
1010
*******************************************************************************/
@@ -46,21 +46,23 @@ import org.eclipse.gemoc.xdsmlframework.api.engine_addon.IEngineAddon
4646
import org.eclipse.gemoc.xdsmlframework.api.engine_addon.modelchangelistener.BatchModelChangeListener
4747
import org.eclipse.gemoc.xdsmlframework.api.extensions.engine_addon.EngineAddonSpecificationExtensionPoint
4848

49-
abstract class AbstractTraceAddon extends DefaultEngineAddon implements IMultiDimensionalTraceAddon<Step<?>, State<?,?>, TracedObject<?>, Dimension<?>, Value<?>> {
49+
abstract class AbstractTraceAddon extends DefaultEngineAddon implements IMultiDimensionalTraceAddon<Step<?>, State<?, ?>, TracedObject<?>, Dimension<?>, Value<?>> {
5050

5151
private IExecutionContext _executionContext
52-
private ITraceExplorer<Step<?>, State<?,?>, TracedObject<?>, Dimension<?>, Value<?>> traceExplorer
53-
private ITraceExtractor<Step<?>, State<?,?>, TracedObject<?>, Dimension<?>, Value<?>> traceExtractor
52+
private ITraceExplorer<Step<?>, State<?, ?>, TracedObject<?>, Dimension<?>, Value<?>> traceExplorer
53+
private ITraceExtractor<Step<?>, State<?, ?>, TracedObject<?>, Dimension<?>, Value<?>> traceExtractor
5454
private ITraceConstructor traceConstructor
5555
private ITraceNotifier traceNotifier
5656
private BatchModelChangeListener traceListener
57-
private boolean shouldSave = true
5857
private var boolean needTransaction = true
5958
private BatchModelChangeListener listenerAddon
60-
61-
protected abstract def ITraceConstructor constructTraceConstructor(Resource modelResource, Resource traceResource, Map<EObject, TracedObject<?>> exeToTraced)
62-
63-
protected abstract def IStateManager<State<?,?>> constructStateManager(Resource modelResource, Map<TracedObject<?>, EObject> tracedToExe)
59+
private Trace<Step<?>, TracedObject<?>, State<?, ?>> trace
60+
61+
protected abstract def ITraceConstructor constructTraceConstructor(Resource modelResource, Resource traceResource,
62+
Map<EObject, TracedObject<?>> exeToTraced)
63+
64+
protected abstract def IStateManager<State<?, ?>> constructStateManager(Resource modelResource,
65+
Map<TracedObject<?>, EObject> tracedToExe)
6466

6567
override getTraceExplorer() {
6668
return traceExplorer
@@ -73,15 +75,15 @@ abstract class AbstractTraceAddon extends DefaultEngineAddon implements IMultiDi
7375
override getTraceExtractor() {
7476
return traceExtractor
7577
}
76-
78+
7779
override getTraceNotifier() {
7880
return traceNotifier
7981
}
80-
82+
8183
public override void load(Resource traceResource) {
8284
val root = traceResource.contents.head
83-
if (root instanceof Trace<?,?,?>) {
84-
val trace = root as Trace<Step<?>,TracedObject<?>,State<?,?>>
85+
if (root instanceof Trace<?, ?, ?>) {
86+
trace = root as Trace<Step<?>, TracedObject<?>, State<?, ?>>
8587
traceExplorer = new GenericTraceExplorer(trace)
8688
traceExtractor = new GenericTraceExtractor(trace)
8789
} else {
@@ -111,13 +113,13 @@ abstract class AbstractTraceAddon extends DefaultEngineAddon implements IMultiDi
111113
if (step != null) {
112114
modifyTrace([
113115
traceConstructor.addState(listenerAddon.getChanges(this))
114-
116+
115117
if (add) {
116118
traceConstructor.addStep(step)
117119
} else {
118120
traceConstructor.endStep(step)
119121
}
120-
122+
121123
// Updating the trace extractor and explorer with the last changes
122124
traceNotifier.notifyListener(traceExtractor)
123125
traceNotifier.notifyListener(traceExplorer)
@@ -127,9 +129,10 @@ abstract class AbstractTraceAddon extends DefaultEngineAddon implements IMultiDi
127129
traceExplorer.updateCallStack(step)
128130
])
129131

130-
if (shouldSave) {
131-
// traceConstructor.save()
132-
}
132+
/*try {
133+
traceConstructor.save()
134+
} catch (Throwable t) {
135+
}*/
133136
}
134137
}
135138

@@ -155,7 +158,8 @@ abstract class AbstractTraceAddon extends DefaultEngineAddon implements IMultiDi
155158
val Resource traceResource = rs.createResource(traceModelURI)
156159

157160
// We construct a new listener addon if required
158-
this.listenerAddon = new BatchModelChangeListener(EMFResource.getRelatedResources(engine.executionContext.resourceModel))
161+
this.listenerAddon = new BatchModelChangeListener(
162+
EMFResource.getRelatedResources(engine.executionContext.resourceModel))
159163
listenerAddon.registerObserver(this)
160164

161165
val launchConfiguration = engine.extractLaunchConfiguration
@@ -170,8 +174,8 @@ abstract class AbstractTraceAddon extends DefaultEngineAddon implements IMultiDi
170174

171175
// And we enable trace exploration by loading it in a new trace explorer
172176
val root = traceResource.contents.head
173-
if (root instanceof Trace<?,?,?>) {
174-
val trace = root as Trace<Step<?>,TracedObject<?>,State<?,?>>
177+
if (root instanceof Trace<?, ?, ?>) {
178+
trace = root as Trace<Step<?>, TracedObject<?>, State<?, ?>>
175179
val stateManager = constructStateManager(modelResource, exeToTraced.inverse)
176180
traceExplorer = new GenericTraceExplorer(trace, stateManager)
177181
traceExtractor = new GenericTraceExtractor(trace)
@@ -235,4 +239,11 @@ abstract class AbstractTraceAddon extends DefaultEngineAddon implements IMultiDi
235239
return errors
236240
}
237241

242+
override getTrace() {
243+
return trace
244+
}
245+
246+
override engineStopped(IExecutionEngine engine) {
247+
}
248+
238249
}

0 commit comments

Comments
 (0)