X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fentityownership%2FEntityOwnershipStatistics.java;fp=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fentityownership%2FEntityOwnershipStatistics.java;h=6c013c1c8f37ee50c9fda10fa40e372dd9dd86c9;hp=02bd00bfb1e43a7dfcd01c7fb98f85f64529f387;hb=83c901ab9309bda0f78e8a847a5511061f6e79b5;hpb=b0f8283587b5cc8573d29f66219cbe7f70e21e1b diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatistics.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatistics.java index 02bd00bfb1..6c013c1c8f 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatistics.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/entityownership/EntityOwnershipStatistics.java @@ -9,6 +9,7 @@ package org.opendaylight.controller.cluster.datastore.entityownership; import static org.opendaylight.controller.cluster.datastore.entityownership.EntityOwnersModel.entityTypeFromEntityPath; + import com.google.common.base.Optional; import com.google.common.base.Strings; import com.romix.scala.collection.concurrent.TrieMap; @@ -24,13 +25,13 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNod /** * EntityOwnershipStatistics is a utility class that keeps track of ownership statistics for the candidates and * caches it for quick count queries. - *

+ *

* While the entity ownership model does maintain the information about which entity is owned by which candidate * finding out how many entities of a given type are owned by a given candidate is not an efficient query. */ class EntityOwnershipStatistics extends AbstractEntityOwnerChangeListener { - private TrieMap> statistics = new TrieMap<>(); + private final TrieMap> statistics = new TrieMap<>(); EntityOwnershipStatistics(){ } @@ -42,14 +43,14 @@ class EntityOwnershipStatistics extends AbstractEntityOwnerChangeListener { LeafNode ownerLeaf = (LeafNode) changeRoot.getDataAfter().get(); String entityType = entityTypeFromEntityPath(change.getRootPath()); String newOwner = extractOwner(ownerLeaf); - if(!Strings.isNullOrEmpty(newOwner)) { + if (!Strings.isNullOrEmpty(newOwner)) { updateStatistics(entityType, newOwner, 1); } Optional> dataBefore = changeRoot.getDataBefore(); if (dataBefore.isPresent()) { String origOwner = extractOwner((LeafNode) changeRoot.getDataBefore().get()); - if(!Strings.isNullOrEmpty(origOwner)) { + if (!Strings.isNullOrEmpty(origOwner)) { updateStatistics(entityType, origOwner, -1); } } @@ -64,26 +65,26 @@ class EntityOwnershipStatistics extends AbstractEntityOwnerChangeListener { return snapshot; } - Map byEntityType(String entityType){ - if(statistics.get(entityType) != null) { + Map byEntityType(String entityType) { + if (statistics.get(entityType) != null) { return statistics.get(entityType).readOnlySnapshot(); } return new HashMap<>(); } - private void updateStatistics(String entityType, String candidateName, long count){ - Map m = statistics.get(entityType); - if(m == null){ - m = new TrieMap<>(); - m.put(candidateName, count); - statistics.put(entityType, m); + private void updateStatistics(String entityType, String candidateName, long count) { + Map map = statistics.get(entityType); + if (map == null) { + map = new TrieMap<>(); + map.put(candidateName, count); + statistics.put(entityType, map); } else { - Long candidateOwnedEntities = m.get(candidateName); - if(candidateOwnedEntities == null){ - m.put(candidateName, count); + Long candidateOwnedEntities = map.get(candidateName); + if (candidateOwnedEntities == null) { + map.put(candidateName, count); } else { - m.put(candidateName, candidateOwnedEntities + count); + map.put(candidateName, candidateOwnedEntities + count); } } } -} \ No newline at end of file +}