Compare commits

...

18 Commits

Author SHA1 Message Date
Thomas-Leung2021
ccb7680933 [WIFI-4415] remove unnecessary code 2021-09-27 13:33:48 -04:00
Thomas Leung
b4b697376c Merged in NETEXP-2959 (pull request #10)
NETEXP-2959 Undo blinkLEDs api

Approved-by: mike.hansen
2021-09-24 17:37:14 -04:00
Thomas-Leung2021
b57fb2dd4f Merge branch 'NETEXP-2959' of bitbucket.org:connectustechnologies/wlan-cloud-services into NETEXP-2959 2021-09-24 17:35:42 -04:00
Thomas-Leung2021
d25c1d6167 [WIFI-4415] Undo blinkLEDs api 2021-09-24 17:34:52 -04:00
Thomas-Leung2021
57c2d7d6f4 [NETEXP-2959] update Equipment Profile when blinkAllLEDs changed 2021-09-24 17:21:08 -04:00
norm-traxler
faf0a3a385 Merge pull request #155 from Telecominfraproject/WIFI-4339
WIFI-4339 Moving the AP from one location to another with different C…
2021-09-24 14:59:49 -04:00
norm-traxler
a7a836440e Merge pull request #156 from Telecominfraproject/WIFI-4340
WIFI-4340 Configure Auto Channel Exclusions in RF Profile
2021-09-24 14:59:34 -04:00
Lynn Shi
999e597493 WIFI-4340 Configure Auto Channel Exclusions in RF Profile 2021-09-23 17:19:53 -04:00
Lynn Shi
5f4ed530fe WIFI-4339 Moving the AP from one location to another with different Country code does not trigger reg domain changes on AP 2021-09-23 16:09:08 -04:00
Mike Hansen
0dca8bb943 Merge pull request #154 from Telecominfraproject/WIFI-4152-bugfix-alarm-forCustomer
[WIFI-4152] Removing null entries from alarm Cassandra forCustomer
2021-09-15 13:55:21 -04:00
ralphlee
c8c7217d38 [WIFI-4152] Removing null entries from alarm Cassandra forCustomer 2021-09-15 13:48:47 -04:00
Mike Hansen
b41e35a536 Merge pull request #151 from Telecominfraproject/WIFI-3404
[WIFI-3404] Clean up unused schema definition in yaml files
2021-08-11 08:33:02 -04:00
Mike Hansen
64bd468ade Merge pull request #149 from Telecominfraproject/WIFI-3358
[WIFI-3358] remove more unused attributes in ClientMetrics
2021-08-11 08:32:01 -04:00
Mike Hansen
fe488e9d5f Merge pull request #148 from Telecominfraproject/WIFI-3403
[WIFI-3403] remove unused attributes in RadioStatistics
2021-08-11 08:31:01 -04:00
norm-traxler
a79778b083 Merge pull request #150 from Telecominfraproject/WIFI-3397
Fix to not remove the active sessions.
2021-08-10 22:18:54 -04:00
Rahul Sharma
15698e99cb Fix to not remove the active sessions.
Also added some more logging
2021-08-10 18:29:47 -04:00
Thomas-Leung2021
c307f59e8a [WIFI-3358] remove more unused attributes in ClientMetrics 2021-08-10 17:35:38 -04:00
Thomas-Leung2021
1e23a691d7 [WIFI-3403] remove unused attributes in RadioStatistics 2021-08-10 14:11:32 -04:00
13 changed files with 126 additions and 4331 deletions

View File

@@ -795,7 +795,10 @@ public class AlarmDatastoreCassandra implements AlarmDatastore {
long equipmentIdPostQuery = row.getLong("equipmentId");
int alarmCodePostQuery = row.getInt("alarmCode");
long createdTimestampPostQuery = row.getLong("createdTimestamp");
pageItems.add(getOrNull(customerId, equipmentIdPostQuery, AlarmCode.getById(alarmCodePostQuery), createdTimestampPostQuery));
Alarm alarmToAdd = getOrNull(customerId, equipmentIdPostQuery, AlarmCode.getById(alarmCodePostQuery), createdTimestampPostQuery);
if (alarmToAdd != null) {
pageItems.add(alarmToAdd);
}
}
break;
default:

View File

@@ -344,7 +344,6 @@ components:
- cyan
- white
- off
CEGWBlinkRequest:
description: Turn all LEDs on the AP to blinking, or turn off. The blinkAllLEDs attribute is the only currently supported functionality on the AP.
allOf:

View File

@@ -309,5 +309,4 @@ public abstract class CommonElementConfiguration extends EquipmentDetails implem
this.blinkAllLEDs = blinkAllLEDs;
}
}

View File

