[VOL-2778] Tracking multiple DHCP allocation per Subscriber

Change-Id: Ib0b60b0fa20661b9dbb58739b0cb31e79b11485f
diff --git a/api/src/main/java/org/opencord/dhcpl2relay/DhcpAllocationInfo.java b/api/src/main/java/org/opencord/dhcpl2relay/DhcpAllocationInfo.java
index f87c5b0..770b2f0 100755
--- a/api/src/main/java/org/opencord/dhcpl2relay/DhcpAllocationInfo.java
+++ b/api/src/main/java/org/opencord/dhcpl2relay/DhcpAllocationInfo.java
@@ -33,6 +33,7 @@
     private IpAddress ip;
     private Instant allocationTime;
     private DHCP.MsgType type;
+    private String subscriberId;
 
     /**
      * Creates a new DHCP allocation info record.
@@ -42,15 +43,17 @@
      * @param circuitId option 82 information
      * @param macAddress MAC address of client
      * @param ip IP of client if allocated
+     * @param subscriberId Sadis ID of a subscriber
      */
     public DhcpAllocationInfo(ConnectPoint location, DHCP.MsgType type,
-                              String circuitId, MacAddress macAddress, IpAddress ip) {
+                              String circuitId, MacAddress macAddress, IpAddress ip, String subscriberId) {
         this.location = location;
         this.type = type;
         this.circuitId = circuitId;
         this.macAddress = macAddress;
         this.ip = ip;
         this.allocationTime = Instant.now();
+        this.subscriberId = subscriberId;
     }
 
     /**
@@ -99,6 +102,15 @@
     }
 
     /**
+     * SubscriberId of client if it has one.
+     *
+     * @return SubscriberId
+     */
+    public String subscriberId() {
+        return subscriberId;
+    }
+
+    /**
      * Timestamp when the last DHCP message was seen.
      *
      * @return time