1 package org.openkilda.integration.converter;
3 import java.util.ArrayList;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Component;
21 Map<String, String> islCostMap) {
22 if (islLinks != null) {
23 final List<IslLinkInfo> islLinkInfos =
new ArrayList<>();
24 final Map<String, String> csNames =
25 switchIntegrationService.getCustomSwitchNameFromFile();
26 islLinks.forEach(islLink -> {
28 IslLinkInfo islLinkInfo = toIslLinkInfo(islLink, csNames, islCostMap);
30 if (islLinkInfos.size() == 0) {
31 islLinkInfos.add(islLinkInfo);
33 boolean isSwitchRelationAdd =
true;
35 if (islLinkInfo.
getForwardKey().equalsIgnoreCase(flowInfo.getReverseKey())) {
36 isSwitchRelationAdd =
false;
37 flowInfo.setUnidirectional(
false);
38 flowInfo.setState1(islLinkInfo.
getState());
39 if (!flowInfo.getState().equalsIgnoreCase(islLinkInfo.
getState())) {
40 flowInfo.setAffected(
true);
45 if (isSwitchRelationAdd) {
46 islLinkInfos.add(islLinkInfo);
55 private IslLinkInfo toIslLinkInfo(
final IslLink islLink,
final Map<String, String> csNames,
56 Map<String, String> islCostMap) {
62 List<IslPath> islPaths = islLink.
getPath();
63 if (islPaths != null && !islPaths.isEmpty()) {
64 if (islPaths.get(0) != null) {
65 islLinkInfo.
setSrcPort(islPaths.get(0).getPortNo());
67 islLinkInfo.
setSrcSwitchName(switchIntegrationService.customSwitchName(csNames,
68 islPaths.get(0).getSwitchId()));
69 if (islPaths.get(0).getSegmentLatency() > 0) {
70 islLinkInfo.
setLatency(islPaths.get(0).getSegmentLatency());
73 if (islPaths.get(1) != null) {
74 islLinkInfo.
setDstPort(islPaths.get(1).getPortNo());
76 islLinkInfo.
setDstSwitchName(switchIntegrationService.customSwitchName(csNames,
77 islPaths.get(1).getSwitchId()));
78 if (islPaths.get(1).getSegmentLatency() > 0) {
79 islLinkInfo.
setLatency(islPaths.get(1).getSegmentLatency());
86 }
else if (islCostMap.containsKey(islLinkInfo.
getReverseKey())) {
void setSpeed(final int speed)
void setDstSwitchName(String dstSwitchName)
void setDstPort(final int dstPort)
void setSrcPort(final int srcPort)
void setState(final String state)
void setSrcSwitchName(String srcSwitchName)
List< IslPath > getPath()
Integer getAvailableBandwidth()
void setUnidirectional(boolean isUnidirectional)
List< IslLinkInfo > toIslLinksInfo(final List< IslLink > islLinks, Map< String, String > islCostMap)
void setDstSwitch(final String dstSwitch)
void setLatency(final int latency)
void setAvailableBandwidth(final int availableBandwidth)
void setSrcSwitch(final String srcSwitch)
void setCost(String cost)