From 4993efb2af45d007b28ce8d3bed6bc1651071044 Mon Sep 17 00:00:00 2001 From: hungweic Date: Wed, 4 Feb 2015 01:50:47 +0800 Subject: [PATCH] #74 - upgrade LinkResource.java to floodlight v.10 Signed-off-by: hwchiu --- adapter/floodlight/omniui/LinkResource.java | 29 +++++++++++---------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/adapter/floodlight/omniui/LinkResource.java b/adapter/floodlight/omniui/LinkResource.java index 0d62114..5ec64ec 100644 --- a/adapter/floodlight/omniui/LinkResource.java +++ b/adapter/floodlight/omniui/LinkResource.java @@ -12,6 +12,8 @@ import net.floodlightcontroller.routing.Link; +import org.projectfloodlight.openflow.types.DatapathId; +import org.projectfloodlight.openflow.types.OFPort; import org.restlet.resource.Get; import org.restlet.resource.ServerResource; @@ -21,30 +23,29 @@ public List retrieve() { ILinkDiscoveryService ld = (ILinkDiscoveryService)getContext().getAttributes().get(ILinkDiscoveryService.class.getCanonicalName()); Map links = new HashMap(); List result = new ArrayList(); - if(ld!=null){ + + if (null != links) { //copy the whole hash map links.putAll(ld.getLinks()); - for (Link link: links.keySet()){ - long srcDpid = link.getSrc(); - long dstDpid = link.getDst(); - short srcPort = link.getSrcPort(); - short dstPort = link.getDstPort(); - + for (Link link: links.keySet()) { + DatapathId srcDpid = link.getSrc(); + DatapathId dstDpid = link.getDst(); + OFPort srcPort = link.getSrcPort(); + OFPort dstPort = link.getDstPort(); + //There are two link entry of the bi-direction link in the links map, //So we should checkout this condtion for avoiding duplicate link. LinkInfo reverseInfo = links.get(new Link(dstDpid,dstPort,srcDpid,srcPort)); - if(reverseInfo!=null){ - if((srcDpid < dstDpid)) + + if (null != reverseInfo) { + if ((srcDpid.getLong() < dstDpid.getLong())) { result.add(new LinkInfoForOmniUI(link)); - } - else{ + } + } else{ result.add(new LinkInfoForOmniUI(link)); } - } - - } return result;