Search in sources :

Example 1 with HeliumNotificationProviderServiceAdapter

use of org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceAdapter in project controller by opendaylight.

the class BackwardsCompatibleNotificationBrokerTest method initTest.

@Before
public void initTest() {
    final NotificationService notificationService = getNotificationService();
    final NotificationPublishService notificationPublishService = getNotificationPublishService();
    notificationProviderService = new HeliumNotificationProviderServiceAdapter(notificationPublishService, notificationService);
}
Also used : HeliumNotificationProviderServiceAdapter(org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceAdapter) NotificationService(org.opendaylight.controller.md.sal.binding.api.NotificationService) NotificationPublishService(org.opendaylight.controller.md.sal.binding.api.NotificationPublishService) Before(org.junit.Before)

Example 2 with HeliumNotificationProviderServiceAdapter

use of org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceAdapter 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 3 with HeliumNotificationProviderServiceAdapter

use of org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceAdapter 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

HeliumNotificationProviderServiceAdapter (org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceAdapter)3 BindingDOMNotificationPublishServiceAdapter (org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationPublishServiceAdapter)2 BindingDOMNotificationServiceAdapter (org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationServiceAdapter)2 Before (org.junit.Before)1 NotificationPublishService (org.opendaylight.controller.md.sal.binding.api.NotificationPublishService)1 NotificationService (org.opendaylight.controller.md.sal.binding.api.NotificationService)1 HeliumNotificationProviderServiceWithInterestListeners (org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceWithInterestListeners)1 DOMNotificationPublishService (org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService)1 DOMNotificationRouter (org.opendaylight.controller.md.sal.dom.broker.impl.DOMNotificationRouter)1 DOMNotificationSubscriptionListenerRegistry (org.opendaylight.controller.md.sal.dom.spi.DOMNotificationSubscriptionListenerRegistry)1