[ONOS-8087] Per device purgeOnDisconnection Flag
Change-Id: I7cb1db12a4d910d70123f116107a898bf9e6d278
diff --git a/app/src/test/java/org/onosproject/segmentrouting/MockNetworkConfigRegistry.java b/app/src/test/java/org/onosproject/segmentrouting/MockNetworkConfigRegistry.java
index e18483e..12d57ea 100644
--- a/app/src/test/java/org/onosproject/segmentrouting/MockNetworkConfigRegistry.java
+++ b/app/src/test/java/org/onosproject/segmentrouting/MockNetworkConfigRegistry.java
@@ -16,10 +16,14 @@
package org.onosproject.segmentrouting;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
+import org.onosproject.net.DeviceId;
import org.onosproject.net.config.Config;
import org.onosproject.net.config.NetworkConfigRegistryAdapter;
+import org.onosproject.net.config.basics.BasicDeviceConfig;
import java.util.Objects;
import java.util.Set;
@@ -44,6 +48,25 @@
}
@Override
+ public <S, C extends Config<S>> C addConfig(S subject, Class<C> configClass) {
+ Config c = configs.stream()
+ .filter(config -> subject.equals(config.subject()))
+ .filter(config -> configClass.equals(config.getClass()))
+ .findFirst().orElseGet(() -> {
+ if (configClass.equals(BasicDeviceConfig.class)) {
+ BasicDeviceConfig deviceConfig = new BasicDeviceConfig();
+ ObjectMapper mapper = new ObjectMapper();
+ deviceConfig.init((DeviceId) subject, ((DeviceId) subject).toString(),
+ JsonNodeFactory.instance.objectNode(), mapper, config -> {
+ });
+ return deviceConfig;
+ }
+ return null;
+ });
+ return (C) c;
+ }
+
+ @Override
public <S, C extends Config<S>> Set<S> getSubjects(Class<S> subject, Class<C> configClass) {
ImmutableSet.Builder<S> builder = ImmutableSet.builder();
String cName = configClass.getName();