aboutsummaryrefslogtreecommitdiffstats
path: root/Stochastic/hu.bme.mit.inf.dslreasoner.faulttree.transformation/xtend-gen/hu/bme/mit/inf/dslreasoner/faulttree/transformation/ecore2cft/InputTrace.java
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);
      }
    }
  }
}