Implement kubevirt router store, manager and codec with unit tests
Change-Id: Ib93a71326aa35b4817f0e6b6c97d5f57b26fe470
diff --git a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/DefaultKubevirtRouter.java b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/DefaultKubevirtRouter.java
index e606275..4bf04a2 100644
--- a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/DefaultKubevirtRouter.java
+++ b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/DefaultKubevirtRouter.java
@@ -18,7 +18,6 @@
import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
-import org.onlab.packet.IpAddress;
import java.util.HashMap;
import java.util.HashSet;
@@ -39,7 +38,7 @@
private final String description;
private final boolean enableSnat;
private final Set<String> internal;
- private final Map<IpAddress, String> external;
+ private final Map<String, String> external;
private final KubevirtPeerRouter peerRouter;
/**
@@ -54,7 +53,7 @@
*/
public DefaultKubevirtRouter(String name, String description, boolean enableSnat,
Set<String> internal,
- Map<IpAddress, String> external,
+ Map<String, String> external,
KubevirtPeerRouter peerRouter) {
this.name = name;
this.description = description;
@@ -85,7 +84,7 @@
}
@Override
- public Map<IpAddress, String> external() {
+ public Map<String, String> external() {
return ImmutableMap.copyOf(external);
}
@@ -95,6 +94,18 @@
}
@Override
+ public KubevirtRouter updatePeerRouter(KubevirtPeerRouter updated) {
+ return DefaultKubevirtRouter.builder()
+ .name(name)
+ .enableSnat(enableSnat)
+ .description(description)
+ .internal(internal)
+ .external(external)
+ .peerRouter(updated)
+ .build();
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) {
return true;
@@ -140,7 +151,7 @@
private String description;
private boolean enableSnat;
private Set<String> internal;
- private Map<IpAddress, String> external;
+ private Map<String, String> external;
private KubevirtPeerRouter peerRouter;
@Override
@@ -176,7 +187,7 @@
}
@Override
- public Builder external(Map<IpAddress, String> external) {
+ public Builder external(Map<String, String> external) {
this.external = Objects.requireNonNullElseGet(external, HashMap::new);
return this;
}