Deprecate old MD-SAL APIs for removal
[controller.git] / opendaylight / md-sal / sal-binding-broker / src / main / java / org / opendaylight / controller / sal / binding / impl / RootBindingAwareBroker.java
index 193f3c8d361bdaebaafd476360ace7fc490731f3..fbcf2167cdf115c72617dd5d6d8858540ac22e04 100644 (file)
@@ -12,6 +12,7 @@ import static com.google.common.base.Preconditions.checkState;
 import com.google.common.collect.ImmutableClassToInstanceMap;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.MountPointService;
+import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService;
 import org.opendaylight.controller.md.sal.binding.util.AbstractBindingSalProviderInstance;
 import org.opendaylight.controller.md.sal.binding.util.BindingContextUtils;
 import org.opendaylight.controller.md.sal.common.api.routing.RouteChangeListener;
@@ -23,10 +24,6 @@ import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
 import org.opendaylight.controller.sal.binding.api.NotificationService;
 import org.opendaylight.controller.sal.binding.api.RpcConsumerRegistry;
 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
-import org.opendaylight.controller.sal.binding.api.data.DataBrokerService;
-import org.opendaylight.controller.sal.binding.api.data.DataProviderService;
-import org.opendaylight.controller.sal.binding.api.mount.MountProviderService;
-import org.opendaylight.controller.sal.binding.api.mount.MountService;
 import org.opendaylight.controller.sal.binding.api.rpc.RpcContextIdentifier;
 import org.opendaylight.yangtools.concepts.Identifiable;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
@@ -37,12 +34,11 @@ import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class RootBindingAwareBroker implements //
-        Mutable, //
-        Identifiable<String>, //
-        BindingAwareBroker, AutoCloseable, RpcProviderRegistry {
+@Deprecated(forRemoval = true)
+public class RootBindingAwareBroker implements Mutable, Identifiable<String>, BindingAwareBroker, AutoCloseable,
+        RpcProviderRegistry {
 
-    private final static Logger LOG = LoggerFactory.getLogger(RootBindingAwareBroker.class);
+    private static final Logger LOG = LoggerFactory.getLogger(RootBindingAwareBroker.class);
 
     RootSalInstance controllerRoot;
 
@@ -52,23 +48,16 @@ public class RootBindingAwareBroker implements //
 
     private NotificationProviderService notificationBroker;
 
-    @SuppressWarnings("deprecation")
-    private DataProviderService legacyDataBroker;
+    private NotificationPublishService notificationPublishService;
 
     private DataBroker dataBroker;
 
-    private MountProviderService legacyMount;
-
     private ImmutableClassToInstanceMap<BindingAwareService> supportedConsumerServices;
 
     private ImmutableClassToInstanceMap<BindingAwareService> supportedProviderServices;
 
     private MountPointService mountService;
 
-    public void setLegacyMountManager(final MountProviderService legacyMount) {
-        this.legacyMount = legacyMount;
-    }
-
     public RootBindingAwareBroker(final String instanceName) {
         this.identifier = instanceName;
     }
@@ -82,14 +71,14 @@ public class RootBindingAwareBroker implements //
         return controllerRoot;
     }
 
-    public DataProviderService getDataBroker() {
-        return this.legacyDataBroker;
-    }
-
     public NotificationProviderService getNotificationBroker() {
         return this.notificationBroker;
     }
 
+    public NotificationPublishService getNotificationPublishService() {
+        return this.notificationPublishService;
+    }
+
     public RpcProviderRegistry getRpcProviderRegistry() {
         return this.rpcBroker;
     }
@@ -102,10 +91,6 @@ public class RootBindingAwareBroker implements //
         return mountService;
     }
 
-    public MountProviderService getLegacyMount() {
-        return legacyMount;
-    }
-
     public void setDataBroker(final DataBroker asyncDataBroker) {
         dataBroker = asyncDataBroker;
     }
@@ -122,32 +107,36 @@ public class RootBindingAwareBroker implements //
         this.notificationBroker = notificationBroker;
     }
 
