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;
+ }
+
+}