Fix get all meters filtering by device id
Change-Id: I8fdd21100093579c6ac1caa689a38dc7be1a0141
(cherry picked from commit 4a1b4fbcb5a2c358bbd0851116100f4dbec3eae6)
diff --git a/core/store/dist/src/main/java/org/onosproject/store/meter/impl/DistributedMeterStore.java b/core/store/dist/src/main/java/org/onosproject/store/meter/impl/DistributedMeterStore.java
index 43188c1..17f85ff 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/meter/impl/DistributedMeterStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/meter/impl/DistributedMeterStore.java
@@ -357,12 +357,14 @@
if (scope.equals(MeterScope.globalScope())) {
return Collections2.transform(
Collections2.filter(ImmutableSet.copyOf(metersMap.values()),
- (MeterData m) -> m.meter().meterCellId().type() == INDEX),
+ (MeterData m) -> m.meter().meterCellId().type() == INDEX &&
+ m.meter().deviceId().equals(deviceId)),
MeterData::meter);
}
return Collections2.transform(
Collections2.filter(ImmutableSet.copyOf(metersMap.values()),
(MeterData m) -> m.meter().meterCellId().type() == PIPELINE_INDEPENDENT &&
+ m.meter().deviceId().equals(deviceId) &&
((PiMeterCellId) m.meter().meterCellId()).meterId().id().equals(scope.id())),
MeterData::meter);
}