[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;
         }
 
diff --git a/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackIcmpHandler.java b/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackIcmpHandler.java
index 7186903..67c6724 100644
--- a/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackIcmpHandler.java
+++ b/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackIcmpHandler.java
@@ -31,4 +31,4 @@
     public void run() {
 
     }
-}
+}
\ No newline at end of file
diff --git a/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackPnatHandler.java b/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackPnatHandler.java
index 60ec31b..e1c9df8 100644
--- a/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackPnatHandler.java
+++ b/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackPnatHandler.java
@@ -31,4 +31,4 @@
     public void run() {
 
     }
-}
+}
\ No newline at end of file
diff --git a/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackRouter.java b/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackRouter.java
index 213ca28..fc858fc 100644
--- a/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackRouter.java
+++ b/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackRouter.java
@@ -44,6 +44,10 @@
 
     }
 
+    public static OpenstackRouter.Builder builder() {
+        return new Builder();
+    }
+
     /**
      * Returns tenant ID.
      *
diff --git a/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackRoutingManager.java b/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackRoutingManager.java
index ae41bf2..5bfc5ea 100644
--- a/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackRoutingManager.java
+++ b/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackRoutingManager.java
@@ -124,10 +124,9 @@
     }
 
     @Override
-    public void deleteRouterInterface(String id) {
+    public void removeRouterInterface(OpenstackRouterInterface openstackRouterInterface) {
 
     }
-
     private class InternalPacketProcessor implements PacketProcessor {
 
         @Override
diff --git a/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackRoutingService.java b/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackRoutingService.java
index aca25fb..3840cb2 100644
--- a/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackRoutingService.java
+++ b/apps/openstackrouting/src/main/java/org/onosproject/openstackrouting/OpenstackRoutingService.java
@@ -77,11 +77,11 @@
     void updateRouterInterface(OpenstackRouterInterface openstackRouterInterface);
 
     /**
-     * Removes flow rules corresponding to the router information deleted by Openstack.
+     * Removes flow rules corresponding to the router information removed by Openstack.
      *
-     * @param id Deleted router`s ID
+     * @param openstackRouterInterface Router information
      */
-    void deleteRouterInterface(String id);
+    void removeRouterInterface(OpenstackRouterInterface openstackRouterInterface);
 
 
 }