Fixing a NullPointerException in Neutron Interface (Bug-323) 67/4367/3
authorMadhu Venugopal <mavenugo@gmail.com>
Fri, 17 Jan 2014 23:58:30 +0000 (15:58 -0800)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 21 Jan 2014 10:09:35 +0000 (10:09 +0000)
Ideally, this condition should never occur. But there seems to be a consistency issue in the ML2 driver
which could potentially result in this condition. While we are addressing the root-cause in ODL ML2
driver, we should also patch our side of the interface as well to avoid failing for such conditions when
it is harmless for a few usecases.

Change-Id: Iff5fdb76b45280aba38607cdcf82715cb4338b05
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
opendaylight/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/NeutronSubnet_IPAllocationPool.java

index 15ff548..dab6991 100644 (file)
@@ -77,15 +77,18 @@ public class NeutronSubnet_IPAllocationPool implements Serializable {
      *
      * @param inputString
      *            IPv4 address in dotted decimal format
-     * @returns high-endian representation of the IPv4 address as a long
+     * @returns high-endian representation of the IPv4 address as a long.
+     *          This method will return 0 if the input is null.
      */
 
     static long convert(String inputString) {
         long ans = 0;
-        String[] parts = inputString.split("\\.");
-        for (String part: parts) {
-            ans <<= 8;
-            ans |= Integer.parseInt(part);
+        if (inputString != null) {
+            String[] parts = inputString.split("\\.");
+            for (String part: parts) {
+                ans <<= 8;
+                ans |= Integer.parseInt(part);
+            }
         }
         return ans;
     }