From ee4cf9ff59c4e818232b2afe1f079e4b1cf193ae Mon Sep 17 00:00:00 2001 From: Mike Hansen Date: Tue, 30 Mar 2021 12:23:17 -0400 Subject: [PATCH] WIFI-1916: Gateway: align sku_number formats to match AP Manufacturing Data desired format --- .../wlan/opensync/ovsdb/dao/OvsdbNode.java | 24 ++++++++++++++++--- .../opensync/ovsdb/dao/OvsdbNodeTest.java | 3 ++- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbNode.java b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbNode.java index fe58aae..3d2dbfc 100644 --- a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbNode.java +++ b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbNode.java @@ -351,9 +351,27 @@ public class OvsdbNode extends OvsdbDaoBase { // updateColumns.put("device_mode", new Atom("cloud") ); // update sku_number if it was empty - if ((ret.skuNumber == null) || ret.skuNumber.isEmpty()) { - ret.skuNumber = "tip.wlan_" + ret.serialNumber; - updateColumns.put("sku_number", new Atom<>(ret.skuNumber)); + if (( ret.skuNumber == null) || ret.skuNumber.isEmpty() || ret.skuNumber.equals("unknown") || ret.skuNumber.startsWith("tip.wlan_")) { + if ((ret.certificationRegion != null && !ret.certificationRegion.equals("unknown") ) && (ret.model != null && !ret.model.equals("unknown"))) { + if (ret.model.endsWith("-" + ret.certificationRegion)) { + updateColumns.put("sku_number", new Atom<>("TIP-" + ret.model)); + ret.skuNumber = "TIP-" + ret.model; + } else { + updateColumns.put("sku_number", new Atom<>("TIP-" + ret.model + "-" + ret.certificationRegion)); + ret.skuNumber = "TIP-" + ret.model + "-" + ret.certificationRegion; + } + } else if ((ret.country != null ) && (ret.model != null && !ret.model.equals("unknown"))) { + if (ret.model.endsWith("-" + ret.country)) { + updateColumns.put("sku_number", new Atom<>("TIP-" + ret.model)); + ret.skuNumber = "TIP-" + ret.model; + } else { + updateColumns.put("sku_number", new Atom<>("TIP-" + ret.model + "-" + ret.country)); + ret.skuNumber = "TIP-" + ret.model + "-" + ret.country; + } + } else if (ret.model != null && !ret.model.equals("unknown")){ + updateColumns.put("sku_number", new Atom<>("TIP-" + ret.model)); + ret.skuNumber = "TIP-" + ret.model; + } } // Configure the MQTT connection diff --git a/opensync-gateway/src/test/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbNodeTest.java b/opensync-gateway/src/test/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbNodeTest.java index 97a2821..c94a46f 100644 --- a/opensync-gateway/src/test/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbNodeTest.java +++ b/opensync-gateway/src/test/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbNodeTest.java @@ -112,6 +112,7 @@ public class OvsdbNodeTest { connectNodeInfo.lanIfName = "lan"; connectNodeInfo.lanIfType = "bridge"; connectNodeInfo.serialNumber = "0123456789"; + connectNodeInfo.model = "EA8300-CA"; Map newMqttSettings = new HashMap<>(); newMqttSettings.put("broker", ovsdbNode.mqttBrokerAddress); @@ -126,7 +127,7 @@ public class OvsdbNodeTest { ConnectNodeInfo newConnectNodeInfo = ovsdbNode.updateConnectNodeInfoOnConnect(ovsdbClient, "AP-1", connectNodeInfo, false); assert (connectNodeInfo.ifName.equals(newConnectNodeInfo.ifName)); - assert (newConnectNodeInfo.skuNumber.equals("tip.wlan_" + connectNodeInfo.serialNumber)); + assert (newConnectNodeInfo.skuNumber.equals("TIP-" + connectNodeInfo.model)); assert (newConnectNodeInfo.mqttSettings.equals(newMqttSettings)); }