BUG-5888: Registering entity-ownership listerner globally 29/39629/3
authorShuva Kar <shuva.jyoti.kar@ericsson.com>
Tue, 31 May 2016 06:21:30 +0000 (11:51 +0530)
committerShuva Jyoti Kar <shuva.jyoti.kar@ericsson.com>
Tue, 31 May 2016 06:55:10 +0000 (06:55 +0000)
Change-Id: I9f3208ffb718a16da34b4baaaf220629784d0333
Signed-off-by: Shuva Kar <shuva.jyoti.kar@ericsson.com>
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/role/OfEntityManager.java
openflowplugin/src/main/java/org/opendaylight/openflowplugin/openflow/md/core/sal/OpenflowPluginProvider.java

index 9963aaa8da6c6e7f814122d7fc5fc56a3443ed84..910f930f6527df59be3648fb9de6df67568c92d0 100644 (file)
@@ -80,6 +80,19 @@ public class OfEntityManager implements TransactionChainListener{
         this.dataBroker = dbBroker;
     }
 
+    public void init(){
+        registerEntityOwnershipChangeListener();
+    }
+
+    public void registerEntityOwnershipChangeListener() {
+        if(entityOwnershipService!=null) {
+            if(LOG.isDebugEnabled()) {
+                LOG.debug("registerEntityOwnershipChangeListener: Registering entity ownership change listener for entitier of type {}", DEVICE_TYPE);
+            }
+        entityOwnershipService.registerListener(DEVICE_TYPE, ownershipListener);
+        }
+    }
+
     public void requestOpenflowEntityOwnership(final ModelDrivenSwitch ofSwitch,
                                                final SessionContext context,
                                                final NotificationQueueWrapper wrappedNotification,
@@ -87,9 +100,6 @@ public class OfEntityManager implements TransactionChainListener{
         MDSwitchMetaData entityMetaData =
                 new MDSwitchMetaData(ofSwitch,context,wrappedNotification,rpcProviderRegistry);
 
-        if (registeredListener.compareAndSet(false, true)) {
-            entityOwnershipService.registerListener(DEVICE_TYPE, ownershipListener);
-        }
         final Entity entity = new Entity(DEVICE_TYPE, ofSwitch.getNodeId().getValue());
         entsession.put(entity, entityMetaData);
 
index 24b6533ea72e0f0bd90a4c277dde10a1c89fbaac..dac95eb86b21ec91473eea8db875f9a43e37aa0c 100644 (file)
@@ -67,6 +67,7 @@ public class OpenflowPluginProvider implements AutoCloseable, OpenFlowPluginExte
         roleManager = new OFRoleManager(OFSessionUtil.getSessionManager());
         entManager = new OfEntityManager(entityOwnershipService,getOpenflowPluginConfig());
         entManager.setDataBroker(dataBroker);
+        entManager.init();
 
         LOG.debug("dependencies gathered..");
         registrationManager = new SalRegistrationManager();