aboutsummaryrefslogtreecommitdiffstats
path: root/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.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/ecore2cft/InputTrace.xtend')
-rw-r--r--Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend8
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
5import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Connection 5import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Connection
6import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input 6import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input
7import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent 7import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent
8import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Modality
8import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output 9import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output
9import java.util.Map 10import java.util.Map
10 11
12import static extension hu.bme.mit.inf.dslreasoner.faulttree.model.util.CftExtensions.*
13
11class InputTrace { 14class 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}