Open Kilda Java Documentation
FlowConverter.java
Go to the documentation of this file.
1 package org.openkilda.integration.converter;
2 
3 import java.util.ArrayList;
4 import java.util.List;
5 import java.util.Map;
6 
12 import org.springframework.beans.factory.annotation.Autowired;
13 import org.springframework.stereotype.Component;
14 
15 @Component
16 public class FlowConverter {
17  @Autowired
18  SwitchIntegrationService switchIntegrationService;
19 
20  public List<FlowInfo> toFlowsInfo(final List<Flow> flows) {
21  if (!CollectionUtil.isEmpty(flows)) {
22  final List<FlowInfo> flowsInfo = new ArrayList<>();
23  final Map<String, String> csNames = switchIntegrationService.getCustomSwitchNameFromFile();
24  flows.forEach(flow -> {
25  flowsInfo.add(toFlowInfo(flow,csNames));
26  });
27  return flowsInfo;
28  }
29  return null;
30  }
31 
32  public FlowInfo toFlowInfo(final Flow flow,Map <String,String> csNames) {
33  FlowInfo flowInfo = new FlowInfo();
34  flowInfo.setFlowid(flow.getId());
36  flowInfo.setDescription(flow.getDescription());
37  flowInfo.setStatus(flow.getStatus().toUpperCase());
38  FlowEndpoint source = flow.getSource();
39  if (source != null) {
40  String switchName = switchIntegrationService.customSwitchName(csNames,
41  source.getSwitchId());
42  flowInfo.setSourceSwitchName(switchName);
43  flowInfo.setSourceSwitch(source.getSwitchId());
44  flowInfo.setSrcPort(source.getPortId());
45  flowInfo.setSrcVlan(source.getVlanId());
46  }
47  FlowEndpoint destination = flow.getDestination();
48  if (destination != null) {
49  String switchName = switchIntegrationService.customSwitchName(csNames,
50  destination.getSwitchId());
51  flowInfo.setTargetSwitchName(switchName);
52  flowInfo.setTargetSwitch(destination.getSwitchId());
53  flowInfo.setDstPort(destination.getPortId());
54  flowInfo.setDstVlan(destination.getVlanId());
55  }
56  return flowInfo;
57  }
58 
59  public Flow toFlowWithSwitchNames(final Flow flow) {
60  final Map<String, String> csNames = switchIntegrationService.getCustomSwitchNameFromFile();
61  FlowEndpoint source = flow.getSource();
62  if (source != null) {
63  String switchName =
64  switchIntegrationService.customSwitchName(csNames, source.getSwitchId());
65  source.setSwitchName(switchName);
66  }
67  FlowEndpoint destination = flow.getDestination();
68  if (destination != null) {
69  String switchName =
70  switchIntegrationService.customSwitchName(csNames, destination.getSwitchId());
71  destination.setSwitchName(switchName);
72  }
73  return flow;
74  }
75 }
List< FlowInfo > toFlowsInfo(final List< Flow > flows)
void setSrcVlan(final int srcVlan)
Definition: FlowInfo.java:149
void setDstVlan(final int dstVlan)
Definition: FlowInfo.java:209
void setStatus(final String status)
Definition: FlowInfo.java:249
void setFlowid(final String flowid)
Definition: FlowInfo.java:89
static boolean isEmpty(final Collection<?> collection)
void setSourceSwitchName(String sourceSwitchName)
Definition: FlowInfo.java:305
void setSourceSwitch(final String sourceSwitch)
Definition: FlowInfo.java:109
FlowInfo toFlowInfo(final Flow flow, Map< String, String > csNames)
source
Definition: nodes.py:53
void setDstPort(final int dstPort)
Definition: FlowInfo.java:189
void setTargetSwitch(final String targetSwitch)
Definition: FlowInfo.java:169
void setMaximumBandwidth(final int maximumBandwidth)
Definition: FlowInfo.java:229
void setSrcPort(final int srcPort)
Definition: FlowInfo.java:129
void setTargetSwitchName(String targetSwitchName)
Definition: FlowInfo.java:297
void setDescription(final String description)
Definition: FlowInfo.java:269