diff options
Diffstat (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend')
-rw-r--r-- | Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend index c529a09b..b892eff1 100644 --- a/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend | |||
@@ -5,9 +5,12 @@ import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component | |||
5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Connection | 5 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Connection |
6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input | 6 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input |
7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent | 7 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent |
8 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Modality | ||
8 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output | 9 | import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output |
9 | import java.util.Map | 10 | import java.util.Map |
10 | 11 | ||
12 | import static extension hu.bme.mit.inf.dslreasoner.faulttree.model.util.CftExtensions.* | ||
13 | |||
11 | class InputTrace { | 14 | class InputTrace { |
12 | val Input input = CftFactory.eINSTANCE.createInput | 15 | val Input input = CftFactory.eINSTANCE.createInput |
13 | val Map<Output, Connection> connectionsMap = newHashMap | 16 | val Map<Output, Connection> connectionsMap = newHashMap |
@@ -17,13 +20,16 @@ class InputTrace { | |||
17 | component.inputs += input | 20 | component.inputs += input |
18 | } | 21 | } |
19 | 22 | ||
20 | def void assign(Output output) { | 23 | def void assign(Output output, Modality exists) { |
21 | val connection = connectionsMap.get(output) | 24 | val connection = connectionsMap.get(output) |
22 | if (connection === null) { | 25 | if (connection === null) { |
23 | val newConnection = CftFactory.eINSTANCE.createConnection | 26 | val newConnection = CftFactory.eINSTANCE.createConnection |
24 | newConnection.output = output | 27 | newConnection.output = output |
28 | newConnection.exists = exists | ||
25 | input.incomingConnections += newConnection | 29 | input.incomingConnections += newConnection |
26 | connectionsMap.put(output, newConnection) | 30 | connectionsMap.put(output, newConnection) |
31 | } else if (exists.isMoreConcreteThan(connection.exists)) { | ||
32 | connection.exists = exists | ||
27 | } | 33 | } |
28 | } | 34 | } |
29 | } | 35 | } |