Bug 4035: Invert dependency binding-impl -> binding-config
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / java / org / opendaylight / controller / config / yang / md / sal / binding / impl / NotificationBrokerImplModule.java
diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/NotificationBrokerImplModule.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/NotificationBrokerImplModule.java
deleted file mode 100644 (file)
index ec4bc76..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.controller.config.yang.md.sal.binding.impl;
-
-import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
-import org.opendaylight.controller.md.sal.binding.api.NotificationService;
-import org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceAdapter;
-import org.opendaylight.controller.md.sal.binding.compat.HeliumNotificationProviderServiceWithInterestListeners;
-import org.opendaylight.controller.md.sal.binding.compat.HydrogenNotificationBrokerImpl;
-import org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationPublishServiceAdapter;
-import org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationServiceAdapter;
-import org.opendaylight.controller.md.sal.dom.api.DOMNotificationPublishService;
-import org.opendaylight.controller.md.sal.dom.spi.DOMNotificationSubscriptionListenerRegistry;
-import org.opendaylight.controller.sal.binding.codegen.impl.SingletonHolder;
-
-/**
-*
-*/
-public final class NotificationBrokerImplModule extends
-        org.opendaylight.controller.config.yang.md.sal.binding.impl.AbstractNotificationBrokerImplModule {
-
-    public NotificationBrokerImplModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
-            final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
-        super(identifier, dependencyResolver);
-    }
-
-    public NotificationBrokerImplModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
-            final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
-            final NotificationBrokerImplModule oldModule, final java.lang.AutoCloseable oldInstance) {
-        super(identifier, dependencyResolver, oldModule, oldInstance);
-    }
-
-    @Override
-    public void validate() {
-        super.validate();
-        // Add custom validation for module attributes here.
-    }
-
-    @Override
-    public java.lang.AutoCloseable createInstance() {
-
-        final NotificationPublishService notificationPublishService = getNotificationPublishAdapterDependency();
-        final NotificationService notificationService = getNotificationAdapterDependency();
-
-        if(notificationPublishService != null & notificationService != null) {
-            return createHeliumAdapter(notificationPublishService,notificationService);
-        }
-
-        /*
-         *  FIXME: Switch to new broker (which has different threading model)
-         *  once this change is communicated with downstream users or
-         *  we will have adapter implementation which will honor Helium
-         *  threading model for notifications.
-         */
-        return new HydrogenNotificationBrokerImpl(SingletonHolder.getDefaultNotificationExecutor());
-    }
-
-    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);
-    }
-}