import com.google.common.collect.MutableClassToInstanceMap;
import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
+import org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService;
+import org.opendaylight.controller.md.sal.dom.api.DOMNotificationService;
+import org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService;
+import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
+import org.opendaylight.controller.md.sal.dom.broker.impl.DOMNotificationRouter;
+import org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRouter;
import org.opendaylight.controller.md.sal.dom.broker.impl.compat.BackwardsCompatibleDataBroker;
import org.opendaylight.controller.md.sal.dom.broker.impl.mount.DOMMountPointServiceImpl;
import org.opendaylight.controller.sal.core.api.BrokerService;
final ClassToInstanceMap<BrokerService> services = MutableClassToInstanceMap.create();
+ // TODO: retrieve from config subsystem
+ final int queueDepth = 1024;
+
+ final DOMNotificationRouter domNotificationRouter = DOMNotificationRouter.create(queueDepth);
+ services.putInstance(DOMNotificationService.class, domNotificationRouter);
+ services.putInstance(DOMNotificationPublishService.class, domNotificationRouter);
final SchemaService schemaService = getSchemaServiceImpl();
services.putInstance(SchemaService.class, schemaService);
services.putInstance(DataProviderService.class,legacyData);
services.putInstance(DataBrokerService.class, legacyData);
+ final DOMRpcRouter rpcRouter = new DOMRpcRouter();
+ schemaService.registerSchemaContextListener(rpcRouter);
+ services.putInstance(DOMRpcService.class, rpcRouter);
+ services.putInstance(DOMRpcProviderService.class, rpcRouter);
+
final DOMMountPointService mountService = new DOMMountPointServiceImpl();
services.putInstance(DOMMountPointService.class, mountService);