X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fstatistics-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fstatistics%2Fmanager%2Fimpl%2FStatAbstractNotifyCommit.java;fp=opendaylight%2Fmd-sal%2Fstatistics-manager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fstatistics%2Fmanager%2Fimpl%2FStatAbstractNotifyCommit.java;h=6bc6a30f8fb806ebe9e3b15473f7160ccba7670d;hp=08871e99806c7b51be2480f40b2d50914d96c0f9;hb=227a056ef3f8d9dee9414948ea261b0d2348a1f1;hpb=462f9ceb7da71750eead2a15f47e6229980954ad diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/impl/StatAbstractNotifyCommit.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/impl/StatAbstractNotifyCommit.java index 08871e9980..6bc6a30f8f 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/impl/StatAbstractNotifyCommit.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/impl/StatAbstractNotifyCommit.java @@ -110,6 +110,29 @@ public abstract class StatAbstractNotifyCommit i return txContainer; } + /** + * Method validate TransactionCacheContainer. It needs to call before every txCacheContainer processing. + * + * @param txCacheContainer + * @return + */ + protected boolean isTransactionCacheContainerValid(final Optional> txCacheContainer) { + if ( ! txCacheContainer.isPresent()) { + LOG.debug("Transaction Cache Container is not presented!"); + return false; + } + if (txCacheContainer.get().getNodeId() == null) { + LOG.debug("Transaction Cache Container {} don't have Node ID!", txCacheContainer.get().getId()); + return false; + } + if (txCacheContainer.get().getNotifications() == null) { + LOG.debug("Transaction Cache Container {} for {} node don't have Notifications!", + txCacheContainer.get().getId(), txCacheContainer.get().getNodeId()); + return false; + } + return true; + } + /** * Wrapping Future object call to {@link org.opendaylight.controller.md.statistics.manager.StatRpcMsgManager} * isExpectedStatistics with 10sec TimeOut.