Search in sources :

Example 1 with BrokerService

use of org.opendaylight.controller.sal.core.api.BrokerService in project controller by opendaylight.

the class BindingTestContext method startDomBroker.

private void startDomBroker() {
    checkState(this.executor != null);
    this.domRouter = new DOMRpcRouter();
    this.mockSchemaService.registerSchemaContextListener(this.domRouter);
    final ClassToInstanceMap<BrokerService> services = MutableClassToInstanceMap.create();
    services.put(DOMRpcService.class, this.domRouter);
    this.biBrokerImpl = new BrokerImpl(this.domRouter, services);
}
Also used : BrokerImpl(org.opendaylight.controller.sal.dom.broker.BrokerImpl) BrokerService(org.opendaylight.controller.sal.core.api.BrokerService) DOMRpcRouter(org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRouter)

Example 2 with BrokerService

use of org.opendaylight.controller.sal.core.api.BrokerService in project controller by opendaylight.

the class DomBrokerImplModule method createInstance.

@Override
@SuppressWarnings("checkstyle:IllegalCatch")
public AutoCloseable createInstance() {
    // The services are provided via blueprint so retrieve then from the OSGi service registry for
    // backwards compatibility.
    final List<AutoCloseable> closeables = new ArrayList<>();
    DOMNotificationService domNotificationService = newTracker(DOMNotificationService.class, closeables).waitForService(WaitingServiceTracker.FIVE_MINUTES);
    DOMNotificationPublishService domNotificationPublishService = newTracker(DOMNotificationPublishService.class, closeables).waitForService(WaitingServiceTracker.FIVE_MINUTES);
    DOMRpcService domRpcService = newTracker(DOMRpcService.class, closeables).waitForService(WaitingServiceTracker.FIVE_MINUTES);
    DOMRpcProviderService domRpcProvider = newTracker(DOMRpcProviderService.class, closeables).waitForService(WaitingServiceTracker.FIVE_MINUTES);
    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(globalSchemaService);
    services.putInstance(SchemaService.class, schemaService);
    services.putInstance(DOMDataBroker.class, dataBroker);
    services.putInstance(DOMRpcService.class, domRpcService);
    services.putInstance(DOMRpcProviderService.class, domRpcProvider);
    services.putInstance(DOMMountPointService.class, mountService);
    BrokerImpl broker = new BrokerImpl(domRpcService, domRpcProvider, services);
    broker.setDeactivator(() -> {
        for (AutoCloseable ac : closeables) {
            try {
                ac.close();
            } catch (Exception e) {
                LOG.warn("Exception while closing {}", ac, e);
            }
        }
    });
    return broker;
}
Also used : DOMRpcService(org.opendaylight.controller.md.sal.dom.api.DOMRpcService) ArrayList(java.util.ArrayList) DOMMountPointService(org.opendaylight.controller.md.sal.dom.api.DOMMountPointService) DOMRpcProviderService(org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService) DOMNotificationService(org.opendaylight.controller.md.sal.dom.api.DOMNotificationService) BrokerImpl(org.opendaylight.controller.sal.dom.broker.BrokerImpl) SchemaService(org.opendaylight.controller.sal.core.api.model.SchemaService) DOMNotificationPublishService(org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService) DOMDataBroker(org.opendaylight.controller.md.sal.dom.api.DOMDataBroker) BrokerService(org.opendaylight.controller.sal.core.api.BrokerService)

Example 3 with BrokerService

use of org.opendaylight.controller.sal.core.api.BrokerService in project controller by opendaylight.

the class ConsumerContextImpl method close.

@Override
public void close() {
    if (closed.compareAndSet(false, true)) {
        Collection<BrokerService> toStop = instantiatedServices.values();
        for (BrokerService brokerService : toStop) {
            if (brokerService instanceof AbstractBrokerServiceProxy<?>) {
                ((AbstractBrokerServiceProxy<?>) brokerService).close();
            }
        }
        broker.consumerSessionClosed(this);
    }
}
Also used : AbstractBrokerServiceProxy(org.opendaylight.controller.sal.dom.broker.osgi.AbstractBrokerServiceProxy) BrokerService(org.opendaylight.controller.sal.core.api.BrokerService)

Aggregations

BrokerService (org.opendaylight.controller.sal.core.api.BrokerService)3 BrokerImpl (org.opendaylight.controller.sal.dom.broker.BrokerImpl)2 ArrayList (java.util.ArrayList)1 DOMDataBroker (org.opendaylight.controller.md.sal.dom.api.DOMDataBroker)1 DOMMountPointService (org.opendaylight.controller.md.sal.dom.api.DOMMountPointService)1 DOMNotificationPublishService (org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService)1 DOMNotificationService (org.opendaylight.controller.md.sal.dom.api.DOMNotificationService)1 DOMRpcProviderService (org.opendaylight.controller.md.sal.dom.api.DOMRpcProviderService)1 DOMRpcService (org.opendaylight.controller.md.sal.dom.api.DOMRpcService)1 DOMRpcRouter (org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRouter)1 SchemaService (org.opendaylight.controller.sal.core.api.model.SchemaService)1 AbstractBrokerServiceProxy (org.opendaylight.controller.sal.dom.broker.osgi.AbstractBrokerServiceProxy)1