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/main/java/org/onosproject/dhcp/rest/DhcpWebResource.java b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/rest/DhcpWebResource.java
index e4c6246..cea58ff 100644
--- a/apps/dhcp/app/src/main/java/org/onosproject/dhcp/rest/DhcpWebResource.java
+++ b/apps/dhcp/app/src/main/java/org/onosproject/dhcp/rest/DhcpWebResource.java
@@ -18,7 +18,6 @@
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.Lists;
 import org.onlab.packet.Ip4Address;
 import org.onlab.packet.MacAddress;
 import org.onosproject.dhcp.DhcpService;
@@ -36,8 +35,11 @@
 import javax.ws.rs.core.Response;
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.Date;
 import java.util.Map;
 
+import static org.onosproject.dhcp.IpAssignment.AssignmentStatus.Option_Requested;
+
 /**
  * Manage DHCP address assignments.
  */
@@ -120,10 +122,15 @@
             JsonNode macID = jsonTree.get("mac");
             JsonNode ip = jsonTree.get("ip");
             if (macID != null && ip != null) {
+                IpAssignment ipAssignment = IpAssignment.builder()
+                        .ipAddress(Ip4Address.valueOf(ip.asText()))
+                        .leasePeriod(service.getLeaseTime())
+                        .timestamp(new Date())
+                        .assignmentStatus(Option_Requested)
+                        .build();
 
                 if (!service.setStaticMapping(MacAddress.valueOf(macID.asText()),
-                                              Ip4Address.valueOf(ip.asText()),
-                                              false, Lists.newArrayList())) {
+                                              ipAssignment)) {
                     throw new IllegalArgumentException("Static Mapping Failed. " +
                                                                "The IP maybe unavailable.");
                 }