mirror of
https://github.com/Telecominfraproject/wlan-cloud-services.git
synced 2026-03-21 23:39:30 +00:00
Compare commits
1 Commits
updateAPI
...
release/v1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d35a7af319 |
@@ -100,6 +100,7 @@ components:
|
|||||||
- EquipmentAddedEvent
|
- EquipmentAddedEvent
|
||||||
- EquipmentChangedEvent
|
- EquipmentChangedEvent
|
||||||
- EquipmentChannelsChangedEvent
|
- EquipmentChannelsChangedEvent
|
||||||
|
- EquipmentCellSizeAttributesChangedEvent
|
||||||
- EquipmentRemovedEvent
|
- EquipmentRemovedEvent
|
||||||
- StatusChangedEvent
|
- StatusChangedEvent
|
||||||
- StatusRemovedEvent
|
- StatusRemovedEvent
|
||||||
@@ -181,6 +182,7 @@ components:
|
|||||||
- $ref: '#/components/schemas/EquipmentAddedEvent'
|
- $ref: '#/components/schemas/EquipmentAddedEvent'
|
||||||
- $ref: '#/components/schemas/EquipmentChangedEvent'
|
- $ref: '#/components/schemas/EquipmentChangedEvent'
|
||||||
- $ref: '#/components/schemas/EquipmentChannelsChangedEvent'
|
- $ref: '#/components/schemas/EquipmentChannelsChangedEvent'
|
||||||
|
- $ref: '#/components/schemas/EquipmentCellSizeAttributesChangedEvent'
|
||||||
- $ref: '#/components/schemas/EquipmentRemovedEvent'
|
- $ref: '#/components/schemas/EquipmentRemovedEvent'
|
||||||
- $ref: '#/components/schemas/StatusChangedEvent'
|
- $ref: '#/components/schemas/StatusChangedEvent'
|
||||||
- $ref: '#/components/schemas/StatusRemovedEvent'
|
- $ref: '#/components/schemas/StatusRemovedEvent'
|
||||||
@@ -451,6 +453,43 @@ components:
|
|||||||
newBackupChannels:
|
newBackupChannels:
|
||||||
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
|
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
|
||||||
|
|
||||||
|
EquipmentCellSizeAttributesChangedEvent:
|
||||||
|
properties:
|
||||||
|
allOf:
|
||||||
|
$ref: '#/components/schemas/EquipmentChangedEvent'
|
||||||
|
cellSizeAttributesMap:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributesPerRadioTypeMap'
|
||||||
|
|
||||||
|
CellSizeAttributes:
|
||||||
|
properties:
|
||||||
|
rxCellSizeDb:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
probeResponseThresholdDb:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
clientDisconnectThresholdDb:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
eirpTxPowerDb:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
multicastRate:
|
||||||
|
$ref: '#/components/schemas/MulticastRate'
|
||||||
|
managementRate:
|
||||||
|
$ref: '#/components/schemas/ManagementRate'
|
||||||
|
|
||||||
|
CellSizeAttributesPerRadioTypeMap:
|
||||||
|
properties:
|
||||||
|
is5GHz:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributes'
|
||||||
|
is5GHzU:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributes'
|
||||||
|
is5GHzL:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributes'
|
||||||
|
is2dot4GHz:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributes'
|
||||||
|
|
||||||
EquipmentRemovedEvent:
|
EquipmentRemovedEvent:
|
||||||
properties:
|
properties:
|
||||||
eventTimestamp:
|
eventTimestamp:
|
||||||
|
|||||||
@@ -0,0 +1,76 @@
|
|||||||
|
package com.telecominfraproject.wlan.equipmentgateway.models;
|
||||||
|
|
||||||
|
import java.util.EnumMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.CellSizeAttributes;
|
||||||
|
|
||||||
|
public class CEGWCellSizeAttributesRequest extends EquipmentCommand {
|
||||||
|
private static final long serialVersionUID = -5809359509515188374L;
|
||||||
|
private Map<RadioType, CellSizeAttributes> cellSizeAttributesMap = new EnumMap<>(RadioType.class);
|
||||||
|
|
||||||
|
protected CEGWCellSizeAttributesRequest() {
|
||||||
|
// serial
|
||||||
|
}
|
||||||
|
|
||||||
|
public CEGWCellSizeAttributesRequest(String inventoryId, long equipmentId, Map<RadioType, CellSizeAttributes> cellSizeAttributesMap) {
|
||||||
|
super(CEGWCommandType.CellSizeAttributesRequest, inventoryId, equipmentId);
|
||||||
|
this.cellSizeAttributesMap = cellSizeAttributesMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
public CellSizeAttributes getCellSize(RadioType radioType) {
|
||||||
|
return cellSizeAttributesMap.get(radioType);
|
||||||
|
}
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
public void setCellSize(RadioType radioType, CellSizeAttributes cellSizeAttributes) {
|
||||||
|
this.cellSizeAttributesMap.put(radioType, cellSizeAttributes);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<RadioType, CellSizeAttributes> getCellSizeAttributesMap() {
|
||||||
|
return cellSizeAttributesMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCellSizeAttributesMap(Map<RadioType, CellSizeAttributes> cellSizeAttributesMap) {
|
||||||
|
this.cellSizeAttributesMap = cellSizeAttributesMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasUnsupportedValue() {
|
||||||
|
if (super.hasUnsupportedValue()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (cellSizeAttributesMap != null && !cellSizeAttributesMap.isEmpty()) {
|
||||||
|
if (cellSizeAttributesMap.get(RadioType.UNSUPPORTED) != null) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (hasUnsupportedValue(cellSizeAttributesMap)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(cellSizeAttributesMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (this == obj)
|
||||||
|
return true;
|
||||||
|
if (!super.equals(obj))
|
||||||
|
return false;
|
||||||
|
if (getClass() != obj.getClass())
|
||||||
|
return false;
|
||||||
|
CEGWCellSizeAttributesRequest other = (CEGWCellSizeAttributesRequest) obj;
|
||||||
|
return Objects.equals(cellSizeAttributesMap, other.cellSizeAttributesMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -7,7 +7,7 @@ public enum CEGWCommandType {
|
|||||||
* Notification to CE for configuration change
|
* Notification to CE for configuration change
|
||||||
*/
|
*/
|
||||||
Unknown, ConfigChangeNotification, FirmwareDownloadRequest, ChangeRedirectorHost, StartDebugEngine, StopDebugEngine, FirmwareFlashRequest,
|
Unknown, ConfigChangeNotification, FirmwareDownloadRequest, ChangeRedirectorHost, StartDebugEngine, StopDebugEngine, FirmwareFlashRequest,
|
||||||
RebootRequest, BlinkRequest, CloseSessionRequest, NeighbourhoodReport, ClientDeauthRequest, CellSizeRequest,
|
RebootRequest, BlinkRequest, CloseSessionRequest, NeighbourhoodReport, ClientDeauthRequest, CellSizeAttributesRequest,
|
||||||
NewChannelRequest, ReportCurrentAPCRequest, FileUpdateRequest, InterferenceThresholdUpdateRequest,
|
NewChannelRequest, ReportCurrentAPCRequest, FileUpdateRequest, InterferenceThresholdUpdateRequest,
|
||||||
BestApConfigurationUpdateRequest,
|
BestApConfigurationUpdateRequest,
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,111 @@
|
|||||||
|
package com.telecominfraproject.wlan.equipment.models;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||||
|
|
||||||
|
public class CellSizeAttributes extends BaseJsonModel {
|
||||||
|
private static final long serialVersionUID = -6799381201211331251L;
|
||||||
|
private Integer rxCellSizeDb;
|
||||||
|
private Integer probeResponseThresholdDb;
|
||||||
|
private Integer clientDisconnectThresholdDb;
|
||||||
|
private Integer eirpTxPowerDb;
|
||||||
|
private MulticastRate multicastRate;
|
||||||
|
private ManagementRate managementRate;
|
||||||
|
|
||||||
|
public CellSizeAttributes() {
|
||||||
|
// serialize
|
||||||
|
}
|
||||||
|
|
||||||
|
public CellSizeAttributes(Integer rxCellSizeDb, Integer probeResponseThresholdDb, ManagementRate managementRate,
|
||||||
|
Integer eirpTxPowerDb, MulticastRate multicastRate, Integer clientDisconnectThresholdDb) {
|
||||||
|
super();
|
||||||
|
this.rxCellSizeDb = rxCellSizeDb;
|
||||||
|
this.probeResponseThresholdDb = probeResponseThresholdDb;
|
||||||
|
this.clientDisconnectThresholdDb = clientDisconnectThresholdDb;
|
||||||
|
this.eirpTxPowerDb = eirpTxPowerDb;
|
||||||
|
this.multicastRate = multicastRate;
|
||||||
|
this.managementRate = managementRate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getRxCellSizeDb() {
|
||||||
|
return rxCellSizeDb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRxCellSizeDb(Integer rxCellSizeDb) {
|
||||||
|
this.rxCellSizeDb = rxCellSizeDb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getProbeResponseThresholdDb() {
|
||||||
|
return probeResponseThresholdDb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProbeResponseThresholdDb(Integer probeResponseThresholdDb) {
|
||||||
|
this.probeResponseThresholdDb = probeResponseThresholdDb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getClientDisconnectThresholdDb() {
|
||||||
|
return clientDisconnectThresholdDb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setClientDisconnectThresholdDb(Integer clientDisconnectThresholdDb) {
|
||||||
|
this.clientDisconnectThresholdDb = clientDisconnectThresholdDb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getEirpTxPowerDb() {
|
||||||
|
return eirpTxPowerDb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEirpTxPowerDb(Integer eirpTxPowerDb) {
|
||||||
|
this.eirpTxPowerDb = eirpTxPowerDb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MulticastRate getMulticastRate() {
|
||||||
|
return multicastRate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMulticastRate(MulticastRate multicastRate) {
|
||||||
|
this.multicastRate = multicastRate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ManagementRate getManagementRate() {
|
||||||
|
return managementRate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setManagementRate(ManagementRate managementRate) {
|
||||||
|
this.managementRate = managementRate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasUnsupportedValue()
|
||||||
|
{
|
||||||
|
return MulticastRate.isUnsupported(multicastRate) ||
|
||||||
|
ManagementRate.isUnsupported(managementRate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(rxCellSizeDb, probeResponseThresholdDb, clientDisconnectThresholdDb,
|
||||||
|
eirpTxPowerDb, multicastRate, managementRate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (this == obj) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (!super.equals(obj)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!(obj instanceof CellSizeAttributes)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
CellSizeAttributes other = (CellSizeAttributes) obj;
|
||||||
|
return Objects.equals(rxCellSizeDb, other.rxCellSizeDb)
|
||||||
|
&& Objects.equals(probeResponseThresholdDb, other.probeResponseThresholdDb)
|
||||||
|
&& Objects.equals(clientDisconnectThresholdDb, other.clientDisconnectThresholdDb)
|
||||||
|
&& Objects.equals(eirpTxPowerDb, other.eirpTxPowerDb)
|
||||||
|
&& Objects.equals(multicastRate, other.multicastRate)
|
||||||
|
&& Objects.equals(managementRate, other.managementRate);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -23,7 +23,9 @@ public class ElementRadioConfiguration extends BaseJsonModel
|
|||||||
* These are weird since they are dependent on the radio type
|
* These are weird since they are dependent on the radio type
|
||||||
*/
|
*/
|
||||||
public final static int DEFAULT_RX_CELL_SIZE_DB = -90;
|
public final static int DEFAULT_RX_CELL_SIZE_DB = -90;
|
||||||
public final static int DEFAULT_EIRP_TX_POWER = 18;
|
public final static int DEFAULT_EIRP_TX_POWER_DB = 18;
|
||||||
|
public final static int DEFAULT_PROBE_RESPONSE_THRESHOLD_DB = -90;
|
||||||
|
public final static int DEFAULT_CLIENT_DISCONNECT_THRESHOLD_DB = -90;
|
||||||
|
|
||||||
private RadioType radioType;
|
private RadioType radioType;
|
||||||
private Integer channelNumber; // The channel that was picked through the
|
private Integer channelNumber; // The channel that was picked through the
|
||||||
@@ -77,10 +79,10 @@ public class ElementRadioConfiguration extends BaseJsonModel
|
|||||||
|
|
||||||
private ElementRadioConfiguration() {
|
private ElementRadioConfiguration() {
|
||||||
// Tx power default was discussed with Shaikh (set to 18)
|
// Tx power default was discussed with Shaikh (set to 18)
|
||||||
setEirpTxPower(SourceSelectionValue.createProfileInstance(DEFAULT_EIRP_TX_POWER));
|
setEirpTxPower(SourceSelectionValue.createProfileInstance(DEFAULT_EIRP_TX_POWER_DB));
|
||||||
setRxCellSizeDb(SourceSelectionValue.createProfileInstance(DEFAULT_RX_CELL_SIZE_DB));
|
setRxCellSizeDb(SourceSelectionValue.createProfileInstance(DEFAULT_RX_CELL_SIZE_DB));
|
||||||
setProbeResponseThresholdDb(SourceSelectionValue.createProfileInstance(-90));
|
setProbeResponseThresholdDb(SourceSelectionValue.createProfileInstance(DEFAULT_PROBE_RESPONSE_THRESHOLD_DB));
|
||||||
setClientDisconnectThresholdDb(SourceSelectionValue.createProfileInstance(-90));
|
setClientDisconnectThresholdDb(SourceSelectionValue.createProfileInstance(DEFAULT_CLIENT_DISCONNECT_THRESHOLD_DB));
|
||||||
setPerimeterDetectionEnabled(true);
|
setPerimeterDetectionEnabled(true);
|
||||||
setBestAPSteerType(BestAPSteerType.both);
|
setBestAPSteerType(BestAPSteerType.both);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
package com.telecominfraproject.wlan.equipment.models;
|
||||||
|
|
||||||
|
import java.util.EnumMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
|
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||||
|
|
||||||
|
public class EquipmentCellSizeAttributesUpdateRequest extends BaseJsonModel {
|
||||||
|
private static final long serialVersionUID = 4332550605030562832L;
|
||||||
|
private long equipmentId;
|
||||||
|
private Map<RadioType, CellSizeAttributes> cellSizeAttributesMap = new EnumMap<>(RadioType.class);
|
||||||
|
private Map<RadioType, Boolean> autoCellSizeSelections = new EnumMap<>(RadioType.class);
|
||||||
|
|
||||||
|
public long getEquipmentId() {
|
||||||
|
return equipmentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEquipmentId(long equipmentId) {
|
||||||
|
this.equipmentId = equipmentId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<RadioType, CellSizeAttributes> getCellSizeAttributesMap() {
|
||||||
|
return cellSizeAttributesMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCellSizeAttributesMap(Map<RadioType, CellSizeAttributes> cellSizeAttributesMap) {
|
||||||
|
this.cellSizeAttributesMap = cellSizeAttributesMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<RadioType, Boolean> getAutoCellSizeSelections() {
|
||||||
|
return autoCellSizeSelections;
|
||||||
|
}
|
||||||
|
public void setAutoCellSizeSelections(Map<RadioType, Boolean> autoCellSizeSelections) {
|
||||||
|
this.autoCellSizeSelections = autoCellSizeSelections;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasUnsupportedValue() {
|
||||||
|
if (super.hasUnsupportedValue()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (cellSizeAttributesMap != null && !cellSizeAttributesMap.isEmpty()) {
|
||||||
|
if (cellSizeAttributesMap.get(RadioType.UNSUPPORTED) != null) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (hasUnsupportedValue(cellSizeAttributesMap)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -9,14 +9,14 @@ import com.telecominfraproject.wlan.core.model.json.JsonDeserializationUtils;
|
|||||||
public enum MulticastRate {
|
public enum MulticastRate {
|
||||||
|
|
||||||
auto(0L),
|
auto(0L),
|
||||||
rate6mbps(1L),
|
rate6mbps(6L),
|
||||||
rate9mbps(2L),
|
rate9mbps(9L),
|
||||||
rate12mbps(3L),
|
rate12mbps(12L),
|
||||||
rate18mbps(4L),
|
rate18mbps(18L),
|
||||||
rate24mbps(5L),
|
rate24mbps(24L),
|
||||||
rate36mbps(6L),
|
rate36mbps(36L),
|
||||||
rate48mbps(7L),
|
rate48mbps(48L),
|
||||||
rate54mbps(8L),
|
rate54mbps(54L),
|
||||||
|
|
||||||
UNSUPPORTED(-1L);
|
UNSUPPORTED(-1L);
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
package com.telecominfraproject.wlan.equipment.models.events;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.CellSizeAttributes;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
||||||
|
|
||||||
|
public class EquipmentCellSizeAttributesChangedEvent extends EquipmentChangedEvent {
|
||||||
|
private static final long serialVersionUID = -5336592950746293096L;
|
||||||
|
private Map<RadioType, CellSizeAttributes> cellSizeAttributesMap;
|
||||||
|
|
||||||
|
public EquipmentCellSizeAttributesChangedEvent(Equipment equipment, Map<RadioType, CellSizeAttributes> cellSizeAttributesMap){
|
||||||
|
super(equipment);
|
||||||
|
setEquipmentChangeType(EquipmentChangeType.CellSizeAttributesOnly);
|
||||||
|
this.cellSizeAttributesMap = cellSizeAttributesMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor used by JSON
|
||||||
|
*/
|
||||||
|
private EquipmentCellSizeAttributesChangedEvent() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<RadioType, CellSizeAttributes> getCellSizeAttributesMap() {
|
||||||
|
return cellSizeAttributesMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCellSizeAttributesMap(Map<RadioType, CellSizeAttributes> cellSizeAttributesMap) {
|
||||||
|
this.cellSizeAttributesMap = cellSizeAttributesMap;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -10,7 +10,7 @@ import com.telecominfraproject.wlan.core.model.json.JsonDeserializationUtils;
|
|||||||
|
|
||||||
public enum EquipmentChangeType {
|
public enum EquipmentChangeType {
|
||||||
|
|
||||||
All(0), ChannelsOnly(1), UNSUPPORTED(-1);
|
All(0), ChannelsOnly(1), CellSizeAttributesOnly(2), UNSUPPORTED(-1);
|
||||||
|
|
||||||
private final int id;
|
private final int id;
|
||||||
private static final Map<Integer, EquipmentChangeType> ELEMENTS = new HashMap<>();
|
private static final Map<Integer, EquipmentChangeType> ELEMENTS = new HashMap<>();
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.telecominfraproject.wlan.core.model.pagination.PaginationResponse;
|
|||||||
import com.telecominfraproject.wlan.core.model.pair.PairLongLong;
|
import com.telecominfraproject.wlan.core.model.pair.PairLongLong;
|
||||||
import com.telecominfraproject.wlan.equipment.models.CustomerEquipmentCounts;
|
import com.telecominfraproject.wlan.equipment.models.CustomerEquipmentCounts;
|
||||||
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.EquipmentCellSizeAttributesUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.EquipmentChannelsUpdateRequest;
|
import com.telecominfraproject.wlan.equipment.models.EquipmentChannelsUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.EquipmentDetails;
|
import com.telecominfraproject.wlan.equipment.models.EquipmentDetails;
|
||||||
import com.telecominfraproject.wlan.equipment.models.bulkupdate.rrm.EquipmentRrmBulkUpdateRequest;
|
import com.telecominfraproject.wlan.equipment.models.bulkupdate.rrm.EquipmentRrmBulkUpdateRequest;
|
||||||
@@ -79,6 +80,15 @@ public interface EquipmentServiceInterface {
|
|||||||
*/
|
*/
|
||||||
Equipment updateChannels(EquipmentChannelsUpdateRequest channelsUpdateRequest);
|
Equipment updateChannels(EquipmentChannelsUpdateRequest channelsUpdateRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates Equipment Cell Size Attributes
|
||||||
|
*
|
||||||
|
* @param CellSizeAttributes
|
||||||
|
* @return updated Equipment object
|
||||||
|
* @throws RuntimeException if Equipment record does not exist or if it was modified concurrently
|
||||||
|
*/
|
||||||
|
Equipment updateCellSizeAttributes(EquipmentCellSizeAttributesUpdateRequest cellSizeAttributesUpdateRequest);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deletes Equipment
|
* Deletes Equipment
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import com.telecominfraproject.wlan.core.model.pair.PairLongLong;
|
|||||||
import com.telecominfraproject.wlan.equipment.controller.EquipmentController;
|
import com.telecominfraproject.wlan.equipment.controller.EquipmentController;
|
||||||
import com.telecominfraproject.wlan.equipment.models.CustomerEquipmentCounts;
|
import com.telecominfraproject.wlan.equipment.models.CustomerEquipmentCounts;
|
||||||
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.EquipmentCellSizeAttributesUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.EquipmentChannelsUpdateRequest;
|
import com.telecominfraproject.wlan.equipment.models.EquipmentChannelsUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.EquipmentDetails;
|
import com.telecominfraproject.wlan.equipment.models.EquipmentDetails;
|
||||||
import com.telecominfraproject.wlan.equipment.models.bulkupdate.rrm.EquipmentRrmBulkUpdateRequest;
|
import com.telecominfraproject.wlan.equipment.models.bulkupdate.rrm.EquipmentRrmBulkUpdateRequest;
|
||||||
@@ -88,6 +89,12 @@ public class EquipmentServiceLocal implements EquipmentServiceInterface {
|
|||||||
return equipmentController.updateChannels(channelsUpdateRequest);
|
return equipmentController.updateChannels(channelsUpdateRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Equipment updateCellSizeAttributes(EquipmentCellSizeAttributesUpdateRequest cellSizeAttributesUpdateRequest) {
|
||||||
|
LOG.debug("calling equipmentController.updateCellSizeAttributes {} ", cellSizeAttributesUpdateRequest);
|
||||||
|
return equipmentController.updateCellSizeAttributes(cellSizeAttributesUpdateRequest);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GenericResponse updateRrmBulk(EquipmentRrmBulkUpdateRequest request) {
|
public GenericResponse updateRrmBulk(EquipmentRrmBulkUpdateRequest request) {
|
||||||
LOG.debug("calling equipmentController.updateRrmBulk {} ", request);
|
LOG.debug("calling equipmentController.updateRrmBulk {} ", request);
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import com.telecominfraproject.wlan.core.model.pair.PairLongLong;
|
|||||||
import com.telecominfraproject.wlan.datastore.exceptions.DsDataValidationException;
|
import com.telecominfraproject.wlan.datastore.exceptions.DsDataValidationException;
|
||||||
import com.telecominfraproject.wlan.equipment.models.CustomerEquipmentCounts;
|
import com.telecominfraproject.wlan.equipment.models.CustomerEquipmentCounts;
|
||||||
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.EquipmentCellSizeAttributesUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.EquipmentChannelsUpdateRequest;
|
import com.telecominfraproject.wlan.equipment.models.EquipmentChannelsUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.EquipmentDetails;
|
import com.telecominfraproject.wlan.equipment.models.EquipmentDetails;
|
||||||
import com.telecominfraproject.wlan.equipment.models.bulkupdate.rrm.EquipmentRrmBulkUpdateRequest;
|
import com.telecominfraproject.wlan.equipment.models.bulkupdate.rrm.EquipmentRrmBulkUpdateRequest;
|
||||||
@@ -261,6 +262,24 @@ public class EquipmentServiceRemote extends BaseRemoteClient implements Equipmen
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Equipment updateCellSizeAttributes(EquipmentCellSizeAttributesUpdateRequest cellSizeAttributesUpdateRequest) {
|
||||||
|
|
||||||
|
LOG.debug("calling equipment.updateCellSizeAttributes {} ", cellSizeAttributesUpdateRequest);
|
||||||
|
|
||||||
|
HttpEntity<String> request = new HttpEntity<String>( cellSizeAttributesUpdateRequest.toString(), headers );
|
||||||
|
|
||||||
|
ResponseEntity<Equipment> responseEntity = restTemplate.exchange(
|
||||||
|
getBaseUrl() + "/cellSize",
|
||||||
|
HttpMethod.PUT, request, Equipment.class);
|
||||||
|
|
||||||
|
Equipment ret = responseEntity.getBody();
|
||||||
|
|
||||||
|
LOG.debug("completed equipment.updateCellSizeAttributes {} ", ret);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GenericResponse updateRrmBulk(EquipmentRrmBulkUpdateRequest bulkRequest) {
|
public GenericResponse updateRrmBulk(EquipmentRrmBulkUpdateRequest bulkRequest) {
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import com.telecominfraproject.wlan.core.model.equipment.DeploymentType;
|
|||||||
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
|
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
import com.telecominfraproject.wlan.core.model.equipment.MacAddress;
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
|
import com.telecominfraproject.wlan.core.model.equipment.SourceType;
|
||||||
import com.telecominfraproject.wlan.core.model.pagination.ColumnAndSort;
|
import com.telecominfraproject.wlan.core.model.pagination.ColumnAndSort;
|
||||||
import com.telecominfraproject.wlan.core.model.pagination.PaginationContext;
|
import com.telecominfraproject.wlan.core.model.pagination.PaginationContext;
|
||||||
import com.telecominfraproject.wlan.core.model.pagination.PaginationResponse;
|
import com.telecominfraproject.wlan.core.model.pagination.PaginationResponse;
|
||||||
@@ -38,12 +39,17 @@ import com.telecominfraproject.wlan.core.model.pair.PairLongLong;
|
|||||||
import com.telecominfraproject.wlan.datastore.exceptions.DsDataValidationException;
|
import com.telecominfraproject.wlan.datastore.exceptions.DsDataValidationException;
|
||||||
import com.telecominfraproject.wlan.equipment.models.AntennaType;
|
import com.telecominfraproject.wlan.equipment.models.AntennaType;
|
||||||
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
|
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.CellSizeAttributes;
|
||||||
import com.telecominfraproject.wlan.equipment.models.ChannelPowerLevel;
|
import com.telecominfraproject.wlan.equipment.models.ChannelPowerLevel;
|
||||||
import com.telecominfraproject.wlan.equipment.models.CustomerEquipmentCounts;
|
import com.telecominfraproject.wlan.equipment.models.CustomerEquipmentCounts;
|
||||||
import com.telecominfraproject.wlan.equipment.models.ElementRadioConfiguration;
|
import com.telecominfraproject.wlan.equipment.models.ElementRadioConfiguration;
|
||||||
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.EquipmentCellSizeAttributesUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.EquipmentChannelsUpdateRequest;
|
import com.telecominfraproject.wlan.equipment.models.EquipmentChannelsUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.EquipmentDetails;
|
import com.telecominfraproject.wlan.equipment.models.EquipmentDetails;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.ManagementRate;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.MulticastRate;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.RadioConfiguration;
|
||||||
import com.telecominfraproject.wlan.equipment.models.bulkupdate.rrm.EquipmentRrmBulkUpdateItem;
|
import com.telecominfraproject.wlan.equipment.models.bulkupdate.rrm.EquipmentRrmBulkUpdateItem;
|
||||||
import com.telecominfraproject.wlan.equipment.models.bulkupdate.rrm.EquipmentRrmBulkUpdateRequest;
|
import com.telecominfraproject.wlan.equipment.models.bulkupdate.rrm.EquipmentRrmBulkUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.remote.tests.BaseRemoteTest;
|
import com.telecominfraproject.wlan.remote.tests.BaseRemoteTest;
|
||||||
@@ -1010,6 +1016,249 @@ public class EquipmentServiceRemoteTest extends BaseRemoteTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCellSizeAttrsUpdate() {
|
||||||
|
int customerId = getNextCustomerId();
|
||||||
|
|
||||||
|
//Create test Equipment
|
||||||
|
Equipment equipment = new Equipment();
|
||||||
|
|
||||||
|
equipment.setName("test_cellSizeAttrsUpdate");
|
||||||
|
equipment.setCustomerId(customerId);
|
||||||
|
equipment.setProfileId(1);
|
||||||
|
equipment.setLocationId(2);
|
||||||
|
equipment.setEquipmentType(EquipmentType.AP);
|
||||||
|
equipment.setInventoryId("inv-" + equipment.getName());
|
||||||
|
|
||||||
|
ApElementConfiguration apConfig = ApElementConfiguration.createWithDefaults();
|
||||||
|
if (apConfig.getElementRadioConfiguration(RadioType.is5GHz) == null) {
|
||||||
|
Map<RadioType, ElementRadioConfiguration> radioMapInit = apConfig.getRadioMap();
|
||||||
|
Map<RadioType, RadioConfiguration> advRadioMapInit = apConfig.getAdvancedRadioMap();
|
||||||
|
radioMapInit.put(RadioType.is5GHz, ElementRadioConfiguration.createWithDefaults(RadioType.is5GHz));
|
||||||
|
apConfig.setRadioMap(radioMapInit);
|
||||||
|
advRadioMapInit.put(RadioType.is5GHz, RadioConfiguration.createWithDefaults(RadioType.is5GHz));
|
||||||
|
apConfig.setAdvancedRadioMap(advRadioMapInit);
|
||||||
|
}
|
||||||
|
equipment.setDetails(apConfig);
|
||||||
|
|
||||||
|
Equipment equipmentCreated = remoteInterface.create(equipment);
|
||||||
|
|
||||||
|
long equipmentId = equipmentCreated.getId();
|
||||||
|
Equipment equipmentGet = remoteInterface.get(equipmentId);
|
||||||
|
assertNotNull(equipmentGet);
|
||||||
|
|
||||||
|
ApElementConfiguration apElementConfiguration = (ApElementConfiguration)equipmentGet.getDetails();
|
||||||
|
assertNotNull(apElementConfiguration);
|
||||||
|
|
||||||
|
Map<RadioType, ElementRadioConfiguration> radioMap = apElementConfiguration.getRadioMap();
|
||||||
|
assertNotNull(radioMap);
|
||||||
|
|
||||||
|
Map<RadioType, RadioConfiguration> radioConfigMap = apElementConfiguration.getAdvancedRadioMap();
|
||||||
|
assertNotNull(radioConfigMap);
|
||||||
|
|
||||||
|
checkCellSizeAttrsProfile(radioMap, radioConfigMap);
|
||||||
|
|
||||||
|
Map<RadioType, CellSizeAttributes> cellSizeAttributesMap = new EnumMap<>(RadioType.class);
|
||||||
|
Map<RadioType, Boolean> autoCellSizeSelections = new EnumMap<>(RadioType.class);
|
||||||
|
|
||||||
|
CellSizeAttributes cellSizeAttributes2dot4G = new CellSizeAttributes(-87, -85, ManagementRate.rate6mbps,
|
||||||
|
16, MulticastRate.rate6mbps, -90);
|
||||||
|
CellSizeAttributes cellSizeAttributes5G = new CellSizeAttributes(-78, -76, ManagementRate.rate12mbps,
|
||||||
|
13, MulticastRate.rate12mbps, -81);
|
||||||
|
cellSizeAttributesMap.put(RadioType.is2dot4GHz, cellSizeAttributes2dot4G);
|
||||||
|
cellSizeAttributesMap.put(RadioType.is5GHz, cellSizeAttributes5G);
|
||||||
|
|
||||||
|
autoCellSizeSelections.put(RadioType.is2dot4GHz, false);
|
||||||
|
autoCellSizeSelections.put(RadioType.is5GHz, false);
|
||||||
|
|
||||||
|
EquipmentCellSizeAttributesUpdateRequest cellSizeAttributesUpdateRequest = new EquipmentCellSizeAttributesUpdateRequest();
|
||||||
|
cellSizeAttributesUpdateRequest.setEquipmentId(equipmentId);
|
||||||
|
cellSizeAttributesUpdateRequest.setCellSizeAttributesMap(cellSizeAttributesMap);
|
||||||
|
cellSizeAttributesUpdateRequest.setAutoCellSizeSelections(autoCellSizeSelections);
|
||||||
|
|
||||||
|
Equipment equipmentUpdate1 = remoteInterface.updateCellSizeAttributes(cellSizeAttributesUpdateRequest);
|
||||||
|
Equipment equipmentGetUpdate1 = remoteInterface.get(equipmentId);
|
||||||
|
assertEqualEquipments(equipmentGetUpdate1, equipmentUpdate1);
|
||||||
|
|
||||||
|
apElementConfiguration = (ApElementConfiguration)equipmentGetUpdate1.getDetails();
|
||||||
|
assertNotNull(apElementConfiguration);
|
||||||
|
radioMap = apElementConfiguration.getRadioMap();
|
||||||
|
assertNotNull(radioMap);
|
||||||
|
radioConfigMap = apElementConfiguration.getAdvancedRadioMap();
|
||||||
|
|
||||||
|
checkCellSizeAttrsAutoOrManual(radioMap, radioConfigMap, cellSizeAttributesMap, false);
|
||||||
|
|
||||||
|
autoCellSizeSelections.clear();
|
||||||
|
autoCellSizeSelections.put(RadioType.is2dot4GHz, true);
|
||||||
|
autoCellSizeSelections.put(RadioType.is5GHz, true);
|
||||||
|
|
||||||
|
Equipment equipmentUpdate2 = remoteInterface.updateCellSizeAttributes(cellSizeAttributesUpdateRequest);
|
||||||
|
Equipment equipmentGetUpdate2 = remoteInterface.get(equipmentId);
|
||||||
|
assertEqualEquipments(equipmentGetUpdate2, equipmentUpdate2);
|
||||||
|
|
||||||
|
apElementConfiguration = (ApElementConfiguration)equipmentGetUpdate2.getDetails();
|
||||||
|
assertNotNull(apElementConfiguration);
|
||||||
|
radioMap = apElementConfiguration.getRadioMap();
|
||||||
|
assertNotNull(radioMap);
|
||||||
|
radioConfigMap = apElementConfiguration.getAdvancedRadioMap();
|
||||||
|
assertNotNull(radioConfigMap);
|
||||||
|
|
||||||
|
checkCellSizeAttrsAutoOrManual(radioMap, radioConfigMap, cellSizeAttributesMap, true);
|
||||||
|
|
||||||
|
// Clean up after test
|
||||||
|
remoteInterface.delete(equipmentId);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkCellSizeAttrsProfile(Map<RadioType, ElementRadioConfiguration> radioMap, Map<RadioType, RadioConfiguration> radioConfigMap) {
|
||||||
|
assertEquals(SourceType.profile, radioMap.get(RadioType.is2dot4GHz).getRxCellSizeDb().getSource());
|
||||||
|
assertEquals(ElementRadioConfiguration.DEFAULT_RX_CELL_SIZE_DB, radioMap.get(
|
||||||
|
RadioType.is2dot4GHz).getRxCellSizeDb().getValue().intValue());
|
||||||
|
|
||||||
|
assertEquals(SourceType.profile, radioMap.get(RadioType.is2dot4GHz).getProbeResponseThresholdDb().getSource());
|
||||||
|
assertEquals(ElementRadioConfiguration.DEFAULT_PROBE_RESPONSE_THRESHOLD_DB, radioMap.get(
|
||||||
|
RadioType.is2dot4GHz).getProbeResponseThresholdDb().getValue().intValue());
|
||||||
|
|
||||||
|
assertEquals(SourceType.profile, radioMap.get(RadioType.is2dot4GHz).getEirpTxPower().getSource());
|
||||||
|
assertEquals(ElementRadioConfiguration.DEFAULT_EIRP_TX_POWER_DB, radioMap.get(
|
||||||
|
RadioType.is2dot4GHz).getEirpTxPower().getValue().intValue());
|
||||||
|
|
||||||
|
assertEquals(SourceType.profile, radioMap.get(RadioType.is2dot4GHz).getClientDisconnectThresholdDb().getSource());
|
||||||
|
assertEquals(ElementRadioConfiguration.DEFAULT_CLIENT_DISCONNECT_THRESHOLD_DB, radioMap.get(
|
||||||
|
RadioType.is2dot4GHz).getClientDisconnectThresholdDb().getValue().intValue());
|
||||||
|
|
||||||
|
assertEquals(SourceType.profile, radioConfigMap.get(RadioType.is2dot4GHz).getMulticastRate().getSource());
|
||||||
|
assertEquals(MulticastRate.auto, radioConfigMap.get(RadioType.is2dot4GHz).getMulticastRate().getValue());
|
||||||
|
|
||||||
|
assertEquals(SourceType.profile, radioConfigMap.get(RadioType.is2dot4GHz).getManagementRate().getSource());
|
||||||
|
assertEquals(ManagementRate.auto, radioConfigMap.get(RadioType.is2dot4GHz).getManagementRate().getValue());
|
||||||
|
|
||||||
|
assertEquals(SourceType.profile, radioMap.get(RadioType.is5GHz).getRxCellSizeDb().getSource());
|
||||||
|
assertEquals(ElementRadioConfiguration.DEFAULT_RX_CELL_SIZE_DB, radioMap.get(
|
||||||
|
RadioType.is2dot4GHz).getRxCellSizeDb().getValue().intValue());
|
||||||
|
|
||||||
|
assertEquals(SourceType.profile, radioMap.get(RadioType.is5GHz).getProbeResponseThresholdDb().getSource());
|
||||||
|
assertEquals(ElementRadioConfiguration.DEFAULT_PROBE_RESPONSE_THRESHOLD_DB, radioMap.get(
|
||||||
|
RadioType.is2dot4GHz).getProbeResponseThresholdDb().getValue().intValue());
|
||||||
|
|
||||||
|
assertEquals(SourceType.profile, radioMap.get(RadioType.is5GHz).getEirpTxPower().getSource());
|
||||||
|
assertEquals(ElementRadioConfiguration.DEFAULT_EIRP_TX_POWER_DB, radioMap.get(
|
||||||
|
RadioType.is2dot4GHz).getEirpTxPower().getValue().intValue());
|
||||||
|
|
||||||
|
assertEquals(SourceType.profile, radioMap.get(RadioType.is5GHz).getClientDisconnectThresholdDb().getSource());
|
||||||
|
assertEquals(ElementRadioConfiguration.DEFAULT_CLIENT_DISCONNECT_THRESHOLD_DB, radioMap.get(
|
||||||
|
RadioType.is2dot4GHz).getClientDisconnectThresholdDb().getValue().intValue());
|
||||||
|
|
||||||
|
assertEquals(SourceType.profile, radioConfigMap.get(RadioType.is5GHz).getMulticastRate().getSource());
|
||||||
|
assertEquals(MulticastRate.auto, radioConfigMap.get(RadioType.is5GHz).getMulticastRate().getValue());
|
||||||
|
|
||||||
|
assertEquals(SourceType.profile, radioConfigMap.get(RadioType.is5GHz).getManagementRate().getSource());
|
||||||
|
assertEquals(ManagementRate.auto, radioConfigMap.get(RadioType.is5GHz).getManagementRate().getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkCellSizeAttrsAutoOrManual(Map<RadioType, ElementRadioConfiguration> radioMap, Map<RadioType, RadioConfiguration> radioConfigMap,
|
||||||
|
Map<RadioType, CellSizeAttributes> cellSizeAttributesMap, boolean auto) {
|
||||||
|
CellSizeAttributes cellSizeAttributes2dot4G = cellSizeAttributesMap.get(RadioType.is2dot4GHz);
|
||||||
|
|
||||||
|
if (auto) {
|
||||||
|
assertEquals(SourceType.auto, radioMap.get(RadioType.is2dot4GHz).getRxCellSizeDb().getSource());
|
||||||
|
} else {
|
||||||
|
assertEquals(SourceType.manual, radioMap.get(RadioType.is2dot4GHz).getRxCellSizeDb().getSource());
|
||||||
|
}
|
||||||
|
assertEquals(cellSizeAttributes2dot4G.getRxCellSizeDb().intValue(), radioMap.get(
|
||||||
|
RadioType.is2dot4GHz).getRxCellSizeDb().getValue().intValue());
|
||||||
|
|
||||||
|
if (auto) {
|
||||||
|
assertEquals(SourceType.auto, radioMap.get(RadioType.is2dot4GHz).getProbeResponseThresholdDb().getSource());
|
||||||
|
} else {
|
||||||
|
assertEquals(SourceType.manual, radioMap.get(RadioType.is2dot4GHz).getProbeResponseThresholdDb().getSource());
|
||||||
|
}
|
||||||
|
assertEquals(cellSizeAttributes2dot4G.getProbeResponseThresholdDb().intValue(), radioMap.get(
|
||||||
|
RadioType.is2dot4GHz).getProbeResponseThresholdDb().getValue().intValue());
|
||||||
|
|
||||||
|
if (auto) {
|
||||||
|
assertEquals(SourceType.auto, radioMap.get(RadioType.is2dot4GHz).getEirpTxPower().getSource());
|
||||||
|
} else {
|
||||||
|
assertEquals(SourceType.manual, radioMap.get(RadioType.is2dot4GHz).getEirpTxPower().getSource());
|
||||||
|
}
|
||||||
|
assertEquals(cellSizeAttributes2dot4G.getEirpTxPowerDb().intValue(), radioMap.get(
|
||||||
|
RadioType.is2dot4GHz).getEirpTxPower().getValue().intValue());
|
||||||
|
|
||||||
|
if (auto) {
|
||||||
|
assertEquals(SourceType.auto, radioMap.get(RadioType.is2dot4GHz).getClientDisconnectThresholdDb().getSource());
|
||||||
|
} else {
|
||||||
|
assertEquals(SourceType.manual, radioMap.get(RadioType.is2dot4GHz).getClientDisconnectThresholdDb().getSource());
|
||||||
|
}
|
||||||
|
assertEquals(cellSizeAttributes2dot4G.getClientDisconnectThresholdDb().intValue(), radioMap.get(
|
||||||
|
RadioType.is2dot4GHz).getClientDisconnectThresholdDb().getValue().intValue());
|
||||||
|
|
||||||
|
if (auto) {
|
||||||
|
assertEquals(SourceType.auto, radioConfigMap.get(RadioType.is2dot4GHz).getMulticastRate().getSource());
|
||||||
|
} else {
|
||||||
|
assertEquals(SourceType.manual, radioConfigMap.get(RadioType.is2dot4GHz).getMulticastRate().getSource());
|
||||||
|
}
|
||||||
|
assertEquals(cellSizeAttributes2dot4G.getMulticastRate(),
|
||||||
|
radioConfigMap.get(RadioType.is2dot4GHz).getMulticastRate().getValue());
|
||||||
|
|
||||||
|
if (auto) {
|
||||||
|
assertEquals(SourceType.auto, radioConfigMap.get(RadioType.is2dot4GHz).getManagementRate().getSource());
|
||||||
|
} else {
|
||||||
|
assertEquals(SourceType.manual, radioConfigMap.get(RadioType.is2dot4GHz).getManagementRate().getSource());
|
||||||
|
}
|
||||||
|
assertEquals(cellSizeAttributes2dot4G.getManagementRate(),
|
||||||
|
radioConfigMap.get(RadioType.is2dot4GHz).getManagementRate().getValue());
|
||||||
|
|
||||||
|
CellSizeAttributes cellSizeAttributes5G = cellSizeAttributesMap.get(RadioType.is5GHz);
|
||||||
|
|
||||||
|
if (auto) {
|
||||||
|
assertEquals(SourceType.auto, radioMap.get(RadioType.is5GHz).getRxCellSizeDb().getSource());
|
||||||
|
} else {
|
||||||
|
assertEquals(SourceType.manual, radioMap.get(RadioType.is5GHz).getRxCellSizeDb().getSource());
|
||||||
|
}
|
||||||
|
assertEquals(cellSizeAttributes5G.getRxCellSizeDb().intValue(), radioMap.get(
|
||||||
|
RadioType.is5GHz).getRxCellSizeDb().getValue().intValue());
|
||||||
|
|
||||||
|
if (auto) {
|
||||||
|
assertEquals(SourceType.auto, radioMap.get(RadioType.is5GHz).getProbeResponseThresholdDb().getSource());
|
||||||
|
} else {
|
||||||
|
assertEquals(SourceType.manual, radioMap.get(RadioType.is5GHz).getProbeResponseThresholdDb().getSource());
|
||||||
|
}
|
||||||
|
assertEquals(cellSizeAttributes5G.getProbeResponseThresholdDb().intValue(), radioMap.get(
|
||||||
|
RadioType.is5GHz).getProbeResponseThresholdDb().getValue().intValue());
|
||||||
|
|
||||||
|
if (auto) {
|
||||||
|
assertEquals(SourceType.auto, radioMap.get(RadioType.is5GHz).getEirpTxPower().getSource());
|
||||||
|
} else {
|
||||||
|
assertEquals(SourceType.manual, radioMap.get(RadioType.is5GHz).getEirpTxPower().getSource());
|
||||||
|
}
|
||||||
|
assertEquals(cellSizeAttributes5G.getEirpTxPowerDb().intValue(), radioMap.get(
|
||||||
|
RadioType.is5GHz).getEirpTxPower().getValue().intValue());
|
||||||
|
|
||||||
|
if (auto) {
|
||||||
|
assertEquals(SourceType.auto, radioMap.get(RadioType.is5GHz).getClientDisconnectThresholdDb().getSource());
|
||||||
|
} else {
|
||||||
|
assertEquals(SourceType.manual, radioMap.get(RadioType.is5GHz).getClientDisconnectThresholdDb().getSource());
|
||||||
|
}
|
||||||
|
assertEquals(cellSizeAttributes5G.getClientDisconnectThresholdDb().intValue(), radioMap.get(
|
||||||
|
RadioType.is5GHz).getClientDisconnectThresholdDb().getValue().intValue());
|
||||||
|
|
||||||
|
if (auto) {
|
||||||
|
assertEquals(SourceType.auto, radioConfigMap.get(RadioType.is5GHz).getMulticastRate().getSource());
|
||||||
|
} else {
|
||||||
|
assertEquals(SourceType.manual, radioConfigMap.get(RadioType.is5GHz).getMulticastRate().getSource());
|
||||||
|
}
|
||||||
|
assertEquals(cellSizeAttributes5G.getMulticastRate(),
|
||||||
|
radioConfigMap.get(RadioType.is5GHz).getMulticastRate().getValue());
|
||||||
|
|
||||||
|
if (auto) {
|
||||||
|
assertEquals(SourceType.auto, radioConfigMap.get(RadioType.is5GHz).getManagementRate().getSource());
|
||||||
|
} else {
|
||||||
|
assertEquals(SourceType.manual, radioConfigMap.get(RadioType.is5GHz).getManagementRate().getSource());
|
||||||
|
}
|
||||||
|
assertEquals(cellSizeAttributes5G.getManagementRate(),
|
||||||
|
radioConfigMap.get(RadioType.is5GHz).getManagementRate().getValue());
|
||||||
|
}
|
||||||
|
|
||||||
private void assertEqualEquipments(
|
private void assertEqualEquipments(
|
||||||
Equipment expected,
|
Equipment expected,
|
||||||
Equipment actual) {
|
Equipment actual) {
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface;
|
import com.telecominfraproject.wlan.cloudeventdispatcher.CloudEventDispatcherInterface;
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
|
import com.telecominfraproject.wlan.core.model.equipment.EquipmentType;
|
||||||
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
|
||||||
|
import com.telecominfraproject.wlan.core.model.equipment.SourceSelectionValue;
|
||||||
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
import com.telecominfraproject.wlan.core.model.json.BaseJsonModel;
|
||||||
import com.telecominfraproject.wlan.core.model.json.GenericResponse;
|
import com.telecominfraproject.wlan.core.model.json.GenericResponse;
|
||||||
import com.telecominfraproject.wlan.core.model.pagination.ColumnAndSort;
|
import com.telecominfraproject.wlan.core.model.pagination.ColumnAndSort;
|
||||||
@@ -32,14 +33,20 @@ import com.telecominfraproject.wlan.core.model.pair.PairLongLong;
|
|||||||
import com.telecominfraproject.wlan.datastore.exceptions.DsDataValidationException;
|
import com.telecominfraproject.wlan.datastore.exceptions.DsDataValidationException;
|
||||||
import com.telecominfraproject.wlan.equipment.datastore.EquipmentDatastore;
|
import com.telecominfraproject.wlan.equipment.datastore.EquipmentDatastore;
|
||||||
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
|
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.CellSizeAttributes;
|
||||||
import com.telecominfraproject.wlan.equipment.models.ChannelPowerLevel;
|
import com.telecominfraproject.wlan.equipment.models.ChannelPowerLevel;
|
||||||
import com.telecominfraproject.wlan.equipment.models.CustomerEquipmentCounts;
|
import com.telecominfraproject.wlan.equipment.models.CustomerEquipmentCounts;
|
||||||
import com.telecominfraproject.wlan.equipment.models.ElementRadioConfiguration;
|
import com.telecominfraproject.wlan.equipment.models.ElementRadioConfiguration;
|
||||||
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.EquipmentCellSizeAttributesUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.EquipmentChannelsUpdateRequest;
|
import com.telecominfraproject.wlan.equipment.models.EquipmentChannelsUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.EquipmentDetails;
|
import com.telecominfraproject.wlan.equipment.models.EquipmentDetails;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.RadioConfiguration;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.SourceSelectionManagement;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.SourceSelectionMulticast;
|
||||||
import com.telecominfraproject.wlan.equipment.models.bulkupdate.rrm.EquipmentRrmBulkUpdateRequest;
|
import com.telecominfraproject.wlan.equipment.models.bulkupdate.rrm.EquipmentRrmBulkUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.events.EquipmentAddedEvent;
|
import com.telecominfraproject.wlan.equipment.models.events.EquipmentAddedEvent;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.events.EquipmentCellSizeAttributesChangedEvent;
|
||||||
import com.telecominfraproject.wlan.equipment.models.events.EquipmentChangedEvent;
|
import com.telecominfraproject.wlan.equipment.models.events.EquipmentChangedEvent;
|
||||||
import com.telecominfraproject.wlan.equipment.models.events.EquipmentChannelsChangedEvent;
|
import com.telecominfraproject.wlan.equipment.models.events.EquipmentChannelsChangedEvent;
|
||||||
import com.telecominfraproject.wlan.equipment.models.events.EquipmentRemovedEvent;
|
import com.telecominfraproject.wlan.equipment.models.events.EquipmentRemovedEvent;
|
||||||
@@ -355,6 +362,86 @@ public class EquipmentController {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates Equipment CellSizeAttributes
|
||||||
|
*
|
||||||
|
* @param EquipmentCellSizeAttributesUpdateRequest
|
||||||
|
* @return updated Equipment object
|
||||||
|
* @throws RuntimeException if Equipment record does not exist or if it was modified concurrently
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/cellSize", method=RequestMethod.PUT)
|
||||||
|
public Equipment updateCellSizeAttributes(@RequestBody EquipmentCellSizeAttributesUpdateRequest request) {
|
||||||
|
|
||||||
|
LOG.debug("updateCellSizeAttributes {}", request);
|
||||||
|
if (request == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
Equipment existingEquipment = get(request.getEquipmentId());
|
||||||
|
|
||||||
|
if (existingEquipment.getDetails() == null) {
|
||||||
|
LOG.info("updateCellSizeAttributes: no details on equipment");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
Equipment equipmentCopy = existingEquipment.clone();
|
||||||
|
|
||||||
|
Map<RadioType, CellSizeAttributes> cellSizeAttributesMap = request.getCellSizeAttributesMap();
|
||||||
|
Map<RadioType, Boolean> autoCellSizeSelections = request.getAutoCellSizeSelections();
|
||||||
|
|
||||||
|
if (CollectionUtils.isEmpty(autoCellSizeSelections) ||
|
||||||
|
CollectionUtils.isEmpty(cellSizeAttributesMap)) {
|
||||||
|
LOG.info("updateCellSizeAttributes no update");
|
||||||
|
return equipmentCopy;
|
||||||
|
}
|
||||||
|
|
||||||
|
ApElementConfiguration apElementConfiguration = (ApElementConfiguration) equipmentCopy.getDetails();
|
||||||
|
|
||||||
|
for (RadioType radioType : RadioType.validValues()) {
|
||||||
|
ElementRadioConfiguration elementRadioConfig = apElementConfiguration.getElementRadioConfiguration(radioType);
|
||||||
|
RadioConfiguration radioConfig = apElementConfiguration.getAdvancedRadioMap().get(radioType);
|
||||||
|
if (elementRadioConfig == null || radioConfig == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
CellSizeAttributes cellSizeAttributes = cellSizeAttributesMap.get(radioType);
|
||||||
|
if (cellSizeAttributes != null && autoCellSizeSelections.get(radioType) != null) {
|
||||||
|
if (autoCellSizeSelections.get(radioType)) {
|
||||||
|
elementRadioConfig.setRxCellSizeDb(SourceSelectionValue.createAutomaticInstance(
|
||||||
|
cellSizeAttributes.getRxCellSizeDb()));
|
||||||
|
elementRadioConfig.setProbeResponseThresholdDb(SourceSelectionValue.createAutomaticInstance(
|
||||||
|
cellSizeAttributes.getProbeResponseThresholdDb()));
|
||||||
|
elementRadioConfig.setClientDisconnectThresholdDb(SourceSelectionValue.createAutomaticInstance(
|
||||||
|
cellSizeAttributes.getClientDisconnectThresholdDb()));
|
||||||
|
elementRadioConfig.setEirpTxPower(SourceSelectionValue.createAutomaticInstance(
|
||||||
|
cellSizeAttributes.getEirpTxPowerDb()));
|
||||||
|
radioConfig.setMulticastRate(SourceSelectionMulticast.createAutomaticInstance(
|
||||||
|
cellSizeAttributes.getMulticastRate()));
|
||||||
|
radioConfig.setManagementRate(SourceSelectionManagement.createAutomaticInstance(
|
||||||
|
cellSizeAttributes.getManagementRate()));
|
||||||
|
} else {
|
||||||
|
//TODO or do nothing
|
||||||
|
elementRadioConfig.setRxCellSizeDb(SourceSelectionValue.createManualInstance(
|
||||||
|
cellSizeAttributes.getRxCellSizeDb()));
|
||||||
|
elementRadioConfig.setProbeResponseThresholdDb(SourceSelectionValue.createManualInstance(
|
||||||
|
cellSizeAttributes.getProbeResponseThresholdDb()));
|
||||||
|
elementRadioConfig.setClientDisconnectThresholdDb(SourceSelectionValue.createManualInstance(
|
||||||
|
cellSizeAttributes.getClientDisconnectThresholdDb()));
|
||||||
|
elementRadioConfig.setEirpTxPower(SourceSelectionValue.createManualInstance(
|
||||||
|
cellSizeAttributes.getEirpTxPowerDb()));
|
||||||
|
radioConfig.setMulticastRate(SourceSelectionMulticast.createManualInstance(
|
||||||
|
cellSizeAttributes.getMulticastRate()));
|
||||||
|
radioConfig.setManagementRate(SourceSelectionManagement.createManualInstance(
|
||||||
|
cellSizeAttributes.getManagementRate()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Equipment ret = equipmentDatastore.update(equipmentCopy);
|
||||||
|
|
||||||
|
EquipmentCellSizeAttributesChangedEvent event = new EquipmentCellSizeAttributesChangedEvent(ret, cellSizeAttributesMap);
|
||||||
|
publishEvent(event);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deletes Equipment record
|
* Deletes Equipment record
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
|
|||||||
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
|
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
|
||||||
import com.telecominfraproject.wlan.equipment.models.ElementRadioConfiguration;
|
import com.telecominfraproject.wlan.equipment.models.ElementRadioConfiguration;
|
||||||
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
||||||
|
import com.telecominfraproject.wlan.equipment.models.EquipmentCellSizeAttributesUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.EquipmentChannelsUpdateRequest;
|
import com.telecominfraproject.wlan.equipment.models.EquipmentChannelsUpdateRequest;
|
||||||
import com.telecominfraproject.wlan.equipment.models.EquipmentDetails;
|
import com.telecominfraproject.wlan.equipment.models.EquipmentDetails;
|
||||||
import com.telecominfraproject.wlan.equipment.models.RadioConfiguration;
|
import com.telecominfraproject.wlan.equipment.models.RadioConfiguration;
|
||||||
@@ -110,6 +111,12 @@ public class EquipmentPortalController {
|
|||||||
return equipmentServiceInterface.updateChannels(request);
|
return equipmentServiceInterface.updateChannels(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/equipment/cellSize", method = RequestMethod.PUT)
|
||||||
|
public Equipment updateEquipmentCellSizeAttributes(@RequestBody EquipmentCellSizeAttributesUpdateRequest request) {
|
||||||
|
LOG.debug("updateEquipmentCellSizeAttributes {}", request);
|
||||||
|
return equipmentServiceInterface.updateCellSizeAttributes(request);
|
||||||
|
}
|
||||||
|
|
||||||
@RequestMapping(value = "/equipment", method = RequestMethod.POST)
|
@RequestMapping(value = "/equipment", method = RequestMethod.POST)
|
||||||
public Equipment createEquipment(@RequestBody Equipment equipment) {
|
public Equipment createEquipment(@RequestBody Equipment equipment) {
|
||||||
LOG.debug("Creating equipment {}", equipment.getId());
|
LOG.debug("Creating equipment {}", equipment.getId());
|
||||||
|
|||||||
@@ -888,6 +888,49 @@ components:
|
|||||||
autoChannelSelections:
|
autoChannelSelections:
|
||||||
$ref: '#/components/schemas/BooleanPerRadioTypeMap'
|
$ref: '#/components/schemas/BooleanPerRadioTypeMap'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Equipment Cell Size Attributes update data models
|
||||||
|
#
|
||||||
|
EquipmentCellSizeAttributesUpdateRequest:
|
||||||
|
properties:
|
||||||
|
equipmentId:
|
||||||
|
type: integer
|
||||||
|
format: int64
|
||||||
|
cellSizeAttributesMap:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributesPerRadioTypeMap'
|
||||||
|
autoCellSizeSelections:
|
||||||
|
$ref: '#/components/schemas/BooleanPerRadioTypeMap'
|
||||||
|
|
||||||
|
CellSizeAttributes:
|
||||||
|
properties:
|
||||||
|
rxCellSizeDb:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
probeResponseThresholdDb:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
clientDisconnectThresholdDb:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
eirpTxPowerDb:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
multicastRate:
|
||||||
|
$ref: '#/components/schemas/MulticastRate'
|
||||||
|
managementRate:
|
||||||
|
$ref: '#/components/schemas/ManagementRate'
|
||||||
|
|
||||||
|
CellSizeAttributesPerRadioTypeMap:
|
||||||
|
properties:
|
||||||
|
is5GHz:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributes'
|
||||||
|
is5GHzU:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributes'
|
||||||
|
is5GHzL:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributes'
|
||||||
|
is2dot4GHz:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributes'
|
||||||
|
|
||||||
#
|
#
|
||||||
# Equipment configuration data models
|
# Equipment configuration data models
|
||||||
#
|
#
|
||||||
@@ -8973,6 +9016,7 @@ components:
|
|||||||
- EquipmentAddedEvent
|
- EquipmentAddedEvent
|
||||||
- EquipmentChangedEvent
|
- EquipmentChangedEvent
|
||||||
- EquipmentChannelsChangedEvent
|
- EquipmentChannelsChangedEvent
|
||||||
|
- EquipmentCellSizeAttributesChangedEvent
|
||||||
- EquipmentRemovedEvent
|
- EquipmentRemovedEvent
|
||||||
- StatusChangedEvent
|
- StatusChangedEvent
|
||||||
- StatusRemovedEvent
|
- StatusRemovedEvent
|
||||||
@@ -9064,6 +9108,7 @@ components:
|
|||||||
- $ref: '#/components/schemas/EquipmentAddedEvent'
|
- $ref: '#/components/schemas/EquipmentAddedEvent'
|
||||||
- $ref: '#/components/schemas/EquipmentChangedEvent'
|
- $ref: '#/components/schemas/EquipmentChangedEvent'
|
||||||
- $ref: '#/components/schemas/EquipmentChannelsChangedEvent'
|
- $ref: '#/components/schemas/EquipmentChannelsChangedEvent'
|
||||||
|
- $ref: '#/components/schemas/EquipmentCellSizeAttributesChangedEvent'
|
||||||
- $ref: '#/components/schemas/EquipmentRemovedEvent'
|
- $ref: '#/components/schemas/EquipmentRemovedEvent'
|
||||||
- $ref: '#/components/schemas/StatusChangedEvent'
|
- $ref: '#/components/schemas/StatusChangedEvent'
|
||||||
- $ref: '#/components/schemas/StatusRemovedEvent'
|
- $ref: '#/components/schemas/StatusRemovedEvent'
|
||||||
@@ -9410,6 +9455,13 @@ components:
|
|||||||
newBackupChannels:
|
newBackupChannels:
|
||||||
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
|
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
|
||||||
|
|
||||||
|
EquipmentCellSizeAttributesChangedEvent:
|
||||||
|
properties:
|
||||||
|
allOf:
|
||||||
|
$ref: '#/components/schemas/EquipmentChangedEvent'
|
||||||
|
cellSizeAttributesMap:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributesPerRadioTypeMap'
|
||||||
|
|
||||||
EquipmentRemovedEvent:
|
EquipmentRemovedEvent:
|
||||||
required:
|
required:
|
||||||
- model_type
|
- model_type
|
||||||
@@ -11633,6 +11685,29 @@ paths:
|
|||||||
500:
|
500:
|
||||||
$ref: '#/components/responses/GenericApiError'
|
$ref: '#/components/responses/GenericApiError'
|
||||||
|
|
||||||
|
/portal/equipment/cellSize:
|
||||||
|
put:
|
||||||
|
tags:
|
||||||
|
- Equipment
|
||||||
|
summary: Update Equipment Cell Size Attributes
|
||||||
|
operationId: updateEquipmentCellSizeAttributes
|
||||||
|
requestBody:
|
||||||
|
description: Equipment Cell Size Attributes update request
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/EquipmentCellSizeAttributesUpdateRequest'
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: successful operation
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Equipment'
|
||||||
|
500:
|
||||||
|
$ref: '#/components/responses/GenericApiError'
|
||||||
|
|
||||||
/portal/equipment/inSet:
|
/portal/equipment/inSet:
|
||||||
get:
|
get:
|
||||||
tags:
|
tags:
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import com.telecominfraproject.wlan.core.model.pair.PairLongLong;
|
|||||||
import com.telecominfraproject.wlan.core.model.streams.QueuedStreamMessage;
|
import com.telecominfraproject.wlan.core.model.streams.QueuedStreamMessage;
|
||||||
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
|
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
|
||||||
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
import com.telecominfraproject.wlan.equipment.models.Equipment;
|
||||||
import com.telecominfraproject.wlan.equipment.models.events.EquipmentChangeType;
|
import com.telecominfraproject.wlan.equipment.models.events.EquipmentCellSizeAttributesChangedEvent;
|
||||||
import com.telecominfraproject.wlan.equipment.models.events.EquipmentChangedEvent;
|
import com.telecominfraproject.wlan.equipment.models.events.EquipmentChangedEvent;
|
||||||
import com.telecominfraproject.wlan.equipment.models.events.EquipmentChannelsChangedEvent;
|
import com.telecominfraproject.wlan.equipment.models.events.EquipmentChannelsChangedEvent;
|
||||||
import com.telecominfraproject.wlan.equipment.models.events.EquipmentRemovedEvent;
|
import com.telecominfraproject.wlan.equipment.models.events.EquipmentRemovedEvent;
|
||||||
@@ -27,6 +27,7 @@ import com.telecominfraproject.wlan.equipmentgateway.models.CEGWBaseCommand;
|
|||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWCloseSessionRequest;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWCloseSessionRequest;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWConfigChangeNotification;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWConfigChangeNotification;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWNewChannelRequest;
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWNewChannelRequest;
|
||||||
|
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWCellSizeAttributesRequest;
|
||||||
import com.telecominfraproject.wlan.equipmentgateway.service.EquipmentGatewayServiceInterface;
|
import com.telecominfraproject.wlan.equipmentgateway.service.EquipmentGatewayServiceInterface;
|
||||||
import com.telecominfraproject.wlan.location.models.events.LocationChangedApImpactingEvent;
|
import com.telecominfraproject.wlan.location.models.events.LocationChangedApImpactingEvent;
|
||||||
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
|
import com.telecominfraproject.wlan.profile.ProfileServiceInterface;
|
||||||
@@ -99,6 +100,9 @@ public class EquipmentConfigPushTrigger extends StreamProcessor {
|
|||||||
case "EquipmentChannelsChangedEvent":
|
case "EquipmentChannelsChangedEvent":
|
||||||
process((EquipmentChannelsChangedEvent) se);
|
process((EquipmentChannelsChangedEvent) se);
|
||||||
break;
|
break;
|
||||||
|
case "EquipmentCellSizeAttributesChangedEvent":
|
||||||
|
process((EquipmentCellSizeAttributesChangedEvent) se);
|
||||||
|
break;
|
||||||
case "EquipmentRemovedEvent":
|
case "EquipmentRemovedEvent":
|
||||||
process((EquipmentRemovedEvent) se);
|
process((EquipmentRemovedEvent) se);
|
||||||
break;
|
break;
|
||||||
@@ -132,6 +136,12 @@ public class EquipmentConfigPushTrigger extends StreamProcessor {
|
|||||||
model.getEquipmentId(), model.getNewBackupChannels(), model.getNewPrimaryChannels()));
|
model.getEquipmentId(), model.getNewBackupChannels(), model.getNewPrimaryChannels()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void process(EquipmentCellSizeAttributesChangedEvent model) {
|
||||||
|
LOG.debug("Processing EquipmentCellSizeAttributesChangedEvent for equipmentId {}", model.getEquipmentId());
|
||||||
|
equipmentGatewayInterface.sendCommand(new CEGWCellSizeAttributesRequest(model.getPayload().getInventoryId(),
|
||||||
|
model.getEquipmentId(), model.getCellSizeAttributesMap()));
|
||||||
|
}
|
||||||
|
|
||||||
private void process(EquipmentRemovedEvent model) {
|
private void process(EquipmentRemovedEvent model) {
|
||||||
LOG.debug("Processing EquipmentRemovedEvent");
|
LOG.debug("Processing EquipmentRemovedEvent");
|
||||||
equipmentGatewayInterface.sendCommand(new CEGWCloseSessionRequest(model.getPayload().getInventoryId(), model.getEquipmentId()));
|
equipmentGatewayInterface.sendCommand(new CEGWCloseSessionRequest(model.getPayload().getInventoryId(), model.getEquipmentId()));
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ components:
|
|||||||
- EquipmentAddedEvent
|
- EquipmentAddedEvent
|
||||||
- EquipmentChangedEvent
|
- EquipmentChangedEvent
|
||||||
- EquipmentChannelsChangedEvent
|
- EquipmentChannelsChangedEvent
|
||||||
|
- EquipmentCellSizeAttributesChangedEvent
|
||||||
- EquipmentRemovedEvent
|
- EquipmentRemovedEvent
|
||||||
- StatusChangedEvent
|
- StatusChangedEvent
|
||||||
- StatusRemovedEvent
|
- StatusRemovedEvent
|
||||||
@@ -190,6 +191,7 @@ components:
|
|||||||
- $ref: '#/components/schemas/EquipmentAddedEvent'
|
- $ref: '#/components/schemas/EquipmentAddedEvent'
|
||||||
- $ref: '#/components/schemas/EquipmentChangedEvent'
|
- $ref: '#/components/schemas/EquipmentChangedEvent'
|
||||||
- $ref: '#/components/schemas/EquipmentChannelsChangedEvent'
|
- $ref: '#/components/schemas/EquipmentChannelsChangedEvent'
|
||||||
|
- $ref: '#/components/schemas/EquipmentCellSizeAttributesChangedEvent'
|
||||||
- $ref: '#/components/schemas/EquipmentRemovedEvent'
|
- $ref: '#/components/schemas/EquipmentRemovedEvent'
|
||||||
- $ref: '#/components/schemas/StatusChangedEvent'
|
- $ref: '#/components/schemas/StatusChangedEvent'
|
||||||
- $ref: '#/components/schemas/StatusRemovedEvent'
|
- $ref: '#/components/schemas/StatusRemovedEvent'
|
||||||
@@ -460,6 +462,43 @@ components:
|
|||||||
newBackupChannels:
|
newBackupChannels:
|
||||||
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
|
$ref: '#/components/schemas/IntegerPerRadioTypeMap'
|
||||||
|
|
||||||
|
EquipmentCellSizeAttributesChangedEvent:
|
||||||
|
properties:
|
||||||
|
allOf:
|
||||||
|
$ref: '#/components/schemas/EquipmentChangedEvent'
|
||||||
|
cellSizeAttributesMap:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributesPerRadioTypeMap'
|
||||||
|
|
||||||
|
CellSizeAttributes:
|
||||||
|
properties:
|
||||||
|
rxCellSizeDb:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
probeResponseThresholdDb:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
clientDisconnectThresholdDb:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
eirpTxPowerDb:
|
||||||
|
type: integer
|
||||||
|
format: int32
|
||||||
|
multicastRate:
|
||||||
|
$ref: '#/components/schemas/MulticastRate'
|
||||||
|
managementRate:
|
||||||
|
$ref: '#/components/schemas/ManagementRate'
|
||||||
|
|
||||||
|
CellSizeAttributesPerRadioTypeMap:
|
||||||
|
properties:
|
||||||
|
is5GHz:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributes'
|
||||||
|
is5GHzU:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributes'
|
||||||
|
is5GHzL:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributes'
|
||||||
|
is2dot4GHz:
|
||||||
|
$ref: '#/components/schemas/CellSizeAttributes'
|
||||||
|
|
||||||
EquipmentRemovedEvent:
|
EquipmentRemovedEvent:
|
||||||
properties:
|
properties:
|
||||||
eventTimestamp:
|
eventTimestamp:
|
||||||
|
|||||||
Reference in New Issue
Block a user