sal-binding-api: use lambdas
[controller.git] / opendaylight / md-sal / sal-binding-api / src / main / java / org / opendaylight / controller / sal / binding / api / AbstractBrokerAwareActivator.java
index b62e452..a489e63 100644 (file)
@@ -27,26 +27,20 @@ public abstract class AbstractBrokerAwareActivator implements BundleActivator {
         @Override
         public BindingAwareBroker addingService(ServiceReference<BindingAwareBroker> reference) {
             broker = context.getService(reference);
-            mdActivationPool.execute(new Runnable() {
-
-                @Override
-                public void run() {
-                    onBrokerAvailable(broker, context);
-                }
-            });
+            mdActivationPool.execute(() -> onBrokerAvailable(broker, context));
             return broker;
         }
 
         @Override
         public void modifiedService(ServiceReference<BindingAwareBroker> reference, BindingAwareBroker service) {
-            // TODO Auto-generated method stub
-
+            removedService(reference, service);
+            addingService(reference);
         }
 
         @Override
         public void removedService(ServiceReference<BindingAwareBroker> reference, BindingAwareBroker service) {
-            // TODO Auto-generated method stub
-
+            broker = context.getService(reference);
+            mdActivationPool.execute(() -> onBrokerRemoved(broker, context));
         }
 
     };
@@ -72,7 +66,7 @@ public abstract class AbstractBrokerAwareActivator implements BundleActivator {
 
     /**
      * Called when this bundle is started (before
-     * {@link #onSessionInitiated(ProviderContext)} so the Framework can perform
+     * {@link BindingAwareProvider#onSessionInitiated(ProviderContext)} so the Framework can perform
      * the bundle-specific activities necessary to start this bundle. This
      * method can be used to register services or to allocate any resources that
      * this bundle needs.
@@ -82,7 +76,7 @@ public abstract class AbstractBrokerAwareActivator implements BundleActivator {
      *
      * @param context
      *            The execution context of the bundle being started.
-     * @throws Exception
+     * @throws RuntimeException
      *             If this method throws an exception, this bundle is marked as
      *             stopped and the Framework will remove this bundle's
      *             listeners, unregister all services registered by this bundle,
@@ -104,7 +98,7 @@ public abstract class AbstractBrokerAwareActivator implements BundleActivator {
      * This method must complete and return to its caller in a timely manner.
      *
      * @param context The execution context of the bundle being stopped.
-     * @throws Exception If this method throws an exception, the bundle is still
+     * @throws RuntimeException If this method throws an exception, the bundle is still
      *         marked as stopped, and the Framework will remove the bundle's
      *         listeners, unregister all services registered by the bundle, and
      *         release all services used by the bundle.
@@ -117,6 +111,6 @@ public abstract class AbstractBrokerAwareActivator implements BundleActivator {
     protected abstract void onBrokerAvailable(BindingAwareBroker broker, BundleContext context);
 
     protected void onBrokerRemoved(BindingAwareBroker broker, BundleContext context) {
-
+        stopImpl(context);
     }
 }

©2013 OpenDaylight, A Linux Foundation Collaborative Project. All Rights Reserved.
OpenDaylight is a registered trademark of The OpenDaylight Project, Inc.
Linux Foundation and OpenDaylight are registered trademarks of the Linux Foundation.
Linux is a registered trademark of Linus Torvalds.