aboutsummaryrefslogtreecommitdiffstats
path: root/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/FaultTreeBuilder.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/FaultTreeBuilder.xtend')
-rw-r--r--Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/FaultTreeBuilder.xtend39
1 files changed, 0 insertions, 39 deletions
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/FaultTreeBuilder.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/FaultTreeBuilder.xtend
deleted file mode 100644
index 0b0afea6..00000000
--- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/cft2ft/FaultTreeBuilder.xtend
+++ /dev/null
@@ -1,39 +0,0 @@
1package hu.bme.mit.inf.dslreasoner.faulttree.transformation.cft2ft
2
3import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.FtFactory
4import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.Gate
5import hu.bme.mit.inf.dslreasoner.faulttree.model.ft.RandomEvent
6import java.util.Collection
7import org.eclipse.xtend.lib.annotations.Accessors
8
9class FaultTreeBuilder {
10 @Accessors
11 val faultTree = FtFactory.eINSTANCE.createFaultTree
12
13 def addTopLevel(RandomEvent event) {
14 if (faultTree.topEvent !== null) {
15 throw new IllegalStateException("Top event was already set")
16 }
17 add(event)
18 faultTree.topEvent = event
19 }
20
21 protected def void add(RandomEvent event) {
22 if (faultTree.eContainer == faultTree) {
23 return
24 }
25 if (faultTree.eContainer !== null) {
26 throw new IllegalStateException("Event is already in a different fault tree")
27 }
28 faultTree.events += event
29 if (event instanceof Gate) {
30 addAll(event.inputEvents)
31 }
32 }
33
34 protected def addAll(Collection<RandomEvent> events) {
35 for (event : events) {
36 add(event)
37 }
38 }
39}