From 6f88c4bd4e91728cea62505e893b0ce300baf7fc Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Thu, 7 Feb 2019 18:24:45 +0100 Subject: Ecore2Cft transformation --- .../transformation/ecore2cft/InputTrace.xtend | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend (limited to 'Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend') 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 new file mode 100644 index 00000000..c529a09b --- /dev/null +++ b/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/src/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.xtend @@ -0,0 +1,29 @@ +package hu.bme.mit.inf.dslreasoner.faulttree.transformation.ecore2cft + +import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.CftFactory +import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Component +import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Connection +import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Input +import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.InputEvent +import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output +import java.util.Map + +class InputTrace { + val Input input = CftFactory.eINSTANCE.createInput + val Map connectionsMap = newHashMap + + protected new(Component component, InputEvent inputEvent) { + input.inputEvent = inputEvent + component.inputs += input + } + + def void assign(Output output) { + val connection = connectionsMap.get(output) + if (connection === null) { + val newConnection = CftFactory.eINSTANCE.createConnection + newConnection.output = output + input.incomingConnections += newConnection + connectionsMap.put(output, newConnection) + } + } +} -- cgit v1.2.3-70-g09d2