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