Support multiple Links from a Port

- Support multiple Links from a Port (ONOS-1574,ONOS-1391)

Change-Id: I0b53a950d0ad1e37bbedb726fee2d35df4ff0d60
diff --git a/src/main/java/net/onrc/onos/core/topology/PortImpl.java b/src/main/java/net/onrc/onos/core/topology/PortImpl.java
index 52dbe47..f022438 100644
--- a/src/main/java/net/onrc/onos/core/topology/PortImpl.java
+++ b/src/main/java/net/onrc/onos/core/topology/PortImpl.java
@@ -1,5 +1,6 @@
 package net.onrc.onos.core.topology;
 
+import java.util.Collection;
 import java.util.Map;
 
 import org.apache.commons.lang.Validate;
@@ -139,6 +140,26 @@
     }
 
     @Override
+    public Link getOutgoingLink(String type) {
+        topology.acquireReadLock();
+        try {
+            return topology.getOutgoingLink(asSwitchPort(), type);
+        } finally {
+            topology.releaseReadLock();
+        }
+    }
+
+    @Override
+    public Collection<Link> getOutgoingLinks() {
+        topology.acquireReadLock();
+        try {
+            return topology.getOutgoingLinks(asSwitchPort());
+        } finally {
+            topology.releaseReadLock();
+        }
+    }
+
+    @Override
     public Link getIncomingLink() {
         topology.acquireReadLock();
         try {
@@ -149,6 +170,26 @@
     }
 
     @Override
+    public Link getIncomingLink(String type) {
+        topology.acquireReadLock();
+        try {
+            return topology.getIncomingLink(asSwitchPort(), type);
+        } finally {
+            topology.releaseReadLock();
+        }
+    }
+
+    @Override
+    public Collection<Link> getIncomingLinks() {
+        topology.acquireReadLock();
+        try {
+            return topology.getIncomingLinks(asSwitchPort());
+        } finally {
+            topology.releaseReadLock();
+        }
+    }
+
+    @Override
     public Iterable<Device> getDevices() {
         topology.acquireReadLock();
         try {