VOL-743: Send ONU discover events to Kafka message bus

Change-Id: Ia2d1e3e0ae4f2b5384ae1a9d3c0adf8fbe47c321
diff --git a/api/src/main/java/org/opencord/olt/AccessDeviceEvent.java b/api/src/main/java/org/opencord/olt/AccessDeviceEvent.java
index 9c71084..3c189dd 100644
--- a/api/src/main/java/org/opencord/olt/AccessDeviceEvent.java
+++ b/api/src/main/java/org/opencord/olt/AccessDeviceEvent.java
@@ -18,6 +18,7 @@
 import org.onlab.packet.VlanId;
 import org.onosproject.event.AbstractEvent;
 import org.onosproject.net.DeviceId;
+import org.onosproject.net.Port;
 
 import java.util.Optional;
 
@@ -29,6 +30,8 @@
     private final Optional<VlanId> sVlan;
     private final Optional<VlanId> cVlan;
 
+    private final Optional<Port> port;
+
     public enum Type {
         /**
          * A subscriber was registered and provisioned.
@@ -48,8 +51,17 @@
         /**
          * An access device disconnected.
          */
-        DEVICE_DISCONNECTED
+        DEVICE_DISCONNECTED,
 
+        /**
+         * A new UNI port has been detected.
+         */
+        UNI_ADDED,
+
+        /**
+         * An existing UNI port was removed.
+         */
+        UNI_REMOVED
     }
 
     /**
@@ -69,6 +81,7 @@
         super(type, deviceId);
         this.sVlan = Optional.ofNullable(sVlanId);
         this.cVlan = Optional.ofNullable(cVlanId);
+        this.port = Optional.empty();
     }
 
     /**
@@ -89,9 +102,17 @@
         super(type, deviceId, time);
         this.sVlan = Optional.ofNullable(sVlanId);
         this.cVlan = Optional.ofNullable(cVlanId);
+        this.port = Optional.empty();
 
     }
 
+    public AccessDeviceEvent(Type type, DeviceId deviceId, Port port) {
+        super(type, deviceId);
+        this.sVlan = Optional.empty();
+        this.cVlan = Optional.empty();
+        this.port = Optional.ofNullable(port);
+    }
+
     public Optional<VlanId> sVlanId() {
         return sVlan;
     }
@@ -100,4 +121,8 @@
         return cVlan;
     }
 
+    public Optional<Port> port() {
+        return port;
+    }
+
 }