@Override public int compareTo(@Nonnull VerboseOspfEdge o) { return Comparator.comparing(VerboseOspfEdge::getEdgeSummary) .thenComparing(edge -> edge.getSession1().getIpLink()) .thenComparing(edge -> edge.getSession2().getIpLink()) .compare(this, o); } }
Ip remoteIp = remoteOspfNeighbor.getLocalIp(); IpEdge edge = new IpEdge(hostname, localIp, remoteHostname, remoteIp); vedges.add(new VerboseOspfEdge(ospfNeighbor, remoteOspfNeighbor, edge)); answerElement.initOspfNeighbors(); for (VerboseOspfEdge vedge : vedges) { answerElement.getOspfNeighbors().add(vedge.getEdgeSummary()); for (VerboseOspfEdge vedge : vedges) { SortedSet<String> roles1 = _nodeRolesMap.getOrDefault(vedge.getEdgeSummary().getNode1(), new TreeSet<>()); SortedSet<String> roles2 = _nodeRolesMap.getOrDefault(vedge.getEdgeSummary().getNode2(), new TreeSet<>()); for (String r1 : roles1) { for (String r2 : roles2) {
private static SortedSet<VerboseOspfEdge> getOspfEdges(Map<String, Configuration> configs) { SortedSet<VerboseOspfEdge> ospfEdges = new TreeSet<>(); for (Configuration c : configs.values()) { String hostname = c.getHostname(); for (Vrf vrf : c.getVrfs().values()) { OspfProcess proc = vrf.getOspfProcess(); if (proc != null) { for (OspfNeighbor ospfNeighbor : proc.getOspfNeighbors().values()) { OspfNeighbor remoteOspfNeighbor = ospfNeighbor.getRemoteOspfNeighbor(); if (remoteOspfNeighbor != null) { Configuration remoteHost = remoteOspfNeighbor.getOwner(); String remoteHostname = remoteHost.getHostname(); Ip localIp = ospfNeighbor.getLocalIp(); Ip remoteIp = remoteOspfNeighbor.getLocalIp(); IpEdge edge = new IpEdge(hostname, localIp, remoteHostname, remoteIp); ospfEdges.add(new VerboseOspfEdge(ospfNeighbor, remoteOspfNeighbor, edge)); } } } } } return ospfEdges; }