aboutsummaryrefslogtreecommitdiffstats
path: root/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/ComponentFaultTreeTrace.java
diff options
context:
space:
mode:
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.java67
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 @@
1package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft;
2
3import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftFactory;
4import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentDefinition;
5import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.ComponentFaultTree;
6import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output;
7import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentInstanceTrace;
8import hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft.ComponentNameGenerator;
9import java.util.Map;
10import org.eclipse.emf.common.util.EList;
11import org.eclipse.viatra.query.runtime.api.IPatternMatch;
12import org.eclipse.xtend.lib.annotations.Accessors;
13import org.eclipse.xtext.xbase.lib.CollectionLiterals;
14import org.eclipse.xtext.xbase.lib.IterableExtensions;
15import org.eclipse.xtext.xbase.lib.Pure;
16
17@SuppressWarnings("all")
18public 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}