Search in sources :

Example 1 with BindingDOMNotificationPublishServiceAdapter

use of org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationPublishServiceAdapter in project controller by opendaylight.

the class BindingTestContext method startBindingNotificationBroker.

public void startBindingNotificationBroker() {
    checkState(this.executor != null);
    final DOMNotificationRouter router = DOMNotificationRouter.create(16);
    this.domPublishService = router;
    this.domListenService = router;
    this.publishService = new BindingDOMNotificationPublishServiceAdapter(this.codec, this.domPublishService);
    this.listenService = new BindingDOMNotificationServiceAdapter(this.codec, this.domListenService);
    this.baNotifyImpl = new HeliumNotificationProviderServiceAdapter(this.publishService, this.listenService);
}
Also used : BindingDOMNotificationServiceAdapter(org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationServiceAdapter) BindingDOMNotificationPublishServiceAdapter(org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationPublishServiceAdapter) DOMNotificationRouter(org.opendaylight.controller.md.sal.dom.broker.impl.DOMNotificationRouter) HeliumNotificationProviderServiceAdapter(org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceAdapter)

Example 2 with BindingDOMNotificationPublishServiceAdapter

use of org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationPublishServiceAdapter in project controller by opendaylight.

the class BindingNotificationPublishAdapterModule method createInstance.

@Override
public AutoCloseable createInstance() {
    final BindingToNormalizedNodeCodec codec = getBindingMappingServiceDependency();
    final Broker.ProviderSession session = getDomAsyncBrokerDependency().registerProvider(new DummyDOMProvider());
    final DOMNotificationPublishService publishService = session.getService(DOMNotificationPublishService.class);
    return new BindingDOMNotificationPublishServiceAdapter(codec, publishService);
}
Also used : Broker(org.opendaylight.controller.sal.core.api.Broker) BindingDOMNotificationPublishServiceAdapter(org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationPublishServiceAdapter) BindingToNormalizedNodeCodec(org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec) DOMNotificationPublishService(org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService)

Example 3 with BindingDOMNotificationPublishServiceAdapter

use of org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationPublishServiceAdapter in project controller by opendaylight.

the class NotificationBrokerImplModule method createHeliumAdapter.

private static AutoCloseable createHeliumAdapter(final NotificationPublishService publishService, final NotificationService listenService) {
    if (listenService instanceof BindingDOMNotificationServiceAdapter && publishService instanceof BindingDOMNotificationPublishServiceAdapter) {
        final BindingDOMNotificationPublishServiceAdapter castedPublish = (BindingDOMNotificationPublishServiceAdapter) publishService;
        final BindingDOMNotificationServiceAdapter castedListen = (BindingDOMNotificationServiceAdapter) listenService;
        final DOMNotificationPublishService domPublishService = castedPublish.getDomPublishService();
        if (domPublishService instanceof DOMNotificationSubscriptionListenerRegistry) {
            final DOMNotificationSubscriptionListenerRegistry subsRegistry = (DOMNotificationSubscriptionListenerRegistry) domPublishService;
            return new HeliumNotificationProviderServiceWithInterestListeners(castedPublish, castedListen, subsRegistry);
        }
    }
    return new HeliumNotificationProviderServiceAdapter(publishService, listenService);
}
Also used : BindingDOMNotificationServiceAdapter(org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationServiceAdapter) BindingDOMNotificationPublishServiceAdapter(org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationPublishServiceAdapter) HeliumNotificationProviderServiceWithInterestListeners(org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceWithInterestListeners) HeliumNotificationProviderServiceAdapter(org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceAdapter) DOMNotificationPublishService(org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService) DOMNotificationSubscriptionListenerRegistry(org.opendaylight.controller.md.sal.dom.spi.DOMNotificationSubscriptionListenerRegistry)

Aggregations

BindingDOMNotificationPublishServiceAdapter (org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationPublishServiceAdapter)3 HeliumNotificationProviderServiceAdapter (org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceAdapter)2 BindingDOMNotificationServiceAdapter (org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationServiceAdapter)2 DOMNotificationPublishService (org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService)2 HeliumNotificationProviderServiceWithInterestListeners (org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceWithInterestListeners)1 BindingToNormalizedNodeCodec (org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec)1 DOMNotificationRouter (org.opendaylight.controller.md.sal.dom.broker.impl.DOMNotificationRouter)1 DOMNotificationSubscriptionListenerRegistry (org.opendaylight.controller.md.sal.dom.spi.DOMNotificationSubscriptionListenerRegistry)1 Broker (org.opendaylight.controller.sal.core.api.Broker)1