X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fentityownership%2FEntityOwnerChangeListener.java;h=403f19b6239fd1f9543535db1cc4d737cf8f3a60;hb=b14856a01f6515e6063f82e5fb448f7e9a57029b;hp=bea0caa7c666ed2ae158a6e130cf32c04e703730;hpb=ecccb6d5b43dd73aef0d2d19349d19ee9b4728f7;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnerChangeListener.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnerChangeListener.java index bea0caa7c6..403f19b623 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnerChangeListener.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnerChangeListener.java @@ -7,17 +7,13 @@ */ package org.opendaylight.controller.cluster.datastore.entityownership; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_OWNERS_PATH; -import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.ENTITY_QNAME; import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.createEntity; -import com.google.common.base.Objects; import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import com.google.common.base.Strings; import java.util.Collection; -import org.opendaylight.controller.cluster.datastore.ShardDataTree; +import java.util.Objects; import org.opendaylight.controller.md.sal.common.api.clustering.Entity; -import org.opendaylight.controller.md.sal.dom.api.DOMDataTreeChangeListener; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.clustering.entity.owners.rev150804.entity.owners.EntityType; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; @@ -30,24 +26,19 @@ import org.slf4j.LoggerFactory; * * @author Thomas Pantelis */ -class EntityOwnerChangeListener implements DOMDataTreeChangeListener { +class EntityOwnerChangeListener extends AbstractEntityOwnerChangeListener { private static final Logger LOG = LoggerFactory.getLogger(EntityOwnerChangeListener.class); private final String localMemberName; private final EntityOwnershipListenerSupport listenerSupport; - EntityOwnerChangeListener(String localMemberName, EntityOwnershipListenerSupport listenerSupport) { - this.localMemberName = localMemberName; - this.listenerSupport = listenerSupport; - } - - void init(ShardDataTree shardDataTree) { - shardDataTree.registerTreeChangeListener(YangInstanceIdentifier.builder(ENTITY_OWNERS_PATH). - node(EntityType.QNAME).node(EntityType.QNAME).node(ENTITY_QNAME).node(ENTITY_QNAME).node(EntityOwnersModel.ENTITY_OWNER_QNAME).build(), this); + EntityOwnerChangeListener(final String localMemberName, final EntityOwnershipListenerSupport listenerSupport) { + this.localMemberName = Preconditions.checkNotNull(localMemberName); + this.listenerSupport = Preconditions.checkNotNull(listenerSupport); } @Override - public void onDataTreeChanged(Collection changes) { + public void onDataTreeChanged(final Collection changes) { for(DataTreeCandidate change: changes) { DataTreeCandidateNode changeRoot = change.getRootNode(); LeafNode ownerLeaf = (LeafNode) changeRoot.getDataAfter().get(); @@ -64,10 +55,10 @@ class EntityOwnerChangeListener implements DOMDataTreeChangeListener { LOG.debug("{}: New owner: {}, Original owner: {}", logId(), newOwner, origOwner); - if(!Objects.equal(origOwner, newOwner)) { - boolean isOwner = Objects.equal(localMemberName, newOwner); - boolean wasOwner = Objects.equal(localMemberName, origOwner); - boolean hasOwner = newOwner != null && !newOwner.toString().isEmpty(); + if(!Objects.equals(origOwner, newOwner)) { + boolean isOwner = Objects.equals(localMemberName, newOwner); + boolean wasOwner = Objects.equals(localMemberName, origOwner); + boolean hasOwner = !Strings.isNullOrEmpty(newOwner); Entity entity = createEntity(change.getRootPath()); @@ -79,11 +70,6 @@ class EntityOwnerChangeListener implements DOMDataTreeChangeListener { } } - private static String extractOwner(LeafNode ownerLeaf) { - Object value = ownerLeaf.getValue(); - return value != null ? value.toString() : null; - } - private String logId() { return listenerSupport.getLogId(); }