X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker-config%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fmd%2Fsal%2Fdom%2Fimpl%2FDomBrokerImplModule.java;h=1adf404f0390e20234f7463b628df0b518d8465d;hb=refs%2Fchanges%2F87%2F57187%2F4;hp=e3d71fb9aaae78ad0f98f9ed1c51bc58dc63fd31;hpb=0f7fc5e95906aa529be7103040bec4dcded051e6;p=controller.git 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 e3d71fb9aa..1adf404f03 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 @@ -22,7 +22,6 @@ import org.opendaylight.controller.md.sal.dom.api.DOMRpcService; import org.opendaylight.controller.sal.core.api.BrokerService; import org.opendaylight.controller.sal.core.api.model.SchemaService; import org.opendaylight.controller.sal.dom.broker.BrokerImpl; -import org.opendaylight.controller.sal.dom.broker.GlobalBundleScanningSchemaServiceImpl; import org.osgi.framework.BundleContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -72,6 +71,9 @@ public final class DomBrokerImplModule extends org.opendaylight.controller.confi DOMMountPointService mountService = newTracker(DOMMountPointService.class, closeables). waitForService(WaitingServiceTracker.FIVE_MINUTES); + SchemaService globalSchemaService = newTracker(SchemaService.class, closeables). + waitForService(WaitingServiceTracker.FIVE_MINUTES); + final DOMDataBroker dataBroker = getAsyncDataBrokerDependency(); final ClassToInstanceMap services = MutableClassToInstanceMap.create(); @@ -79,7 +81,7 @@ public final class DomBrokerImplModule extends org.opendaylight.controller.confi services.putInstance(DOMNotificationService.class, domNotificationService); services.putInstance(DOMNotificationPublishService.class, domNotificationPublishService); - final SchemaService schemaService = getSchemaServiceImpl(); + final SchemaService schemaService = getSchemaServiceImpl(globalSchemaService); services.putInstance(SchemaService.class, schemaService); services.putInstance(DOMDataBroker.class, dataBroker); @@ -90,15 +92,12 @@ public final class DomBrokerImplModule extends org.opendaylight.controller.confi services.putInstance(DOMMountPointService.class, mountService); BrokerImpl broker = new BrokerImpl(domRpcService, domRpcProvider, services); - broker.setDeactivator(new AutoCloseable() { - @Override - public void close() { - for(AutoCloseable ac: closeables) { - try { - ac.close(); - } catch(Exception e) { - LOG.warn("Exception while closing {}", ac, e); - } + broker.setDeactivator(() -> { + for (AutoCloseable ac : closeables) { + try { + ac.close(); + } catch (Exception e) { + LOG.warn("Exception while closing {}", ac, e); } } }); @@ -112,12 +111,12 @@ public final class DomBrokerImplModule extends org.opendaylight.controller.confi return tracker; } - private SchemaService getSchemaServiceImpl() { + private SchemaService getSchemaServiceImpl(SchemaService globalSchemaService) { final SchemaService schemaService; if(getRootSchemaService() != null) { schemaService = getRootSchemaServiceDependency(); } else { - schemaService = GlobalBundleScanningSchemaServiceImpl.getInstance(); + schemaService = globalSchemaService; } return schemaService; }