Added cleanup thread to RCNetworkGraphPublisher

Change-Id: I5c663b146d68f8bb8634ecd4e74953026da79c13
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 a8c824d..874bf37 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/SwitchImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/SwitchImpl.java
@@ -1,10 +1,12 @@
 package net.onrc.onos.ofcontroller.networkgraph;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedList;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
@@ -71,8 +73,17 @@
 
 	@Override
 	public Collection<Device> getDevices() {
-		// TODO Auto-generated method stub
-		return null;
+		// TODO Should switch also store a list of attached devices to avoid
+		// calculating this every time?
+		List<Device> devices = new ArrayList<Device>();
+		
+		for (Port port : ports.values()) {
+			for (Device device : port.getDevices()) {
+				devices.add(device);
+			}
+		}
+		
+		return devices;
 	}
 
 	public void addPort(Port port) {