From 21b1c23954208525d2b81ae66cc1d55d9f4a314d Mon Sep 17 00:00:00 2001 From: Tom Pantelis Date: Sat, 5 Mar 2016 21:49:44 -0500 Subject: [PATCH] Add blueprint wiring to sal-dom-broker Change-Id: I48959c4ebf02881dfb29d051b35c45de3effc650 Signed-off-by: Tom Pantelis --- .../md/sal/dom/impl/DomBrokerImplModule.java | 3 +- .../md/sal/dom/broker/impl/DOMRpcRouter.java | 7 ++ .../org/opendaylight/blueprint/dom-broker.xml | 78 +++++++++++++++++++ 3 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 opendaylight/md-sal/sal-dom-broker/src/main/resources/org/opendaylight/blueprint/dom-broker.xml diff --git a/opendaylight/md-sal/sal-dom-broker-config/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/DomBrokerImplModule.java b/opendaylight/md-sal/sal-dom-broker-config/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/DomBrokerImplModule.java index fbae80b1f9..61385ded68 100644 --- a/opendaylight/md-sal/sal-dom-broker-config/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/DomBrokerImplModule.java +++ b/opendaylight/md-sal/sal-dom-broker-config/src/main/java/org/opendaylight/controller/config/yang/md/sal/dom/impl/DomBrokerImplModule.java @@ -59,8 +59,7 @@ public final class DomBrokerImplModule extends org.opendaylight.controller.confi services.putInstance(DOMDataBroker.class, asyncBroker); - final DOMRpcRouter rpcRouter = new DOMRpcRouter(); - schemaService.registerSchemaContextListener(rpcRouter); + final DOMRpcRouter rpcRouter = DOMRpcRouter.newInstance(schemaService); services.putInstance(DOMRpcService.class, rpcRouter); services.putInstance(DOMRpcProviderService.class, rpcRouter); diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMRpcRouter.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMRpcRouter.java index 14e75e22c6..60e4db5ca6 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMRpcRouter.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/broker/impl/DOMRpcRouter.java @@ -33,6 +33,7 @@ import org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService; import org.opendaylight.controller.md.sal.dom.api.DOMRpcResult; import org.opendaylight.controller.md.sal.dom.api.DOMRpcService; import org.opendaylight.controller.md.sal.dom.spi.AbstractDOMRpcImplementationRegistration; +import org.opendaylight.controller.sal.core.api.model.SchemaService; import org.opendaylight.yangtools.concepts.AbstractListenerRegistration; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -48,6 +49,12 @@ public final class DOMRpcRouter implements AutoCloseable, DOMRpcService, DOMRpcP private Collection> listeners = Collections.emptyList(); private volatile DOMRpcRoutingTable routingTable = DOMRpcRoutingTable.EMPTY; + public static DOMRpcRouter newInstance(SchemaService schemaService) { + final DOMRpcRouter rpcRouter = new DOMRpcRouter(); + schemaService.registerSchemaContextListener(rpcRouter); + return rpcRouter; + } + @Override public DOMRpcImplementationRegistration registerRpcImplementation(final T implementation, final DOMRpcIdentifier... rpcs) { return registerRpcImplementation(implementation, ImmutableSet.copyOf(rpcs)); diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/resources/org/opendaylight/blueprint/dom-broker.xml b/opendaylight/md-sal/sal-dom-broker/src/main/resources/org/opendaylight/blueprint/dom-broker.xml new file mode 100644 index 0000000000..b7d4d5dd22 --- /dev/null +++ b/opendaylight/md-sal/sal-dom-broker/src/main/resources/org/opendaylight/blueprint/dom-broker.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + org.opendaylight.controller.sal.core.api.model.SchemaService + org.opendaylight.controller.sal.core.api.model.YangTextSourceProvider + + + + + + + + + + + + + + + org.opendaylight.controller.md.sal.dom.api.DOMNotificationService + org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService + org.opendaylight.controller.md.sal.dom.spi.DOMNotificationSubscriptionListenerRegistry + + + + + + + + + + + + org.opendaylight.controller.md.sal.dom.api.DOMRpcService + org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService + + + + + + + + + + + + + + + + + + + + -- 2.36.6