ONOS-3760 Injection of mfg/hw/sw/serial in BasicDeviceConfig
Change-Id: I7f2269039e0cdabbee85cdad178c4ca27cdc2dce
diff --git a/core/net/src/main/java/org/onosproject/net/device/impl/BasicDeviceOperator.java b/core/net/src/main/java/org/onosproject/net/device/impl/BasicDeviceOperator.java
index 108d68d..c4a4291 100644
--- a/core/net/src/main/java/org/onosproject/net/device/impl/BasicDeviceOperator.java
+++ b/core/net/src/main/java/org/onosproject/net/device/impl/BasicDeviceOperator.java
@@ -59,11 +59,27 @@
if (bdc.type() != null && bdc.type() != type) {
type = bdc.type();
}
+ String manufacturer = descr.manufacturer();
+ if (bdc.manufacturer() != null && !bdc.manufacturer().equals(manufacturer)) {
+ manufacturer = bdc.manufacturer();
+ }
+ String hwVersion = descr.hwVersion();
+ if (bdc.hwVersion() != null && !bdc.hwVersion().equals(hwVersion)) {
+ hwVersion = bdc.hwVersion();
+ }
+ String swVersion = descr.swVersion();
+ if (bdc.swVersion() != null && !bdc.swVersion().equals(swVersion)) {
+ swVersion = bdc.swVersion();
+ }
+ String serial = descr.serialNumber();
+ if (bdc.serial() != null && !bdc.serial().equals(serial)) {
+ serial = bdc.serial();
+ }
SparseAnnotations sa = combine(bdc, descr.annotations());
- return new DefaultDeviceDescription(descr.deviceUri(), type, descr.manufacturer(),
- descr.hwVersion(), descr.swVersion(),
- descr.serialNumber(), descr.chassisId(), sa);
+ return new DefaultDeviceDescription(descr.deviceUri(), type, manufacturer,
+ hwVersion, swVersion,
+ serial, descr.chassisId(), sa);
}
/**