Bug 4105: Add hasOwner param to EntityOwnershipListener#ownershipChanged
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / entityownership / EntityOwnerChangeListener.java
index cf9df1821a93bab26787e10941c42e870888b17f..cc0b8a318ddc29778cf17b82da2a78adb0237887 100644 (file)
@@ -67,14 +67,14 @@ class EntityOwnerChangeListener implements DOMDataTreeChangeListener {
             if(!Objects.equal(origOwner, newOwner)) {
                 boolean isOwner = Objects.equal(localMemberName, newOwner);
                 boolean wasOwner = Objects.equal(localMemberName, origOwner);
-                if(isOwner || wasOwner) {
-                    Entity entity = createEntity(change.getRootPath());
+                boolean hasOwner = newOwner != null && !newOwner.toString().isEmpty();
 
-                    LOG.debug("{}: Calling notifyEntityOwnershipListeners: entity: {}, wasOwner: {}, isOwner: {}",
-                            logId(), entity, wasOwner, isOwner);
+                Entity entity = createEntity(change.getRootPath());
 
-                    listenerSupport.notifyEntityOwnershipListeners(entity, wasOwner, isOwner);
-                }
+                LOG.debug("{}: Calling notifyEntityOwnershipListeners: entity: {}, wasOwner: {}, isOwner: {}, hasOwner: {}",
+                        logId(), entity, wasOwner, isOwner, hasOwner);
+
+                listenerSupport.notifyEntityOwnershipListeners(entity, wasOwner, isOwner, hasOwner);
             }
         }
     }