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;
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<BrokerService> services = MutableClassToInstanceMap.create();
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);
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);
}
}
});
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;
}