Update SwitchImpl

Change-Id: I1ca7c22d17bfe9c5c66cb49403785751c8a191b1
diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/SwitchImpl.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/SwitchImpl.java
index 6d98740..a8c824d 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/SwitchImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/SwitchImpl.java
@@ -3,8 +3,10 @@
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.Map;
+import java.util.Set;
 
 import net.onrc.onos.datastore.topology.RCPort;
 import net.onrc.onos.datastore.topology.RCSwitch;
@@ -46,13 +48,20 @@
 
 	@Override
 	public Iterable<Switch> getNeighbors() {
-		// TODO Auto-generated method stub
-		return null;
+		Set<Switch> neighbors = new HashSet<>();
+		for (Link link : getOutgoingLinks()) {
+		    neighbors.add(link.getDestinationSwitch());
+		}
+		// XXX should incoming considered neighbor?
+		for (Link link : getIncomingLinks()) {
+		    neighbors.add(link.getSourceSwitch());
+		}
+		return neighbors;
 	}
 
 	@Override
 	public Link getLinkToNeighbor(Long neighborDpid) {
-		for (Link link : graph.getOutgoingLinksFromSwitch(dpid)) {
+		for (Link link : getOutgoingLinks()) {
 			if (link.getDestinationSwitch().getDpid().equals(neighborDpid) ) {
 				return link;
 			}
@@ -72,8 +81,6 @@
 
 	public Port removePort(Port port) {
 	    Port p = this.ports.remove(port.getNumber());
-	    // XXX Do we need to validate instance equality?
-	    assert( p == port );
 	    return p;
 	}