ONOS-3760 Injection of mfg/hw/sw/serial in BasicDeviceConfig
Change-Id: I7f2269039e0cdabbee85cdad178c4ca27cdc2dce
diff --git a/core/api/src/main/java/org/onosproject/net/config/basics/BasicDeviceConfig.java b/core/api/src/main/java/org/onosproject/net/config/basics/BasicDeviceConfig.java
index ea40829..77073cb 100644
--- a/core/api/src/main/java/org/onosproject/net/config/basics/BasicDeviceConfig.java
+++ b/core/api/src/main/java/org/onosproject/net/config/basics/BasicDeviceConfig.java
@@ -26,11 +26,16 @@
private static final String TYPE = "type";
private static final String DRIVER = "driver";
private static final String MANAGEMENT_ADDRESS = "managementAddress";
+ private static final String MANUFACTURER = "manufacturer";
+ private static final String HW_VERSION = "hwVersion";
+ private static final String SW_VERSION = "swVersion";
+ private static final String SERIAL = "serial";
@Override
public boolean isValid() {
return hasOnlyFields(ALLOWED, NAME, LATITUDE, LONGITUDE, RACK_ADDRESS, OWNER,
- TYPE, DRIVER, MANAGEMENT_ADDRESS);
+ TYPE, DRIVER, MANUFACTURER, HW_VERSION, SW_VERSION, SERIAL,
+ MANAGEMENT_ADDRESS);
}
/**
@@ -55,7 +60,7 @@
/**
* Returns the device driver name.
*
- * @return driver name of null if not set
+ * @return driver name or null if not set
*/
public String driver() {
return get(DRIVER, null);
@@ -67,8 +72,84 @@
* @param driverName new driver name; null to clear
* @return self
*/
- public BasicElementConfig driver(String driverName) {
- return (BasicElementConfig) setOrClear(DRIVER, driverName);
+ public BasicDeviceConfig driver(String driverName) {
+ return (BasicDeviceConfig) setOrClear(DRIVER, driverName);
+ }
+
+ /**
+ * Returns the device manufacturer.
+ *
+ * @return manufacturer or null if not set
+ */
+ public String manufacturer() {
+ return get(MANUFACTURER, null);
+ }
+
+ /**
+ * Sets the device manufacturer.
+ *
+ * @param manufacturerName new manufacturer; null to clear
+ * @return self
+ */
+ public BasicDeviceConfig manufacturer(String manufacturerName) {
+ return (BasicDeviceConfig) setOrClear(MANUFACTURER, manufacturerName);
+ }
+
+ /**
+ * Returns the device hardware version.
+ *
+ * @return hardware version or null if not set
+ */
+ public String hwVersion() {
+ return get(HW_VERSION, null);
+ }
+
+ /**
+ * Sets the device hardware version.
+ *
+ * @param hwVersion new hardware version; null to clear
+ * @return self
+ */
+ public BasicDeviceConfig hwVersion(String hwVersion) {
+ return (BasicDeviceConfig) setOrClear(HW_VERSION, hwVersion);
+ }
+
+ /**
+ * Returns the device software version.
+ *
+ * @return software version or null if not set
+ */
+ public String swVersion() {
+ return get(SW_VERSION, null);
+ }
+
+ /**
+ * Sets the device software version.
+ *
+ * @param swVersion new software version; null to clear
+ * @return self
+ */
+ public BasicDeviceConfig swVersion(String swVersion) {
+ return (BasicDeviceConfig) setOrClear(SW_VERSION, swVersion);
+ }
+
+ /**
+ * Returns the device serial number.
+ *
+ * @return serial number or null if not set
+ */
+ public String serial() {
+ return get(SERIAL, null);
+ }
+
+ /**
+ * Sets the device serial number.
+ *
+ * @param serial new serial number; null to clear
+ * @return self
+ */
+ public BasicDeviceConfig serial(String serial) {
+ return (BasicDeviceConfig) setOrClear(SERIAL, serial);
}
/**
@@ -86,8 +167,8 @@
* @param managementAddress new device management address (ip:port); null to clear
* @return self
*/
- public BasicElementConfig managementAddress(String managementAddress) {
- return (BasicElementConfig) setOrClear(MANAGEMENT_ADDRESS, managementAddress);
+ public BasicDeviceConfig managementAddress(String managementAddress) {
+ return (BasicDeviceConfig) setOrClear(MANAGEMENT_ADDRESS, managementAddress);
}
// TODO: device port meta-data to be configured via BasicPortsConfig