VOL-2654: Add Serial number of OLT in UNI events
Change-Id: Iac4eb26b8d61ec49165ad6b4ff88fb818f699ac1
diff --git a/src/main/java/org/opencord/kafka/integrations/AccessDeviceKafkaIntegration.java b/src/main/java/org/opencord/kafka/integrations/AccessDeviceKafkaIntegration.java
index 9ffb90f..9090f66 100644
--- a/src/main/java/org/opencord/kafka/integrations/AccessDeviceKafkaIntegration.java
+++ b/src/main/java/org/opencord/kafka/integrations/AccessDeviceKafkaIntegration.java
@@ -20,6 +20,9 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.onosproject.net.AnnotationKeys;
+import org.onosproject.net.Device;
+import org.onosproject.net.DeviceId;
+import org.onosproject.net.device.DeviceService;
import org.onosproject.net.Port;
import org.opencord.kafka.EventBusService;
import org.opencord.olt.AccessDeviceEvent;
@@ -48,6 +51,9 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY)
protected EventBusService eventBusService;
+ @Reference(cardinality = ReferenceCardinality.MANDATORY)
+ protected DeviceService deviceService;
+
@Reference(cardinality = ReferenceCardinality.OPTIONAL,
policy = ReferencePolicy.DYNAMIC,
bind = "bindAccessDeviceService",
@@ -65,6 +71,7 @@
private static final String PORT_NUMBER = "portNumber"; // uni port
private static final String DEVICE_ID = "deviceId"; // OLT OpenFlow Id
private static final String TIMESTAMP = "timestamp";
+ private static final String OLT_SERIAL_NUMBER = "oltSerialNumber"; // OLT Serial Number
// statuses
private static final String ACTIVATED = "activated";
@@ -105,6 +112,11 @@
onuNode.put(PORT_NUMBER, port.number().toString());
onuNode.put(DEVICE_ID, port.element().id().toString());
+ Device d = deviceService.getDevice((DeviceId) port.element().id());
+ if (d != null) {
+ onuNode.put(OLT_SERIAL_NUMBER, d.serialNumber());
+ }
+
return onuNode;
}