diff options
author | Kristóf Marussy <kris7topher@gmail.com> | 2019-02-07 18:24:45 +0100 |
---|---|---|
committer | Kristóf Marussy <kris7topher@gmail.com> | 2019-02-19 19:18:25 +0100 |
commit | 6f88c4bd4e91728cea62505e893b0ce300baf7fc (patch) | |
tree | fef4d5cf7d28b0e4fd59a3b7181e60a2f236d235 /Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.java | |
parent | Extract component fault tree model (diff) | |
download | VIATRA-Generator-6f88c4bd4e91728cea62505e893b0ce300baf7fc.tar.gz VIATRA-Generator-6f88c4bd4e91728cea62505e893b0ce300baf7fc.tar.zst VIATRA-Generator-6f88c4bd4e91728cea62505e893b0ce300baf7fc.zip |
Ecore2Cft transformation
Diffstat (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.java')
-rw-r--r-- | Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.java | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.java new file mode 100644 index 00000000..840f501d --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentInstanceTrace.java | |||
@@ -0,0 +1,65 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft; | ||
2 | |||
3 | import com.google.common.collect.Maps; | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftFactory; | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition; | ||
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree; | ||
8 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.EventDeclaration; | ||
9 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent; | ||
10 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output; | ||
11 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentNameGenerator; | ||
12 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.InputTrace; | ||
13 | import java.util.Map; | ||
14 | import org.eclipse.emf.common.util.EList; | ||
15 | |||
16 | @SuppressWarnings("all") | ||
17 | public class ComponentInstanceTrace { | ||
18 | private final Component componentInstance = CftFactory.eINSTANCE.createComponent(); | ||
19 | |||
20 | private final Map<InputEvent, InputTrace> inputEventsMap; | ||
21 | |||
22 | private final Map<EventDeclaration, Output> outputEventsMap; | ||
23 | |||
24 | protected ComponentInstanceTrace(final ComponentFaultTree faultTree, final ComponentDefinition componentDefinition, final ComponentNameGenerator nameGenerator) { | ||
25 | this.componentInstance.setComponentDefinition(componentDefinition); | ||
26 | this.componentInstance.setName(nameGenerator.nextName(componentDefinition)); | ||
27 | this.inputEventsMap = Maps.<InputEvent, InputTrace>newHashMapWithExpectedSize(componentDefinition.getInputEvents().size()); | ||
28 | EList<InputEvent> _inputEvents = componentDefinition.getInputEvents(); | ||
29 | for (final InputEvent inputEvent : _inputEvents) { | ||
30 | { | ||
31 | final InputTrace inputTrace = new InputTrace(this.componentInstance, inputEvent); | ||
32 | this.inputEventsMap.put(inputEvent, inputTrace); | ||
33 | } | ||
34 | } | ||
35 | this.outputEventsMap = Maps.<EventDeclaration, Output>newHashMapWithExpectedSize(componentDefinition.getOutputEvents().size()); | ||
36 | EList<EventDeclaration> _outputEvents = componentDefinition.getOutputEvents(); | ||
37 | for (final EventDeclaration outputEvent : _outputEvents) { | ||
38 | { | ||
39 | final Output output = CftFactory.eINSTANCE.createOutput(); | ||
40 | output.setEventDeclaration(outputEvent); | ||
41 | EList<Output> _outputs = this.componentInstance.getOutputs(); | ||
42 | _outputs.add(output); | ||
43 | this.outputEventsMap.put(outputEvent, output); | ||
44 | } | ||
45 | } | ||
46 | EList<Component> _components = faultTree.getComponents(); | ||
47 | _components.add(this.componentInstance); | ||
48 | } | ||
49 | |||
50 | public void assign(final EventDeclaration inputEvent, final ComponentInstanceTrace sourceComponent, final EventDeclaration outputEvent) { | ||
51 | final InputTrace inputTrace = this.inputEventsMap.get(inputEvent); | ||
52 | if ((inputTrace == null)) { | ||
53 | throw new IllegalArgumentException(("Unknown input: " + inputEvent)); | ||
54 | } | ||
55 | final Output output = sourceComponent.outputEventsMap.get(outputEvent); | ||
56 | if ((output == null)) { | ||
57 | throw new IllegalArgumentException(("Unknown output: " + outputEvent)); | ||
58 | } | ||
59 | inputTrace.assign(output); | ||
60 | } | ||
61 | |||
62 | protected EList<Output> getOutputs() { | ||
63 | return this.componentInstance.getOutputs(); | ||
64 | } | ||
65 | } | ||