From 10611143e06f2dc4bbd6d12b898f0bbbcbe2a6ec Mon Sep 17 00:00:00 2001 From: Jozef Gloncak Date: Wed, 13 May 2015 13:32:20 +0200 Subject: [PATCH] Multipart processing - gett id from device context. For deleting of meter, group and flow statistics was used attitude, where node id was get from statistic data. This patch changed it to get node id from device context. Change-Id: I0dbad1c246347b3fd9be7a097adda9c2c2f10bd1 Signed-off-by: Jozef Gloncak --- .../statistics/StatisticsGatheringUtils.java | 31 ++++++------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsGatheringUtils.java b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsGatheringUtils.java index 05ff9d495a..f59bbd662f 100644 --- a/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsGatheringUtils.java +++ b/openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsGatheringUtils.java @@ -188,14 +188,11 @@ public final class StatisticsGatheringUtils { } private static void processFlowStatistics(final Iterable data, final DeviceContext deviceContext) { - boolean isFirstLoop = true; + final NodeId nodeId = deviceContext.getDeviceState().getNodeId(); + final InstanceIdentifier nodeIdent = InstanceIdentifier.create(Nodes.class) + .child(Node.class, new NodeKey(nodeId)); + deleteAllKnownFlows(deviceContext, nodeIdent); for (final FlowsStatisticsUpdate flowsStatistics : data) { - if (isFirstLoop) { - final InstanceIdentifier nodeIdent = InstanceIdentifier.create(Nodes.class) - .child(Node.class, new NodeKey(flowsStatistics.getId())); - deleteAllKnownFlows(deviceContext, nodeIdent); - isFirstLoop = false; - } for (final FlowAndStatisticsMapList flowStat : flowsStatistics.getFlowAndStatisticsMapList()) { final FlowBuilder flowBuilder = new FlowBuilder(flowStat); FlowId flowId = null; @@ -296,13 +293,10 @@ public final class StatisticsGatheringUtils { private static void processMetersStatistics(final Iterable data, final DeviceContext deviceContext) { - boolean isFirstLoop = true; + NodeId nodeId = deviceContext.getDeviceState().getNodeId(); + final InstanceIdentifier fNodeIdent = getFlowCapableNodeInstanceIdentifier(nodeId); + deleteAllKnownMeters(deviceContext, fNodeIdent); for (MeterStatisticsUpdated meterStatisticsUpdated : data) { - final InstanceIdentifier fNodeIdent = getFlowCapableNodeInstanceIdentifier(meterStatisticsUpdated.getId()); - if (isFirstLoop) { - deleteAllKnownMeters(deviceContext, fNodeIdent); - isFirstLoop = false; - } for (final MeterStats mStat : meterStatisticsUpdated.getMeterStats()) { final MeterStatistics stats = new MeterStatisticsBuilder(mStat).build(); final MeterId meterId = mStat.getMeterId(); @@ -352,15 +346,10 @@ public final class StatisticsGatheringUtils { } private static void processGroupStatistics(final Iterable data, final DeviceContext deviceContext) { - boolean isFirstLoop = true; + NodeId nodeId = deviceContext.getDeviceState().getNodeId(); + final InstanceIdentifier fNodeIdent = getFlowCapableNodeInstanceIdentifier(nodeId); + deleteAllKnownGroups(deviceContext, fNodeIdent); for (GroupStatisticsUpdated groupStatistics : data) { - NodeId nodeId = groupStatistics.getId(); - final InstanceIdentifier fNodeIdent = getFlowCapableNodeInstanceIdentifier(nodeId); - if (isFirstLoop) { - deleteAllKnownGroups(deviceContext, fNodeIdent); - isFirstLoop = false; - } - for (final GroupStats groupStats : groupStatistics.getGroupStats()) { final InstanceIdentifier groupIdent = fNodeIdent.child(Group.class, new GroupKey(groupStats.getGroupId())); -- 2.36.6