BUG-1558 Fix BindingAwareActivator ignoring removedService call. 13/10013/1
authorMaros Marsalek <mmarsale@cisco.com>
Mon, 18 Aug 2014 07:42:02 +0000 (09:42 +0200)
committerMaros Marsalek <mmarsale@cisco.com>
Mon, 18 Aug 2014 07:42:02 +0000 (09:42 +0200)
Change-Id: I0a062bb144af7d4d70bc3f708e0f919bcce3dc9b
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
opendaylight/md-sal/sal-binding-api/src/main/java/org/opendaylight/controller/sal/binding/api/AbstractBrokerAwareActivator.java

index b62e4529f341f76a53d522f49dd4f935e781887d..bd78c584ee95ec9a6f9fff0f3dce728c154f0222 100644 (file)
@@ -39,14 +39,20 @@ public abstract class AbstractBrokerAwareActivator implements BundleActivator {
 
         @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(new Runnable() {
 
+                @Override
+                public void run() {
+                    onBrokerRemoved(broker, context);
+                }
+            });
         }
 
     };
@@ -117,6 +123,6 @@ public abstract class AbstractBrokerAwareActivator implements BundleActivator {
     protected abstract void onBrokerAvailable(BindingAwareBroker broker, BundleContext context);
 
     protected void onBrokerRemoved(BindingAwareBroker broker, BundleContext context) {
-
+        stopImpl(context);
     }
 }