diff --git a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbGet.java b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbGet.java index 648322d..ba53f1c 100644 --- a/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbGet.java +++ b/opensync-gateway/src/main/java/com/telecominfraproject/wlan/opensync/ovsdb/dao/OvsdbGet.java @@ -40,11 +40,26 @@ public class OvsdbGet extends OvsdbDaoBase { Map> getAllowedChannels(OvsdbClient ovsdbClient) { Map> allowedChannels = new HashMap<>(); for (Row row : getOvsdbTableRowsForCondition(ovsdbClient, wifiRadioStateDbTable, null)) { - allowedChannels.put(getSingleValueFromSet(row, "freq_band"), row.getSetColumn("allowed_channels")); + Set channels = new HashSet<>(); + if (row.getMapColumn("channels").containsKey("allowed")) { + for (String c : row.getMapColumn("channels").get("allowed").toString().split(",")) { + if (c != null) + channels.add(Integer.valueOf(c)); + } ; + } + if (row.getMapColumn("channels").containsKey("radar_detection")) { + for (String c : row.getMapColumn("channels").get("radar_detection").toString().split(",")) { + if (c != null) + channels.add(Integer.valueOf(c)); + } ; + } + + allowedChannels.put(getSingleValueFromSet(row, "freq_band"), channels); } return allowedChannels; } + /** * Get all Rows from given table that satisfy the conditions. *