From ab381a37f537dba2b27d6977709783ab2fdcdf64 Mon Sep 17 00:00:00 2001
From: Wilson Ng <wilson.ng@bigswitch.com>
Date: Wed, 4 Jul 2012 13:35:43 -0700
Subject: [PATCH] Move getLinkType() back into LinkDiscoveryManager and make it
 public.

---
 .../linkdiscovery/LinkInfo.java               |  9 --------
 .../internal/LinkDiscoveryManager.java        | 21 ++++++++++++-------
 .../linkdiscovery/web/LinksResource.java      |  2 +-
 3 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/src/main/java/net/floodlightcontroller/linkdiscovery/LinkInfo.java b/src/main/java/net/floodlightcontroller/linkdiscovery/LinkInfo.java
index d77df91b8..7c8d7491c 100644
--- a/src/main/java/net/floodlightcontroller/linkdiscovery/LinkInfo.java
+++ b/src/main/java/net/floodlightcontroller/linkdiscovery/LinkInfo.java
@@ -92,15 +92,6 @@ public class LinkInfo {
     public void setDstPortState(int dstPortState) {
         this.dstPortState = dstPortState;
     }
-    
-    public static ILinkDiscovery.LinkType getLinkType(LinkTuple lt, LinkInfo info) {
-        if (info.getUnicastValidTime() != null) {
-            return ILinkDiscovery.LinkType.DIRECT_LINK;
-        } else if (info.getMulticastValidTime()  != null) {
-            return ILinkDiscovery.LinkType.MULTIHOP_LINK;
-        }
-        return ILinkDiscovery.LinkType.INVALID_LINK;
-    }
 
     /* (non-Javadoc)
      * @see java.lang.Object#hashCode()
diff --git a/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java b/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java
index 537b0f288..37311e2f3 100644
--- a/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java
+++ b/src/main/java/net/floodlightcontroller/linkdiscovery/internal/LinkDiscoveryManager.java
@@ -216,8 +216,13 @@ public class LinkDiscoveryManager
         return shuttingDown;
     }
     
-    protected ILinkDiscovery.LinkType getLinkType(LinkTuple lt, LinkInfo info) {
-    	return LinkInfo.getLinkType(lt, info);
+    public ILinkDiscovery.LinkType getLinkType(LinkTuple lt, LinkInfo info) {
+        if (info.getUnicastValidTime() != null) {
+            return ILinkDiscovery.LinkType.DIRECT_LINK;
+        } else if (info.getMulticastValidTime() != null) {
+            return ILinkDiscovery.LinkType.MULTIHOP_LINK;
+        }
+        return ILinkDiscovery.LinkType.INVALID_LINK;
     }
     
     private void doUpdatesThread() throws InterruptedException {
@@ -616,7 +621,7 @@ public class LinkDiscoveryManager
                                 lt.getSrc().getPort(),
                                 lt.getDst().getPort(),
                                 newLinkInfo.getSrcPortState(), newLinkInfo.getDstPortState(),
-                                LinkInfo.getLinkType(lt, newLinkInfo),
+                                getLinkType(lt, newLinkInfo),
                                 EvAction.LINK_ADDED, "LLDP Recvd");
             } else {
                 // Since the link info is already there, we need to
@@ -672,14 +677,14 @@ public class LinkDiscoveryManager
                                     lt.getSrc().getPort(),
                                     lt.getDst().getPort(),
                                     newLinkInfo.getSrcPortState(), newLinkInfo.getDstPortState(),
-                                    LinkInfo.getLinkType(lt, newLinkInfo),
+                                    getLinkType(lt, newLinkInfo),
                                     EvAction.LINK_PORT_STATE_UPDATED,
                                     "LLDP Recvd");
                 }
             }
 
             if (linkChanged) {
-                updates.add(new LDUpdate(lt, newLinkInfo.getSrcPortState(), newLinkInfo.getDstPortState(), LinkInfo.getLinkType(lt, newLinkInfo), updateOperation));
+                updates.add(new LDUpdate(lt, newLinkInfo.getSrcPortState(), newLinkInfo.getDstPortState(), getLinkType(lt, newLinkInfo), updateOperation));
             }
         } finally {
             lock.writeLock().unlock();
@@ -813,7 +818,7 @@ public class LinkDiscoveryManager
                             // send an LDUpdate.
                             updates.add(new LDUpdate(lt, linkInfo.getSrcPortState(), 
                                                      linkInfo.getDstPortState(), 
-                                                     LinkInfo.getLinkType(lt, linkInfo), 
+                                                     getLinkType(lt, linkInfo),
                                                      UpdateOperation.ADD_OR_UPDATE));
                             writeLink(lt, linkInfo);
                             linkInfoChanged = true;
@@ -936,7 +941,7 @@ public class LinkDiscoveryManager
                 } else if (linkChanged) {
                     updates.add(new LDUpdate(lt, info.getSrcPortState(), 
                                              info.getDstPortState(), 
-                                             LinkInfo.getLinkType(lt, info), 
+                                             getLinkType(lt, info),
                                              UpdateOperation.ADD_OR_UPDATE));
                 }
             }
@@ -1073,7 +1078,7 @@ public class LinkDiscoveryManager
             rowValues.put(LINK_SRC_SWITCH, srcDpid);
             rowValues.put(LINK_SRC_PORT, lt.getSrc().getPort());
 
-            LinkType type = (LinkInfo.getLinkType(lt, linkInfo));
+            LinkType type = getLinkType(lt, linkInfo);
             if (type == LinkType.DIRECT_LINK)
                 rowValues.put(LINK_TYPE, "internal");
             else if (type == LinkType.MULTIHOP_LINK) 
diff --git a/src/main/java/net/floodlightcontroller/linkdiscovery/web/LinksResource.java b/src/main/java/net/floodlightcontroller/linkdiscovery/web/LinksResource.java
index 43761d141..e721e9904 100644
--- a/src/main/java/net/floodlightcontroller/linkdiscovery/web/LinksResource.java
+++ b/src/main/java/net/floodlightcontroller/linkdiscovery/web/LinksResource.java
@@ -21,7 +21,7 @@ public class LinksResource extends ServerResource {
                 for (LinkTuple lt : linkSet) {
                     LinkInfo info = topo.getLinkInfo(lt.getSrc(), true);
                     LinkTuple withType = new LinkTuple(lt.getSrc(), lt.getDst());
-                    withType.setType(LinkInfo.getLinkType(lt, info));
+                    withType.setType(topo.getLinkType(lt, info));
                     links.add(withType);
                 }
             }
-- 
GitLab