Began integration with ONOS discovery code by implementing add switch and add link

Change-Id: I21426ea7031df20701d186cb2840a380fa334728

Made NetworkGraphModule to provide access to the global NetworkGraph instance

Change-Id: Ie2293b97f9fb6bdeaa5140c244a21c107d5e1ca7
diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphModule.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphModule.java
new file mode 100644
index 0000000..490f30f
--- /dev/null
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphModule.java
@@ -0,0 +1,68 @@
+package net.onrc.onos.ofcontroller.networkgraph;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import net.floodlightcontroller.core.module.FloodlightModuleContext;
+import net.floodlightcontroller.core.module.FloodlightModuleException;
+import net.floodlightcontroller.core.module.IFloodlightModule;
+import net.floodlightcontroller.core.module.IFloodlightService;
+
+public class NetworkGraphModule implements IFloodlightModule, INetworkGraphService {
+
+	// This is initialized as a module for now
+	// private RCNetworkGraphPublisher eventListener;
+	
+	private NetworkGraphImpl networkGraph;
+	private SouthboundNetworkGraph southboundNetworkGraph;
+
+
+	@Override
+	public Collection<Class<? extends IFloodlightService>> getModuleServices() {
+		List<Class<? extends IFloodlightService>> services = 
+				new ArrayList<Class<? extends IFloodlightService>>();
+		services.add(INetworkGraphService.class);
+		return services;
+	}
+
+	@Override
+	public Map<Class<? extends IFloodlightService>, IFloodlightService> 
+			getServiceImpls() {
+		Map<Class<? extends IFloodlightService>, IFloodlightService> impls = 
+				new HashMap<Class<? extends IFloodlightService>, IFloodlightService>();
+		impls.put(INetworkGraphService.class, this);
+		return impls;
+	}
+
+	@Override
+	public Collection<Class<? extends IFloodlightService>> getModuleDependencies() {
+		return null;
+	}
+	
+	@Override
+	public void init(FloodlightModuleContext context)
+			throws FloodlightModuleException {
+		networkGraph = new NetworkGraphImpl();
+		southboundNetworkGraph = new SouthboundNetworkGraph(networkGraph);
+	}
+
+	@Override
+	public void startUp(FloodlightModuleContext context) {
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public NetworkGraph getNetworkGraph() {
+		return networkGraph;
+	}
+
+	@Override
+	public SouthboundNetworkGraph getSouthboundNetworkGraph() {
+		return southboundNetworkGraph;
+	}
+
+}