[ONOS-3801] Implements L3 REST call json parser
- Nullability check for RouterCodec, RoutingInterfaceCodec, RoutingWebResource.
- Copyright fixed.
- externalFixedIps() method in OpenstackExternalGateway class returns the immutable Map.
Change-Id: I841cc1774a074e167ffe327c6e81d3f245cc8ee0
diff --git a/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackExternalGateway.java b/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackExternalGateway.java
index c435ab7..ac70701 100644
--- a/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackExternalGateway.java
+++ b/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackExternalGateway.java
@@ -15,9 +15,11 @@
*/
package org.onosproject.openstackrouting;
+import com.google.common.collect.ImmutableMap;
import org.onlab.packet.Ip4Address;
import java.util.HashMap;
+import java.util.Map;
/**
* A configurable external gateway modes extension model in openstack router.
@@ -26,15 +28,18 @@
private String networkId;
private boolean enablePnat;
- private HashMap<String, Ip4Address> externalFixedIps;
+ private Map<String, Ip4Address> externalFixedIps;
private OpenstackExternalGateway(String networkId, boolean enablePnat,
- HashMap externalFixedIps) {
+ Map<String, Ip4Address> externalFixedIps) {
this.networkId = networkId;
this.enablePnat = enablePnat;
this.externalFixedIps = externalFixedIps;
}
+ public static OpenstackExternalGateway.Builder builder() {
+ return new Builder();
+ }
/**
* Returns network ID.
*
@@ -53,13 +58,17 @@
return enablePnat;
}
+ public Map<String, Ip4Address> externalFixedIps() {
+ return ImmutableMap.copyOf(externalFixedIps);
+ }
+
/**
* An Openstack External Gateway Builder class.
*/
public static final class Builder {
private String networkId;
private boolean enablePnat;
- private HashMap<String, Ip4Address> externalFixedIps;
+ private Map<String, Ip4Address> externalFixedIps;
Builder() {
externalFixedIps = new HashMap<>();
@@ -90,11 +99,12 @@
/**
* Sets external fixed IP address information.
*
- * @param externalFixedIPs External fixed IP information
+ * @param externalFixedIps External fixed IP information
* @return Builder object
*/
- public Builder externalFixedIps(HashMap<String, Ip4Address> externalFixedIPs) {
- this.externalFixedIps.putAll(externalFixedIPs);
+
+ public Builder externalFixedIps(Map<String, Ip4Address> externalFixedIps) {
+ this.externalFixedIps.putAll(externalFixedIps);
return this;
}