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%2FCandidateListChangeListener.java;h=833ca30e31412f8ac159933a02d40e27e50eb05d;hb=d86f990976dcc2879b40dec7df1b3b5fba8cba78;hp=82f926aea9795969073c9fa7f935d0062548aa0f;hpb=9f292bb1b22e7afda167ec2f15e75a2ce90dd7f7;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/CandidateListChangeListener.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/CandidateListChangeListener.java index 82f926aea9..833ca30e31 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/CandidateListChangeListener.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/CandidateListChangeListener.java @@ -47,11 +47,13 @@ import org.slf4j.LoggerFactory; class CandidateListChangeListener implements DOMDataTreeChangeListener { private static final Logger LOG = LoggerFactory.getLogger(CandidateListChangeListener.class); + private final String logId; private final ActorRef shard; private final Map> currentCandidates = new HashMap<>(); - CandidateListChangeListener(ActorRef shard) { + CandidateListChangeListener(ActorRef shard, String logId) { this.shard = Preconditions.checkNotNull(shard, "shard should not be null"); + this.logId = logId; } void init(ShardDataTree shardDataTree) { @@ -64,8 +66,9 @@ class CandidateListChangeListener implements DOMDataTreeChangeListener { public void onDataTreeChanged(Collection changes) { for(DataTreeCandidate change: changes) { DataTreeCandidateNode changeRoot = change.getRootNode(); + ModificationType type = changeRoot.getModificationType(); - LOG.debug("Candidate node changed: {}, {}", changeRoot.getModificationType(), change.getRootPath()); + LOG.debug("{}: Candidate node changed: {}, {}", logId, type, change.getRootPath()); NodeIdentifierWithPredicates candidateKey = (NodeIdentifierWithPredicates) change.getRootPath().getLastPathArgument(); @@ -73,13 +76,13 @@ class CandidateListChangeListener implements DOMDataTreeChangeListener { YangInstanceIdentifier entityId = extractEntityPath(change.getRootPath()); - if(changeRoot.getModificationType() == ModificationType.WRITE) { - LOG.debug("Candidate {} was added for entity {}", candidate, entityId); + if(type == ModificationType.WRITE || type == ModificationType.APPEARED) { + LOG.debug("{}: Candidate {} was added for entity {}", logId, candidate, entityId); Collection currentCandidates = addToCurrentCandidates(entityId, candidate); shard.tell(new CandidateAdded(entityId, candidate, new ArrayList<>(currentCandidates)), shard); - } else if(changeRoot.getModificationType() == ModificationType.DELETE) { - LOG.debug("Candidate {} was removed for entity {}", candidate, entityId); + } else if(type == ModificationType.DELETE || type == ModificationType.DISAPPEARED) { + LOG.debug("{}: Candidate {} was removed for entity {}", logId, candidate, entityId); Collection currentCandidates = removeFromCurrentCandidates(entityId, candidate); shard.tell(new CandidateRemoved(entityId, candidate, new ArrayList<>(currentCandidates)), shard); @@ -109,7 +112,7 @@ class CandidateListChangeListener implements DOMDataTreeChangeListener { return Collections.emptyList(); } - private YangInstanceIdentifier extractEntityPath(YangInstanceIdentifier candidatePath) { + private static YangInstanceIdentifier extractEntityPath(YangInstanceIdentifier candidatePath) { List newPathArgs = new ArrayList<>(); for(PathArgument pathArg: candidatePath.getPathArguments()) { newPathArgs.add(pathArg); @@ -124,4 +127,4 @@ class CandidateListChangeListener implements DOMDataTreeChangeListener { return YangInstanceIdentifier.create(newPathArgs); } -} \ No newline at end of file +}