diff options
Diffstat (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.java')
-rw-r--r-- | Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.java | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.java b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.java new file mode 100644 index 00000000..46e711d9 --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.java | |||
@@ -0,0 +1,67 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft; | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftFactory; | ||
4 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition; | ||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree; | ||
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output; | ||
7 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentInstanceTrace; | ||
8 | import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentNameGenerator; | ||
9 | import java.util.Map; | ||
10 | import org.eclipse.emf.common.util.EList; | ||
11 | import org.eclipse.viatra.query.runtime.api.IPatternMatch; | ||
12 | import org.eclipse.xtend.lib.annotations.Accessors; | ||
13 | import org.eclipse.xtext.xbase.lib.CollectionLiterals; | ||
14 | import org.eclipse.xtext.xbase.lib.IterableExtensions; | ||
15 | import org.eclipse.xtext.xbase.lib.Pure; | ||
16 | |||
17 | @SuppressWarnings("all") | ||
18 | public class ComponentFaultTreeTrace { | ||
19 | @Accessors | ||
20 | private final ComponentFaultTree componentFaultTree = CftFactory.eINSTANCE.createComponentFaultTree(); | ||
21 | |||
22 | private final ComponentNameGenerator nameGenerator = new ComponentNameGenerator(); | ||
23 | |||
24 | private final Map<IPatternMatch, ComponentInstanceTrace> componentInstancesMap = CollectionLiterals.<IPatternMatch, ComponentInstanceTrace>newHashMap(); | ||
25 | |||
26 | public ComponentInstanceTrace instantiateComponent(final IPatternMatch patternMatch, final ComponentDefinition componenDefinition) { | ||
27 | ComponentInstanceTrace _xblockexpression = null; | ||
28 | { | ||
29 | boolean _containsKey = this.componentInstancesMap.containsKey(patternMatch); | ||
30 | if (_containsKey) { | ||
31 | throw new IllegalArgumentException(("Already instantiated component for match: " + patternMatch)); | ||
32 | } | ||
33 | final ComponentInstanceTrace componentTrace = new ComponentInstanceTrace(this.componentFaultTree, componenDefinition, this.nameGenerator); | ||
34 | this.componentInstancesMap.put(patternMatch, componentTrace); | ||
35 | _xblockexpression = componentTrace; | ||
36 | } | ||
37 | return _xblockexpression; | ||
38 | } | ||
39 | |||
40 | public void setTopLevel(final ComponentInstanceTrace trace) { | ||
41 | Output _topEvent = this.componentFaultTree.getTopEvent(); | ||
42 | boolean _tripleNotEquals = (_topEvent != null); | ||
43 | if (_tripleNotEquals) { | ||
44 | throw new IllegalArgumentException("Top level component already set"); | ||
45 | } | ||
46 | final EList<Output> outputs = trace.getOutputs(); | ||
47 | int _size = outputs.size(); | ||
48 | boolean _tripleNotEquals_1 = (_size != 1); | ||
49 | if (_tripleNotEquals_1) { | ||
50 | int _size_1 = outputs.size(); | ||
51 | String _plus = ("Top level component must have 1 output, got " + Integer.valueOf(_size_1)); | ||
52 | String _plus_1 = (_plus + | ||
53 | " instead"); | ||
54 | throw new IllegalArgumentException(_plus_1); | ||
55 | } | ||
56 | this.componentFaultTree.setTopEvent(IterableExtensions.<Output>head(outputs)); | ||
57 | } | ||
58 | |||
59 | public ComponentInstanceTrace lookup(final IPatternMatch patternMatch) { | ||
60 | return this.componentInstancesMap.get(patternMatch); | ||
61 | } | ||
62 | |||
63 | @Pure | ||
64 | public ComponentFaultTree getComponentFaultTree() { | ||
65 | return this.componentFaultTree; | ||
66 | } | ||
67 | } | ||