X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fweb%2Ftopology%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Ftopology%2Fweb%2FTopology.java;h=a6c390d799bb1fa54ac1329436ab2a3b47d2b037;hp=fed81eb2ae886aa6bbbb062a8499aa3be90f8026;hb=efc25496a3fc6771d0f52acdf30807c9b62e582f;hpb=e89176e4777c3511a60e6507628dfcb5e7046e3c diff --git a/opendaylight/web/topology/src/main/java/org/opendaylight/controller/topology/web/Topology.java b/opendaylight/web/topology/src/main/java/org/opendaylight/controller/topology/web/Topology.java index fed81eb2ae..a6c390d799 100644 --- a/opendaylight/web/topology/src/main/java/org/opendaylight/controller/topology/web/Topology.java +++ b/opendaylight/web/topology/src/main/java/org/opendaylight/controller/topology/web/Topology.java @@ -340,29 +340,31 @@ public class Topology implements IObjectReader, IConfigurationAware { ITopologyManager topology, String containerName) { for (Map.Entry> e : hostEdges.entrySet()) { for (NodeConnector connector : e.getValue()) { - Host host = topology.getHostAttachedToNodeConnector(connector); - EthernetAddress dmac = (EthernetAddress) host.getDataLayerAddress(); + List hosts = topology.getHostsAttachedToNodeConnector(connector); + for (Host host : hosts) { + EthernetAddress dmac = (EthernetAddress) host.getDataLayerAddress(); - ByteBuffer addressByteBuffer = ByteBuffer.allocate(8); - addressByteBuffer.putShort((short) 0); - addressByteBuffer.put(dmac.getValue()); - addressByteBuffer.rewind(); + ByteBuffer addressByteBuffer = ByteBuffer.allocate(8); + addressByteBuffer.putShort((short) 0); + addressByteBuffer.put(dmac.getValue()); + addressByteBuffer.rewind(); - long hid = addressByteBuffer.getLong(); - String hostId = String.valueOf(hid); + long hid = addressByteBuffer.getLong(); + String hostId = String.valueOf(hid); - NodeBean hostBean = new NodeBean(hostId, host.getNetworkAddressAsString(), NodeType.HOST); - List> adjacencies = new LinkedList>(); - EdgeBean edge = new EdgeBean(connector, hid); - adjacencies.add(edge.out()); - hostBean.setLinks(adjacencies); + NodeBean hostBean = new NodeBean(hostId, host.getNetworkAddressAsString(), NodeType.HOST); + List> adjacencies = new LinkedList>(); + EdgeBean edge = new EdgeBean(connector, hid); + adjacencies.add(edge.out()); + hostBean.setLinks(adjacencies); - if (metaCache.get(containerName).containsKey(hostId)) { + if (metaCache.get(containerName).containsKey(hostId)) { Map hostEntry = metaCache.get(containerName).get(hostId); hostEntry.put("adjacencies", adjacencies); stagedNodes.put(hostId, hostEntry); - } else { + } else { newNodes.put(String.valueOf(hid), hostBean.out()); + } } } }