@@ -283,7 +283,9 @@ public class EquipmentController {
if (ret.getCustomerId() != existingEquipment.getCustomerId()) {
publishEvent(new EquipmentCustomerChangedEvent(existingEquipment, ret));
}
if ((ret.getProfileId() != existingEquipment.getProfileId()) || (existingApElementConfig != null && updatedApElementConfig != null &&
if ((ret.getProfileId() != existingEquipment.getProfileId()) ||
ret.getLocationId() != existingEquipment.getLocationId() ||
(existingApElementConfig != null && updatedApElementConfig != null &&
updatedApElementConfig.needsToBeUpdatedOnDevice(existingApElementConfig))) {
event = new EquipmentApImpactingChangedEvent(ret);
} else if (existingApElementConfig != null && existingApElementConfig.isBlinkAllLEDs() != updatedApElementConfig.isBlinkAllLEDs()) {

View File

@@ -48,11 +48,12 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
* To test this method:
* curl --digest --user user:password --request POST --insecure --header "Content-Type: application/json; charset=utf-8" --data '' https://localhost:7072/api/portFwd/createSession/inventoryId/dev-ap-0001/port/22/
*
* @param inventoryId
* @param connectToPortOnEquipment
* @param inventoryId: Equipment's AssetId
* @param connectToPortOnEquipment: Port to connect on the AP
* @return session id of a newly created forwarder session
*/
public String startForwarderSession(final String inventoryId, int connectToPortOnEquipment){
LOG.debug("Received create Session request for inventoryId {} on port {}", inventoryId, connectToPortOnEquipment);
//inventoryId is used to tie ForwarderSession to WebSocketSession
try {
@@ -191,7 +192,7 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
LOG.debug("[{}] Stopped polling inputstream on local socket {}", inventoryId, localSocket.getPort());
} catch (IOException e) {
LOG.error("[{}] Session {} got exception {} for the socket on port {}", inventoryId, forwarderSession.getSessionId(), e, port);
LOG.error("[{}] Session {} got IOException {} for the socket on port {}", inventoryId, forwarderSession.getSessionId(), port, e);
} finally {
//notify the other end that forwarding session is terminated
@@ -209,7 +210,7 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
localSocket.close();
forwarderSession.getServerSocket().close();
} catch (IOException e) {
//do nothing here
LOG.error("IO Exception when closing socket", e);
}
sessionIdToForwarderSessionMap.remove(forwarderSession.getSessionId());
@@ -233,11 +234,11 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
forwarderSession.setSocketStreamReaderThread(socketInputStreamReaderThread);
} catch (Exception e) {
LOG.error("[{}] error accepting conection on port {} - closing forwarding session {}", inventoryId, listenOnLocalPort, forwarderSession.getSessionId());
LOG.error("[{}] error accepting connection on port {} - closing forwarding session {}", inventoryId, listenOnLocalPort, forwarderSession.getSessionId(), e);
try {
serverSocket.close();
} catch (IOException e1) {
// do nothing here
LOG.error("IO Exception when closing socket", e1);
}
sessionIdToForwarderSessionMap.remove(forwarderSession.getSessionId());
}
@@ -278,20 +279,17 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
if(forwarderSession.getServerSocket() != null){
forwarderSession.getServerSocket().close();
LOG.debug("Closed forwarderSession server socket for sessionId {}", sessionId);
}
if(forwarderSession.getLocalSocket() != null){
forwarderSession.getLocalSocket().close();
LOG.debug("Closed forwarderSession local socket for sessionId {}", sessionId);
}
//stream reader will stop in a separate thread by themselves
sessionIdToForwarderSessionMap.remove(forwarderSession.getSessionId());
} catch (Exception e) {
// do nothing here
LOG.error("Encountered exception when closing connection for forwarder session {}", forwarderSession, e);
} catch (IOException e) {
LOG.error("Encountered IOException when closing connection for forwarder session {}", forwarderSession, e);
sessionIdToForwarderSessionMap.remove(forwarderSession.getSessionId());
}
@@ -326,7 +324,6 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
if(payload.indexOf(':')>0){
port = Integer.parseInt(payload.substring(payload.indexOf(':')+1));
}
LOG.debug("handleTextMessage: Port {} is used on Equipment {}", port, webSocketSessionKey);
//find forwarderSession by inventoryId and CEPort
ForwarderSession forwarderSession = null;
for(ForwarderSession fs: sessionIdToForwarderSessionMap.values()){
@@ -375,20 +372,18 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
*/
@Override
protected void handleBinaryMessage(WebSocketSession session, BinaryMessage message) throws Exception {
//TODO: may need to have message ack for each binary packet, and do not send the next packet until previous one has been acknowledged
//DT: this has not been an issue so far
String webSocketSessionKey = getWebSocketSessionKey(session);
ByteBuffer payload = message.getPayload();
int msgPayloadLength = message.getPayloadLength();
int port = payload.getInt();
LOG.debug("handleBinaryMessage: Port {} is used on Equipment {}", port, webSocketSessionKey);
//find forwarderSession by inventoryId and CEPort
ForwarderSession forwarderSession = null;
for(ForwarderSession fs: sessionIdToForwarderSessionMap.values()){
if(fs.getInventoryId().equals(webSocketSessionKey) && fs.getConnectToPortOnEquipment()==port){
forwarderSession = fs;
@@ -425,14 +420,13 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
} else {
LOG.debug("[{}] Session {} received message that cannot be delivered because local socket is inoperable {}", webSocketSessionKey, session, message);
if (forwarderSession == null) {
LOG.debug("forwarderSession not found fpr webSocketSessionKey {}", webSocketSessionKey);
LOG.debug("forwarderSession not found for webSocketSessionKey {}", webSocketSessionKey);
} else if (forwarderSession.getLocalSocket() == null) {
LOG.debug("forwarderSession local socket is null for webSocketSessionKey {}", webSocketSessionKey);
} else {
LOG.debug("forwarderSession local socket for webSocketSessionKey {} is closed = {} and connected = {} ",
webSocketSessionKey, forwarderSession.getLocalSocket().isClosed(), forwarderSession.getLocalSocket().isConnected());
}
}
}
@@ -456,32 +450,29 @@ public class PortForwarderWebSocketHandler extends AbstractWebSocketHandler {
}
@Override
public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception {
public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) {
String webSocketSessionKey = getWebSocketSessionKey(session);
LOG.info("[{}] Closed portForwarder websocket connection {} : {}", webSocketSessionKey, session, closeStatus);
webSocketSessionMap.remove(webSocketSessionKey);
LOG.debug(" Removed key {} from webSocketSessionMap", webSocketSessionKey);
//close and remove all forwarder sessions for that CE
Iterator<ForwarderSession> iter = sessionIdToForwarderSessionMap.values().iterator();
while(iter.hasNext()){
ForwarderSession fs = iter.next();
if (fs.getInventoryId().equals(webSocketSessionKey)) {
LOG.debug("Closing webSocketSession for forwarderSession: {} ", fs);
if(fs.getLocalSocket()!=null && !fs.getLocalSocket().isClosed()){
fs.getLocalSocket().close();
LOG.debug("Closing local Socket for fs {}", fs);
}
if(fs.getServerSocket()!=null && !fs.getServerSocket().isClosed()){
fs.getServerSocket().close();
LOG.debug("Closing Server Socket for fs {}", fs);
try {
Iterator<ForwarderSession> iter = sessionIdToForwarderSessionMap.values().iterator();
while (iter.hasNext()) {
ForwarderSession fs = iter.next();
if (fs.getInventoryId().equals(webSocketSessionKey)) {
if (fs.getLocalSocket() != null && !fs.getLocalSocket().isClosed()) {
fs.getLocalSocket().close();
}
if (fs.getServerSocket() != null && !fs.getServerSocket().isClosed()) {
fs.getServerSocket().close();
}
iter.remove();
}
}
iter.remove();
} catch (Exception ex) {
LOG.error("Encountered exception when closing-sockets and removing sessions for Key {} ", webSocketSessionKey, ex);
}
}
private String getWebSocketSessionKey(WebSocketSession session) {

View File

@@ -12,8 +12,10 @@ import org.springframework.web.bind.annotation.RestController;
import com.telecominfraproject.wlan.core.model.json.GenericResponse;
import com.telecominfraproject.wlan.equipment.EquipmentServiceInterface;
import com.telecominfraproject.wlan.equipment.models.ApElementConfiguration;
import com.telecominfraproject.wlan.equipment.models.Equipment;
import com.telecominfraproject.wlan.equipment.models.RadioChannelChangeSettings;
import com.telecominfraproject.wlan.equipment.models.events.EquipmentBlinkLEDsEvent;
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWBlinkRequest;
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWCommandResultCode;
import com.telecominfraproject.wlan.equipmentgateway.models.CEGWFirmwareDownloadRequest;
@@ -140,9 +142,9 @@ public class EquipmentGatewayPortalController {
@RequestMapping(value = "/equipmentGateway/requestApBlinkLEDs", method = RequestMethod.POST)
public GenericResponse requestApBlinkLEDs(@RequestParam long equipmentId, @RequestParam boolean blinkAllLEDs) {
String action = "stop blinking LEDs on AP ";
String action = "stop blinking LEDs on AP";
if (blinkAllLEDs)
action = "start blinking LEDs on AP ";
action = "start blinking LEDs on AP";
Equipment equipment = equipmentServiceInterface.get(equipmentId);
LOG.debug("Request {} for AP {}", action, equipment.getInventoryId());
@@ -154,6 +156,9 @@ public class EquipmentGatewayPortalController {
LOG.debug("{} response {}", action, response);
if (response.getResultCode() == CEGWCommandResultCode.Success) {
ApElementConfiguration apElementConfig = (ApElementConfiguration) equipment.getDetails();
apElementConfig.setBlinkAllLEDs(blinkAllLEDs);
equipmentServiceInterface.update(equipment);
return new GenericResponse(true, "");
} else {
return new GenericResponse(false, "Failed to " + action + " for AP: " + response.getResultCode() + " " + response.getResultDetail());

View File

@@ -93,7 +93,7 @@ public abstract class CommonNetworkConfiguration extends ProfileDetails {
}
public Boolean getLedControlEnabled() {
public Boolean isLedControlEnabled() {
return ledControlEnabled;
}

View File

@@ -4,6 +4,8 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
import com.telecominfraproject.wlan.core.model.equipment.ChannelBandwidth;
import com.telecominfraproject.wlan.core.model.equipment.ChannelHopSettings;
@@ -80,6 +82,8 @@ public class RfElementConfiguration extends BaseJsonModel {
private Boolean useMaxTxPower;
private Integer eirpTxPower;
private RadioBestApSettings bestApSettings;
private Set<Integer> autoExclusionChannels = new TreeSet<Integer>();
private RfElementConfiguration() {
long timestamp = System.currentTimeMillis();
@@ -362,9 +366,25 @@ public class RfElementConfiguration extends BaseJsonModel {
this.bestApSettings = bestApSettings;
}
public Set<Integer> getAutoExclusionChannels() {
return autoExclusionChannels;
}
public void setAutoExclusionChannels(Set<Integer> autoExclusionChannels) {
if (autoExclusionChannels != null) {
this.autoExclusionChannels.clear();
this.autoExclusionChannels.addAll(autoExclusionChannels);
}
}
@Override
public RfElementConfiguration clone() {
return (RfElementConfiguration) super.clone();
RfElementConfiguration ret = (RfElementConfiguration) super.clone();
if (autoExclusionChannels != null) {
ret.autoExclusionChannels = new TreeSet<>(autoExclusionChannels);
}
return ret;
}
@Override
@@ -409,7 +429,7 @@ public class RfElementConfiguration extends BaseJsonModel {
channelBandwidth, channelHopSettings, clientDisconnectThresholdDb, eirpTxPower, forceScanDuringVoice,
managementRate, maxNumClients, mimoMode, minAutoCellSize, multicastRate, neighbouringListApConfig,
perimeterDetectionEnabled, probeResponseThresholdDb, radioMode, radioType, rf, rtsCtsThreshold,
rxCellSizeDb, autoCellSizeSelection, maxAutoCellSize);
rxCellSizeDb, autoCellSizeSelection, maxAutoCellSize, autoExclusionChannels);
}
@Override
@@ -439,7 +459,8 @@ public class RfElementConfiguration extends BaseJsonModel {
&& Objects.equals(probeResponseThresholdDb, other.probeResponseThresholdDb)
&& radioMode == other.radioMode && radioType == other.radioType && Objects.equals(rf, other.rf)
&& Objects.equals(rtsCtsThreshold, other.rtsCtsThreshold)
&& Objects.equals(rxCellSizeDb, other.rxCellSizeDb);
&& Objects.equals(rxCellSizeDb, other.rxCellSizeDb)
&& Objects.equals(autoExclusionChannels, other.autoExclusionChannels);
}
}

View File

@@ -1,8 +1,16 @@
package com.telecominfraproject.wlan.profile.rf.models;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.junit.Test;
import com.telecominfraproject.wlan.core.model.equipment.RadioType;
@@ -56,4 +64,33 @@ public class RfConfigurationTests {
rfConfig2_4.setRadioMode(RadioMode.modeGN);
rfConfig5.setRadioMode(RadioMode.modeGN);
}
@Test
public void testAutoExclusionChannels() {
RfElementConfiguration rfConfig = RfElementConfiguration.createWithDefaults(RadioType.is5GHz);
assertNotNull(rfConfig.getAutoExclusionChannels());
assertTrue(rfConfig.getAutoExclusionChannels().isEmpty());
Set<Integer> unsortedSet = new HashSet<Integer>(Arrays.asList(1, 23, 45, 12));
rfConfig.setAutoExclusionChannels(unsortedSet);
Set<Integer> sortedSet = rfConfig.getAutoExclusionChannels();
List<Integer> list = new ArrayList<Integer>(sortedSet);
assertEquals(Integer.valueOf(1), list.get(0));
assertEquals(Integer.valueOf(12), list.get(1));
assertEquals(Integer.valueOf(23), list.get(2));
assertEquals(Integer.valueOf(45), list.get(3));
Set<Integer> unsortedSet2 = new HashSet<Integer>(Arrays.asList(10, 45, 23, 12));
rfConfig.setAutoExclusionChannels(unsortedSet2);
Set<Integer> sortedSet2 = rfConfig.getAutoExclusionChannels();
List<Integer> list2 = new ArrayList<Integer>(sortedSet2);
assertEquals(Integer.valueOf(10), list2.get(0));
assertEquals(Integer.valueOf(12), list2.get(1));
assertEquals(Integer.valueOf(23), list2.get(2));
assertEquals(Integer.valueOf(45), list2.get(3));
}
}

View File

@@ -53,203 +53,26 @@ public class ClientMetrics extends ServiceMetricDetails {
*/
private Integer numRxData;
/**
* The number of received management frames.
*/
private Integer numRxManagement;
/**
* The number of received control frames.
*/
private Integer numRxControl;
/**
* The number of received bytes.
*/
private Long rxBytes;
/**
* The number of received data bytes.
*/
private Long rxDataBytes;
/**
* The number of received RTS frames.
*/
private Integer numRxRts;
/**
* The number of received CTS frames.
*/
private Integer numRxCts;
/**
* The number of all received ACK frames (Acks + BlockAcks).
*/
private Integer numRxAck;
/**
* The number of received probe request frames.
*/
private Integer numRxProbeReq;
/**
* The number of received retry frames.
*/
private Integer numRxRetry;
/**
* The number of received duplicated frames.
*/
private Integer numRxDup;
/**
* The number of received null data frames.
*/
private Integer numRxNullData;
/**
* The number of received ps-poll frames.
*/
private Integer numRxPspoll;
/**
* The number of received STBC frames.
*/
private Integer numRxStbc;
/**
* The number of received LDPC frames.
*/
private Integer numRxLdpc;
/**
* The timestamp of last received layer three user traffic (IP data)
*/
private Long lastRecvLayer3Ts;
/**
* The number of received ethernet and local generated frames for transmit.
*/
private Long numRcvFrameForTx;
/**
* The number of TX frames queued.
*/
private Long numTxQueued;
/**
* The number of every TX frame dropped.
*/
private Integer numTxDropped;
/**
* The number of TX frame dropped due to retries.
*/
private Integer numTxRetryDropped;
/**
* The number of frames successfully transmitted.
*/
private Integer numTxSucc;
/**
* The Number of Tx bytes successfully transmitted.
*/
private Long numTxByteSucc;
/**
* The number of successfully transmitted frames at first attempt.
*/
private Integer numTxSuccNoRetry;
/**
* The number of successfully transmitted frames with retries.
*/
private Integer numTxSuccRetries;
/**
* The number of Tx frames with retries.
*/
private Integer numTxMultiRetries;
/**
* The number of TX management frames.
*/
private Integer numTxManagement;
/**
* The number of Tx control frames.
*/
private Integer numTxControl;
/**
* The number of Tx action frames.
*/
private Integer numTxAction;
/**
* The number of TX probe response.
*/
private Integer numTxPropResp;
/**
* The number of Tx data frames.
*/
private Integer numTxData;
/**
* The number of Tx data frames with retries,done.
*/
private Integer numTxDataRetries;
/**
* The number of RTS frames sent successfully, done.
*/
private Integer numTxRtsSucc;
/**
* The number of RTS frames failed transmission.
*/
private Integer numTxRtsFail;
/**
* The number of TX frames failed because of not Acked.
*/
private Integer numTxNoAck;
/**
* The number of EAPOL frames sent.
*/
private Integer numTxEapol;
/**
* The number of total LDPC frames sent.
*/
private Integer numTxLdpc;
/**
* The number of total STBC frames sent.
*/
private Integer numTxStbc;
/**
* The number of aggregation frames sent successfully.
*/
private Integer numTxAggrSucc;
/**
* The number of aggregation frames sent using single MPDU (where the A-MPDU
* contains only one MPDU. ).
*/
private Integer numTxAggrOneMpdu;
/**
* The timestamp of last successfully sent layer three user traffic (IP
* data).
*/
private Long lastSentLayer3Ts;
/**
* Radio Type
*/
@@ -289,151 +112,42 @@ public class ClientMetrics extends ServiceMetricDetails {
}
ClientMetrics other = (ClientMetrics) obj;
return Objects.equals(averageRxRate, other.averageRxRate) && Objects.equals(averageTxRate, other.averageTxRate)
&& this.channelBandWidth == other.channelBandWidth && Objects.equals(lastRecvLayer3Ts, other.lastRecvLayer3Ts)
&& Objects.equals(classificationName, other.classificationName)
&& Objects.equals(lastSentLayer3Ts, other.lastSentLayer3Ts)
&& Objects.equals(numRcvFrameForTx, other.numRcvFrameForTx)
&& Objects.equals(numRxAck, other.numRxAck) && Objects.equals(numRxBytes, other.numRxBytes)
&& Objects.equals(numRxControl, other.numRxControl) && Objects.equals(numRxCts, other.numRxCts)
&& Objects.equals(numRxData, other.numRxData)
&& Objects.equals(numRxDup, other.numRxDup)
&& Objects.equals(numRxFramesReceived, other.numRxFramesReceived)
&& Objects.equals(numRxLdpc, other.numRxLdpc) && Objects.equals(numRxManagement, other.numRxManagement)
&& Objects.equals(numRxNoFcsErr, other.numRxNoFcsErr)
&& Objects.equals(numRxNullData, other.numRxNullData)
&& Objects.equals(numRxPackets, other.numRxPackets)
&& Objects.equals(numRxProbeReq, other.numRxProbeReq) && Objects.equals(numRxPspoll, other.numRxPspoll)
&& Objects.equals(numRxRetry, other.numRxRetry) && Objects.equals(numRxRts, other.numRxRts)
&& Objects.equals(numRxStbc, other.numRxStbc)
&& Objects.equals(numTxAction, other.numTxAction)
&& Objects.equals(numTxAggrOneMpdu, other.numTxAggrOneMpdu)
&& Objects.equals(numTxAggrSucc, other.numTxAggrSucc)
&& Objects.equals(numTxByteSucc, other.numTxByteSucc) && Objects.equals(numTxBytes, other.numTxBytes)
&& Objects.equals(numTxControl, other.numTxControl) && Objects.equals(numTxData, other.numTxData)
&& Objects.equals(numTxDataRetries, other.numTxDataRetries)
&& Objects.equals(numTxDropped, other.numTxDropped) && Objects.equals(numTxEapol, other.numTxEapol)
&& Objects.equals(numTxFramesTransmitted, other.numTxFramesTransmitted)
&& Objects.equals(numTxLdpc, other.numTxLdpc) && Objects.equals(numTxManagement, other.numTxManagement)
&& Objects.equals(numTxMultiRetries, other.numTxMultiRetries)
&& Objects.equals(numTxNoAck, other.numTxNoAck) && Objects.equals(numTxPackets, other.numTxPackets)
&& Objects.equals(numTxPropResp, other.numTxPropResp) && Objects.equals(numTxQueued, other.numTxQueued)
&& Objects.equals(numTxRetryDropped, other.numTxRetryDropped)
&& Objects.equals(numTxRtsFail, other.numTxRtsFail) && Objects.equals(numTxRtsSucc, other.numTxRtsSucc)
&& Objects.equals(numTxStbc, other.numTxStbc) && Objects.equals(numTxSucc, other.numTxSucc)
&& Objects.equals(numTxSuccNoRetry, other.numTxSuccNoRetry)
&& Objects.equals(numTxSuccRetries, other.numTxSuccRetries)
&& this.radioType == other.radioType
&& Arrays.equals(rates, other.rates) && Objects.equals(rssi, other.rssi)
&& Objects.equals(rxBytes, other.rxBytes) && Objects.equals(rxDataBytes, other.rxDataBytes)
&& Objects.equals(rxDuplicatePackets, other.rxDuplicatePackets)
&& Objects.equals(rxLastRssi, other.rxLastRssi)
&& this.channelBandWidth == other.channelBandWidth && Objects.equals(classificationName, other.classificationName)
&& Objects.equals(numRxBytes, other.numRxBytes) && Objects.equals(numRxData, other.numRxData)
&& Objects.equals(numRxFramesReceived, other.numRxFramesReceived) && Objects.equals(numRxNoFcsErr, other.numRxNoFcsErr)
&& Objects.equals(numRxPackets, other.numRxPackets) && Objects.equals(numRxRetry, other.numRxRetry)
&& Objects.equals(numTxBytes, other.numTxBytes) && Objects.equals(numTxDataRetries, other.numTxDataRetries)
&& Objects.equals(numTxDropped, other.numTxDropped) && Objects.equals(numTxFramesTransmitted, other.numTxFramesTransmitted)
&& Objects.equals(numTxPackets, other.numTxPackets) && this.radioType == other.radioType
&& Arrays.equals(rates, other.rates) && Objects.equals(rssi, other.rssi) && Objects.equals(rxBytes, other.rxBytes)
&& Objects.equals(rxDuplicatePackets, other.rxDuplicatePackets) && Objects.equals(rxLastRssi, other.rxLastRssi)
&& Objects.equals(snr, other.snr) && Objects.equals(txRetries, other.txRetries);
}
public Long getLastRecvLayer3Ts() {
return lastRecvLayer3Ts;
}
public Long getLastSentLayer3Ts() {
return lastSentLayer3Ts;
}
public Long getNumRcvFrameForTx() {
return numRcvFrameForTx;
}
public Integer getNumRxAck() {
return numRxAck;
}
public Long getNumRxBytes() {
return numRxBytes;
}
public Integer getNumRxControl() {
return numRxControl;
}
public Integer getNumRxCts() {
return numRxCts;
}
public Integer getNumRxData() {
return numRxData;
}
public Integer getNumRxDup() {
return numRxDup;
}
public Integer getNumRxLdpc() {
return numRxLdpc;
}
public Integer getNumRxManagement() {
return numRxManagement;
}
public Integer getNumRxNoFcsErr() {
return numRxNoFcsErr;
}
public Integer getNumRxNullData() {
return numRxNullData;
}
public Long getNumRxPackets() {
return numRxPackets;
}
public Integer getNumRxProbeReq() {
return numRxProbeReq;
}
public Integer getNumRxPspoll() {
return numRxPspoll;
}
public Integer getNumRxRetry() {
return numRxRetry;
}
public Integer getNumRxRts() {
return numRxRts;
}
public Integer getNumRxStbc() {
return numRxStbc;
}
public Integer getNumTxAction() {
return numTxAction;
}
public Integer getNumTxAggrOneMpdu() {
return numTxAggrOneMpdu;
}
public Integer getNumTxAggrSucc() {
return numTxAggrSucc;
}
public Long getNumTxBytes() {
return numTxBytes;
}
public Long getNumTxByteSucc() {
return numTxByteSucc;
}
public Integer getNumTxControl() {
return numTxControl;
}
public Integer getNumTxData() {
return numTxData;
}
public Integer getNumTxDataRetries() {
return numTxDataRetries;
}
@@ -442,66 +156,10 @@ public class ClientMetrics extends ServiceMetricDetails {
return numTxDropped;
}
public Integer getNumTxEapol() {
return numTxEapol;
}
public Integer getNumTxLdpc() {
return numTxLdpc;
}
public Integer getNumTxManagement() {
return numTxManagement;
}
public Integer getNumTxMultiRetries() {
return numTxMultiRetries;
}
public Integer getNumTxNoAck() {
return numTxNoAck;
}
public Long getNumTxPackets() {
return numTxPackets;
}
public Integer getNumTxPropResp() {
return numTxPropResp;
}
public Long getNumTxQueued() {
return numTxQueued;
}
public Integer getNumTxRetryDropped() {
return numTxRetryDropped;
}
public Integer getNumTxRtsFail() {
return numTxRtsFail;
}
public Integer getNumTxRtsSucc() {
return numTxRtsSucc;
}
public Integer getNumTxStbc() {
return numTxStbc;
}
public Integer getNumTxSucc() {
return numTxSucc;
}
public Integer getNumTxSuccNoRetry() {
return numTxSuccNoRetry;
}
public Integer getNumTxSuccRetries() {
return numTxSuccRetries;
}
public RadioType getRadioType() {
return radioType;
}
@@ -518,10 +176,6 @@ public class ClientMetrics extends ServiceMetricDetails {
return rxBytes;
}
public Long getRxDataBytes() {
return rxDataBytes;
}
public Integer getRxDuplicatePackets() {
return rxDuplicatePackets;
}
@@ -544,16 +198,10 @@ public class ClientMetrics extends ServiceMetricDetails {
int result = super.hashCode();
result = prime * result + Arrays.hashCode(this.rates);
result = prime * result + Objects.hash(averageRxRate, averageTxRate, channelBandWidth,
classificationName, lastRecvLayer3Ts, lastSentLayer3Ts,
numRcvFrameForTx, numRxAck, numRxBytes, numRxControl, numRxCts, numRxData,
numRxDup, numRxFramesReceived, numRxLdpc, numRxManagement,
numRxNoFcsErr, numRxNullData, numRxPackets, numRxProbeReq, numRxPspoll, numRxRetry, numRxRts, numRxStbc,
numTxAction, numTxAggrOneMpdu, numTxAggrSucc, numTxByteSucc, numTxBytes,
numTxControl, numTxData, numTxDataRetries, numTxDropped, numTxEapol, numTxFramesTransmitted,
numTxLdpc, numTxManagement,
numTxMultiRetries, numTxNoAck, numTxPackets, numTxPropResp, numTxQueued,
numTxRetryDropped, numTxRtsFail, numTxRtsSucc, numTxStbc, numTxSucc, numTxSuccNoRetry, numTxSuccRetries,
radioType, rssi, rxBytes, rxDataBytes, rxDuplicatePackets, rxLastRssi, snr, txRetries);
classificationName, numRxBytes, numRxData, numRxFramesReceived,
numRxNoFcsErr, numRxPackets, numRxRetry, numTxBytes,
numTxDataRetries, numTxDropped, numTxFramesTransmitted, numTxPackets,
radioType, rssi, rxBytes, rxDuplicatePackets, rxLastRssi, snr, txRetries);
return result;
}
@@ -568,110 +216,30 @@ public class ClientMetrics extends ServiceMetricDetails {
return false;
}
public void setLastRecvLayer3Ts(Long lastRecvLayer3Ts) {
this.lastRecvLayer3Ts = lastRecvLayer3Ts;
}
public void setLastSentLayer3Ts(Long lastSentLayer3Ts) {
this.lastSentLayer3Ts = lastSentLayer3Ts;
}
public void setNumRcvFrameForTx(Long numRcvFrameForTx) {
this.numRcvFrameForTx = numRcvFrameForTx;
}
public void setNumRxAck(Integer numRxAck) {
this.numRxAck = numRxAck;
}
public void setNumRxBytes(Long numRxBytes) {
this.numRxBytes = numRxBytes;
}
public void setNumRxControl(Integer numRxControl) {
this.numRxControl = numRxControl;
}
public void setNumRxCts(Integer numRxCts) {
this.numRxCts = numRxCts;
}
public void setNumRxData(Integer numRxData) {
this.numRxData = numRxData;
}
public void setNumRxDup(Integer numRxDup) {
this.numRxDup = numRxDup;
}
public void setNumRxLdpc(Integer numRxLdpc) {
this.numRxLdpc = numRxLdpc;
}
public void setNumRxManagement(Integer numRxManagement) {
this.numRxManagement = numRxManagement;
}
public void setNumRxNoFcsErr(Integer numRxNoFcsErr) {
this.numRxNoFcsErr = numRxNoFcsErr;
}
public void setNumRxNullData(Integer numRxNullData) {
this.numRxNullData = numRxNullData;
}
public void setNumRxPackets(Long numRxPackets) {
this.numRxPackets = numRxPackets;
}
public void setNumRxProbeReq(Integer numRxProbeReq) {
this.numRxProbeReq = numRxProbeReq;
}
public void setNumRxPspoll(Integer numRxPspoll) {
this.numRxPspoll = numRxPspoll;
}
public void setNumRxRetry(Integer numRxRetry) {
this.numRxRetry = numRxRetry;
}
public void setNumRxRts(Integer numRxRts) {
this.numRxRts = numRxRts;
}
public void setNumRxStbc(Integer numRxStbc) {
this.numRxStbc = numRxStbc;
}
public void setNumTxAction(Integer numTxAction) {
this.numTxAction = numTxAction;
}
public void setNumTxAggrOneMpdu(Integer numTxAggrOneMpdu) {
this.numTxAggrOneMpdu = numTxAggrOneMpdu;
}
public void setNumTxAggrSucc(Integer numTxAggrSucc) {
this.numTxAggrSucc = numTxAggrSucc;
}
public void setNumTxBytes(Long numTxBytes) {
this.numTxBytes = numTxBytes;
}
public void setNumTxByteSucc(Long numTxByteSucc) {
this.numTxByteSucc = numTxByteSucc;
}
public void setNumTxControl(Integer numTxControl) {
this.numTxControl = numTxControl;
}
public void setNumTxData(Integer numTxData) {
this.numTxData = numTxData;
}
public void setNumTxDataRetries(Integer numTxDataRetries) {
this.numTxDataRetries = numTxDataRetries;
}
@@ -680,66 +248,10 @@ public class ClientMetrics extends ServiceMetricDetails {
this.numTxDropped = numTxDropped;
}
public void setNumTxEapol(Integer numTxEapol) {
this.numTxEapol = numTxEapol;
}
public void setNumTxLdpc(Integer numTxLdpc) {
this.numTxLdpc = numTxLdpc;
}
public void setNumTxManagement(Integer numTxManagement) {
this.numTxManagement = numTxManagement;
}
public void setNumTxMultiRetries(Integer numTxMultiRetries) {
this.numTxMultiRetries = numTxMultiRetries;
}
public void setNumTxNoAck(Integer numTxNoAck) {
this.numTxNoAck = numTxNoAck;
}
public void setNumTxPackets(Long numTxPackets) {
this.numTxPackets = numTxPackets;
}
public void setNumTxPropResp(Integer numTxPropResp) {
this.numTxPropResp = numTxPropResp;
}
public void setNumTxQueued(Long numTxQueued) {
this.numTxQueued = numTxQueued;
}
public void setNumTxRetryDropped(Integer numTxRetryDropped) {
this.numTxRetryDropped = numTxRetryDropped;
}
public void setNumTxRtsFail(Integer numTxRtsFail) {
this.numTxRtsFail = numTxRtsFail;
}
public void setNumTxRtsSucc(Integer numTxRtsSucc) {
this.numTxRtsSucc = numTxRtsSucc;
}
public void setNumTxStbc(Integer numTxStbc) {
this.numTxStbc = numTxStbc;
}
public void setNumTxSucc(Integer numTxSucc) {
this.numTxSucc = numTxSucc;
}
public void setNumTxSuccNoRetry(Integer numTxSuccNoRetry) {
this.numTxSuccNoRetry = numTxSuccNoRetry;
}
public void setNumTxSuccRetries(Integer numTxSuccRetries) {
this.numTxSuccRetries = numTxSuccRetries;
}
public void setRadioType(RadioType radioType) {
this.radioType = radioType;
}
@@ -756,10 +268,6 @@ public class ClientMetrics extends ServiceMetricDetails {
this.rxBytes = rxBytes;
}
public void setRxDataBytes(Long rxDataBytes) {
this.rxDataBytes = rxDataBytes;
}
public void setRxDuplicatePackets(Integer rxDuplicatePackets) {
this.rxDuplicatePackets = rxDuplicatePackets;
}

View File

@@ -5,6 +5,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import com.telecominfraproject.wlan.core.model.equipment.LedStatus;
import com.telecominfraproject.wlan.status.models.StatusCode;
import com.telecominfraproject.wlan.status.models.StatusDataType;
import com.telecominfraproject.wlan.status.models.StatusDetails;

View File

@@ -1,6 +0,0 @@
package com.telecominfraproject.wlan.status.equipment.models;
public enum LedStatus {
led_blink, led_off, UNKNOWN,
}