[SDFAB-359] Allow purging flows, groups and meters by device and application ID
Change-Id: I5e507d230789979ac997dbc99697fa0483363f70
(cherry picked from commit cfd774018c0ed926873b1e171c106217cb2ac568)
diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleFlowRuleStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleFlowRuleStore.java
index 31b58fb..3b667a8 100644
--- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleFlowRuleStore.java
+++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleFlowRuleStore.java
@@ -25,6 +25,7 @@
import com.google.common.collect.Streams;
import com.google.common.util.concurrent.SettableFuture;
import org.onlab.util.Tools;
+import org.onosproject.core.ApplicationId;
import org.onosproject.net.DeviceId;
import org.onosproject.net.flow.CompletedBatchOperation;
import org.onosproject.net.flow.DefaultFlowEntry;
@@ -301,6 +302,16 @@
}
@Override
+ public boolean purgeFlowRules(DeviceId deviceId, ApplicationId appId) {
+ flowEntries.get(deviceId).values()
+ .removeIf(storedFlowEntries -> {
+ storedFlowEntries.removeIf(storedFlowEntry -> storedFlowEntry.appId() == appId.id());
+ return storedFlowEntries.isEmpty();
+ });
+ return true;
+ }
+
+ @Override
public void purgeFlowRules() {
flowEntries.clear();
}