-    public void setLegacyDataBroker(final DataProviderService dataBroker) {
-        this.legacyDataBroker = dataBroker;
+    public void setNotificationPublishService(final NotificationPublishService notificationPublishService) {
+        this.notificationPublishService = notificationPublishService;
     }
 
     public void start() {
         checkState(controllerRoot == null, "Binding Aware Broker was already started.");
         LOG.info("Starting Binding Aware Broker: {}", identifier);
 
-        controllerRoot = new RootSalInstance(getRpcProviderRegistry(), getNotificationBroker(), getDataBroker());
+        controllerRoot = new RootSalInstance(getRpcProviderRegistry(), getNotificationBroker());
 
         final ImmutableClassToInstanceMap.Builder<BindingAwareService> consBuilder = ImmutableClassToInstanceMap
                 .builder();
 
         consBuilder.put(NotificationService.class, getRoot());
-        consBuilder.put(DataBrokerService.class, getRoot());
         consBuilder.put(RpcConsumerRegistry.class, getRoot());
         if (dataBroker != null) {
             consBuilder.put(DataBroker.class, dataBroker);
         }
         consBuilder.put(MountPointService.class, mountService);
-        consBuilder.put(MountService.class, legacyMount).build();
+
         supportedConsumerServices = consBuilder.build();
-        supportedProviderServices = ImmutableClassToInstanceMap.<BindingAwareService> builder()
-                .putAll(supportedConsumerServices).put(NotificationProviderService.class, getRoot())
-                .put(DataProviderService.class, getRoot()).put(RpcProviderRegistry.class, getRoot())
-                .put(MountProviderService.class, legacyMount).build();
+        final ImmutableClassToInstanceMap.Builder<BindingAwareService> provBuilder = ImmutableClassToInstanceMap
+                .builder();
+        provBuilder.putAll(supportedConsumerServices).put(NotificationProviderService.class, getRoot())
+                .put(RpcProviderRegistry.class, getRoot());
+        if (notificationPublishService != null) {
+            provBuilder.put(NotificationPublishService.class, notificationPublishService);
+        }
+
+        supportedProviderServices = provBuilder.build();
     }
 
     @Override
@@ -155,17 +144,17 @@ public class RootBindingAwareBroker implements //
         return registerConsumer(consumer);
     }
 
-    @Override
-    public ProviderContext registerProvider(final BindingAwareProvider provider, final BundleContext ctx) {
-        return registerProvider(provider);
-    }
-
     @Override
     public ConsumerContext registerConsumer(final BindingAwareConsumer consumer) {
         checkState(supportedConsumerServices != null, "Broker is not initialized.");
         return BindingContextUtils.createConsumerContextAndInitialize(consumer, supportedConsumerServices);
     }
 
+    @Override
+    public ProviderContext registerProvider(final BindingAwareProvider provider, final BundleContext ctx) {
+        return registerProvider(provider);
+    }
+
     @Override
     public ProviderContext registerProvider(final BindingAwareProvider provider) {
         checkState(supportedProviderServices != null, "Broker is not initialized.");
@@ -173,7 +162,7 @@ public class RootBindingAwareBroker implements //
     }
 
     @Override
-    public void close() throws Exception {
+    public void close() {
         // FIXME: Close all sessions
     }
 
@@ -195,18 +184,17 @@ public class RootBindingAwareBroker implements //
     }
 
     @Override
-    public <L extends RouteChangeListener<RpcContextIdentifier, InstanceIdentifier<?>>> ListenerRegistration<L> registerRouteChangeListener(
-            final L arg0) {
-        return getRoot().registerRouteChangeListener(arg0);
+    public <L extends RouteChangeListener<RpcContextIdentifier, InstanceIdentifier<?>>> ListenerRegistration<L>
+            registerRouteChangeListener(final L listener) {
+        return getRoot().registerRouteChangeListener(listener);
     }
 
-    public class RootSalInstance extends
-            AbstractBindingSalProviderInstance<DataProviderService, NotificationProviderService, RpcProviderRegistry> {
+    public static class RootSalInstance extends
+            AbstractBindingSalProviderInstance<NotificationProviderService, RpcProviderRegistry> {
 
         public RootSalInstance(final RpcProviderRegistry rpcRegistry,
-                final NotificationProviderService notificationBroker, final DataProviderService dataBroker) {
-            super(rpcRegistry, notificationBroker, dataBroker);
+                final NotificationProviderService notificationBroker) {
+            super(rpcRegistry, notificationBroker);
         }
     }
-
 }