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%2FNodeConnectorStatsTracker.java;h=e4490eaa3cc2ea9ac2683ff36f6d48787ddded99;hp=83d9da13f05c83eb7a3971e5152b0116ba78f7ac;hb=d206d27042eef2185c875f85cf6eac61a1bd77c4;hpb=fd3193d2efe85828156e6a670b5c06a0ea485a98 diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/NodeConnectorStatsTracker.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/NodeConnectorStatsTracker.java index 83d9da13f0..e4490eaa3c 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/NodeConnectorStatsTracker.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/NodeConnectorStatsTracker.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.md.statistics.manager; import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction; -import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.transaction.rev131103.TransactionId; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey; @@ -22,25 +21,22 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Preconditions; -import com.google.common.util.concurrent.ListenableFuture; - final class NodeConnectorStatsTracker extends AbstractStatsTracker { private static final Logger logger = LoggerFactory.getLogger(NodeConnectorStatsTracker.class); private final OpendaylightPortStatisticsService portStatsService; - NodeConnectorStatsTracker(final OpendaylightPortStatisticsService portStatsService, final FlowCapableContext context, long lifetimeNanos) { - super(context, lifetimeNanos); - this.portStatsService = Preconditions.checkNotNull(portStatsService); + NodeConnectorStatsTracker(final OpendaylightPortStatisticsService portStatsService, final FlowCapableContext context) { + super(context); + this.portStatsService = portStatsService; } @Override - protected void cleanupSingleStat(DataModificationTransaction trans, NodeConnectorStatisticsAndPortNumberMap item) { + protected void cleanupSingleStat(final DataModificationTransaction trans, final NodeConnectorStatisticsAndPortNumberMap item) { // TODO Auto-generated method stub } @Override - protected NodeConnectorStatisticsAndPortNumberMap updateSingleStat(DataModificationTransaction trans, NodeConnectorStatisticsAndPortNumberMap item) { + protected NodeConnectorStatisticsAndPortNumberMap updateSingleStat(final DataModificationTransaction trans, final NodeConnectorStatisticsAndPortNumberMap item) { FlowCapableNodeConnectorStatisticsBuilder statisticsBuilder = new FlowCapableNodeConnectorStatisticsBuilder(); statisticsBuilder.setBytes(item.getBytes()); @@ -61,26 +57,30 @@ final class NodeConnectorStatsTracker extends AbstractStatsTracker nodeConnectorRef = getNodeIdentifierBuilder() - .child(NodeConnector.class, new NodeConnectorKey(item.getNodeConnectorId())).build(); + final NodeConnectorKey key = new NodeConnectorKey(item.getNodeConnectorId()); + final InstanceIdentifier nodeConnectorRef = getNodeIdentifier().child(NodeConnector.class, key); // FIXME: can we bypass this read? NodeConnector nodeConnector = (NodeConnector)trans.readOperationalData(nodeConnectorRef); if(nodeConnector != null){ final FlowCapableNodeConnectorStatisticsData stats = statisticsDataBuilder.build(); logger.debug("Augmenting port statistics {} to port {}",stats,nodeConnectorRef.toString()); - NodeConnectorBuilder nodeConnectorBuilder = new NodeConnectorBuilder(); - nodeConnectorBuilder.addAugmentation(FlowCapableNodeConnectorStatisticsData.class, stats); + NodeConnectorBuilder nodeConnectorBuilder = new NodeConnectorBuilder() + .setKey(key).setId(item.getNodeConnectorId()) + .addAugmentation(FlowCapableNodeConnectorStatisticsData.class, stats); trans.putOperationalData(nodeConnectorRef, nodeConnectorBuilder.build()); } return item; } - public ListenableFuture request() { - final GetAllNodeConnectorsStatisticsInputBuilder input = new GetAllNodeConnectorsStatisticsInputBuilder(); - input.setNode(getNodeRef()); + @Override + public void request() { + if (portStatsService != null) { + final GetAllNodeConnectorsStatisticsInputBuilder input = new GetAllNodeConnectorsStatisticsInputBuilder(); + input.setNode(getNodeRef()); - return requestHelper(portStatsService.getAllNodeConnectorsStatistics(input.build())); + requestHelper(portStatsService.getAllNodeConnectorsStatistics(input.build())); + } } }