Make some DHCP options and host discovery configurable

- Added broadcast option
- Made host discovery from DHCP configurable
- Some code cleanups

Change-Id: I42191c2fd17ef309c73a5382730d708686b835cd
diff --git a/apps/dhcp/app/src/test/java/org/onosproject/dhcp/impl/DhcpManagerTest.java b/apps/dhcp/app/src/test/java/org/onosproject/dhcp/impl/DhcpManagerTest.java
index 280a5ea..3f27109 100644
--- a/apps/dhcp/app/src/test/java/org/onosproject/dhcp/impl/DhcpManagerTest.java
+++ b/apps/dhcp/app/src/test/java/org/onosproject/dhcp/impl/DhcpManagerTest.java
@@ -28,6 +28,7 @@
 import org.onlab.packet.IpAddress;
 import org.onlab.packet.MacAddress;
 import org.onlab.packet.UDP;
+import org.onosproject.cfg.ComponentConfigAdapter;
 import org.onosproject.core.CoreServiceAdapter;
 import org.onosproject.dhcp.DhcpStore;
 import org.onosproject.dhcp.IpAssignment;
@@ -93,6 +94,7 @@
         hostProviderService = new TestHostProviderService(new TestHostProvider());
         dhcpXManager.hostProviderService = hostProviderService;
         dhcpXManager.hostProviderRegistry = new TestHostRegistry();
+        dhcpXManager.componentConfigService = new TestComponentConfig();
         dhcpXManager.activate();
     }
 
@@ -228,8 +230,7 @@
             return Ip4Address.valueOf(EXPECTED_IP);
         }
 
-        public boolean assignIP(HostId hostId, Ip4Address ipAddr, int leaseTime, boolean fromOpenStack,
-                                List<Ip4Address> addressList) {
+        public boolean assignIP(HostId hostId, IpAssignment ipAssignment) {
             return true;
         }
 
@@ -256,8 +257,7 @@
             return map;
         }
 
-        public boolean assignStaticIP(MacAddress macID, Ip4Address ipAddr, boolean fromOpenStack,
-                                      List<Ip4Address> addressList) {
+        public boolean assignStaticIP(MacAddress macID, IpAssignment ipAssignment) {
             return true;
         }
 
@@ -327,6 +327,13 @@
     }
 
     /**
+     * Mocks the ComponentConfigRegistry.
+     */
+    private class TestComponentConfig extends ComponentConfigAdapter {
+
+    }
+
+    /**
      * Mocks the HostProviderService.
      */
     private class TestHostProviderService extends AbstractProviderService<HostProvider>
diff --git a/apps/dhcp/app/src/test/resources/dhcp-cfg.json b/apps/dhcp/app/src/test/resources/dhcp-cfg.json
index abc48a8..4971fa7 100644
--- a/apps/dhcp/app/src/test/resources/dhcp-cfg.json
+++ b/apps/dhcp/app/src/test/resources/dhcp-cfg.json
@@ -9,14 +9,14 @@
         "router": "10.0.0.1",
         "domain": "10.0.0.1",
         "ttl": "63",
-        "lease": "300",
+        "lease": 300,
         "renew": "150",
-        "rebind": "200",
+        "rebind": 200,
         "delay": "3",
-        "timeout": "150",
+        "timeout": 150,
         "startip": "10.0.0.110",
         "endip": "10.0.0.130"
       }
     }
   }
-}
\ No newline at end of file
+}