Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fix modernization issues
[controller.git]
/
opendaylight
/
md-sal
/
sal-distributed-datastore
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
datastore
/
entityownership
/
EntityOwnerChangeListener.java
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 cf9df1821a93bab26787e10941c42e870888b17f..38dbae3865fca68afa2cec03424157027c6c4ac9 100644
(file)
--- 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,16
@@
*/
package org.opendaylight.controller.cluster.datastore.entityownership;
*/
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
com.google.common.base.Verify.verifyNotNull
;
+import static
java.util.Objects.requireNonNull
;
import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.createEntity;
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.
Strings
;
import java.util.Collection;
import java.util.Collection;
-import org.opendaylight.controller.cluster.datastore.ShardDataTree;
-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 java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.controller.cluster.access.concepts.MemberName;
+import org.opendaylight.mdsal.eos.dom.api.DOMEntity;
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;
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,61
+29,53
@@
import org.slf4j.LoggerFactory;
*
* @author Thomas Pantelis
*/
*
* @author Thomas Pantelis
*/
-class EntityOwnerChangeListener
implements DOMDataTree
ChangeListener {
+class EntityOwnerChangeListener
extends AbstractEntityOwner
ChangeListener {
private static final Logger LOG = LoggerFactory.getLogger(EntityOwnerChangeListener.class);
private final String localMemberName;
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;
- }
+ private final EntityOwnershipChangePublisher publisher;
-
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 MemberName localMemberName, final EntityOwnershipChangePublisher publisher
) {
+ this.localMemberName = verifyNotNull(localMemberName.getName());
+
this.publisher = requireNonNull(publisher
);
}
@Override
}
@Override
- public void onDataTreeChanged(Collection<DataTreeCandidate> changes) {
- for(DataTreeCandidate change: changes) {
+ public void onDataTreeChanged(
final
Collection<DataTreeCandidate> changes) {
+ for
(DataTreeCandidate change: changes) {
DataTreeCandidateNode changeRoot = change.getRootNode();
LeafNode<?> ownerLeaf = (LeafNode<?>) changeRoot.getDataAfter().get();
DataTreeCandidateNode changeRoot = change.getRootNode();
LeafNode<?> ownerLeaf = (LeafNode<?>) changeRoot.getDataAfter().get();
- LOG.debug("{}: Entity node changed: {}, {}", logId(), changeRoot.getModificationType(), change.getRootPath());
+ LOG.debug("{}: Entity node changed: {}, {}", logId(), changeRoot.getModificationType(),
+ change.getRootPath());
String newOwner = extractOwner(ownerLeaf);
String origOwner = null;
Optional<NormalizedNode<?, ?>> dataBefore = changeRoot.getDataBefore();
String newOwner = extractOwner(ownerLeaf);
String origOwner = null;
Optional<NormalizedNode<?, ?>> dataBefore = changeRoot.getDataBefore();
- if(dataBefore.isPresent()) {
+ if
(dataBefore.isPresent()) {
origOwner = extractOwner((LeafNode<?>) changeRoot.getDataBefore().get());
}
LOG.debug("{}: New owner: {}, Original owner: {}", logId(), newOwner, origOwner);
origOwner = extractOwner((LeafNode<?>) changeRoot.getDataBefore().get());
}
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);
- if(isOwner || wasOwner) {
- Entity entity = createEntity(change.getRootPath());
+ if (!Objects.equals(origOwner, newOwner)) {
+ boolean isOwner = localMemberName.equals(newOwner);
+ boolean wasOwner = localMemberName.equals(origOwner);
+ boolean hasOwner = !Strings.isNullOrEmpty(newOwner);
- LOG.debug("{}: Calling notifyEntityOwnershipListeners: entity: {}, wasOwner: {}, isOwner: {}",
- logId(), entity, wasOwner, isOwner);
+ DOMEntity entity = createEntity(change.getRootPath());
- listenerSupport.notifyEntityOwnershipListeners(entity, wasOwner, isOwner);
- }
+ LOG.debug(
+ "{}: Calling notifyEntityOwnershipListeners: entity: {}, wasOwner: {}, isOwner: {}, hasOwner: {}",
+ logId(), entity, wasOwner, isOwner, hasOwner);
+
+ publisher.notifyEntityOwnershipListeners(entity, wasOwner, isOwner, hasOwner);
}
}
}
}
}
}
- private String extractOwner(LeafNode<?> ownerLeaf) {
- Object value = ownerLeaf.getValue();
- return value != null ? value.toString() : null;
- }
-
private String logId() {
private String logId() {
- return
listenerSupport
.getLogId();
+ return
publisher
.getLogId();
}
}
}
}