blob: 2b30566fd0942d27263b24fb7a72bad8f28db34f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
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.Modality;
import hu.bme.mit.inf.dslreasoner.faulttree.model.cft.Output;
import hu.bme.mit.inf.dslreasoner.faulttree.model.util.CftExtensions;
import java.util.Map;
import org.eclipse.emf.common.util.EList;
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
@SuppressWarnings("all")
public class InputTrace {
private final Input input = CftFactory.eINSTANCE.createInput();
private final Map<Output, Connection> connectionsMap = CollectionLiterals.<Output, Connection>newHashMap();
protected InputTrace(final Component component, final InputEvent inputEvent) {
this.input.setInputEvent(inputEvent);
EList<Input> _inputs = component.getInputs();
_inputs.add(this.input);
}
public void assign(final Output output, final Modality exists) {
final Connection connection = this.connectionsMap.get(output);
if ((connection == null)) {
final Connection newConnection = CftFactory.eINSTANCE.createConnection();
newConnection.setOutput(output);
newConnection.setExists(exists);
EList<Connection> _incomingConnections = this.input.getIncomingConnections();
_incomingConnections.add(newConnection);
this.connectionsMap.put(output, newConnection);
} else {
boolean _isMoreConcreteThan = CftExtensions.isMoreConcreteThan(exists, connection.getExists());
if (_isMoreConcreteThan) {
connection.setExists(exists);
}
}
}
}
|