The order of calling startUp() for each module should take into account the
module dependencies (ONOS-988).

Remove the cyclic module dependency among some of the modules.

Previously, module dependency guaranteed only the order of loading the
modules.
The new semantics for module dependency imposes the same order for
calling init() and startUp() on the modules.

Conflicts:

	src/main/java/net/onrc/onos/ofcontroller/floodlightlistener/NetworkGraphPublisher.java

NOTE: The conflict in file NetworkGraphPublisher.java has been resolved by
hand.

Change-Id: I9c6f3dc3bd7e8baa344dcf25a2ea9fdbde76c898
diff --git a/src/main/java/net/onrc/onos/registry/controller/ZookeeperRegistry.java b/src/main/java/net/onrc/onos/registry/controller/ZookeeperRegistry.java
index b496321..8a2af13 100755
--- a/src/main/java/net/onrc/onos/registry/controller/ZookeeperRegistry.java
+++ b/src/main/java/net/onrc/onos/registry/controller/ZookeeperRegistry.java
@@ -10,6 +10,7 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import net.floodlightcontroller.core.IFloodlightProviderService;
 import net.floodlightcontroller.core.module.FloodlightModuleContext;
 import net.floodlightcontroller.core.module.FloodlightModuleException;
 import net.floodlightcontroller.core.module.IFloodlightModule;
@@ -468,7 +469,8 @@
 	public Collection<Class<? extends IFloodlightService>> getModuleDependencies() {
 		Collection<Class<? extends IFloodlightService>> l =
                 new ArrayList<Class<? extends IFloodlightService>>();
-        l.add(IRestApiService.class);
+		l.add(IFloodlightProviderService.class);
+		l.add(IRestApiService.class);
 		return l;
 	}