[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;
         }