mirror of
https://github.com/Telecominfraproject/wlan-cloud-rrm.git
synced 2025-10-29 17:52:24 +00:00
Move WifiScanEntry into its own file (#74)
This commit is contained in:
@@ -34,7 +34,7 @@ import com.facebook.openwifirrm.ucentral.UCentralClient;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralKafkaConsumer;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralKafkaConsumer.KafkaRecord;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.gw.models.CommandInfo;
|
||||
import com.facebook.openwifirrm.ucentral.gw.models.DeviceCapabilities;
|
||||
import com.facebook.openwifirrm.ucentral.gw.models.DeviceWithStatus;
|
||||
|
||||
@@ -29,7 +29,7 @@ import com.facebook.openwifirrm.ucentral.UCentralClient;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralKafkaConsumer;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralKafkaConsumer.KafkaRecord;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.gw.models.DeviceCapabilities;
|
||||
import com.facebook.openwifirrm.ucentral.gw.models.DeviceWithStatus;
|
||||
import com.facebook.openwifirrm.ucentral.gw.models.ServiceEvent;
|
||||
|
||||
@@ -21,7 +21,7 @@ import org.slf4j.LoggerFactory;
|
||||
import com.facebook.openwifirrm.aggregators.Aggregator;
|
||||
import com.facebook.openwifirrm.aggregators.MeanAggregator;
|
||||
import com.facebook.openwifirrm.modules.Modeler.DataModel;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.operationelement.HTOperationElement;
|
||||
import com.facebook.openwifirrm.ucentral.operationelement.VHTOperationElement;
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.facebook.openwifirrm.Utils;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.models.State;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonArray;
|
||||
|
||||
@@ -24,7 +24,7 @@ import com.facebook.openwifirrm.modules.ConfigManager;
|
||||
import com.facebook.openwifirrm.modules.Modeler.DataModel;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralConstants;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.models.State;
|
||||
import com.facebook.openwifirrm.ucentral.operationelement.HTOperationElement;
|
||||
import com.facebook.openwifirrm.ucentral.operationelement.VHTOperationElement;
|
||||
|
||||
@@ -24,7 +24,7 @@ import com.facebook.openwifirrm.DeviceDataManager;
|
||||
import com.facebook.openwifirrm.modules.Modeler.DataModel;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralConstants;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.models.State;
|
||||
|
||||
/**
|
||||
|
||||
@@ -22,7 +22,7 @@ import org.slf4j.LoggerFactory;
|
||||
import com.facebook.openwifirrm.DeviceDataManager;
|
||||
import com.facebook.openwifirrm.modules.Modeler.DataModel;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.models.State;
|
||||
|
||||
/**
|
||||
|
||||
@@ -20,7 +20,7 @@ import org.slf4j.LoggerFactory;
|
||||
import com.facebook.openwifirrm.DeviceDataManager;
|
||||
import com.facebook.openwifirrm.modules.Modeler.DataModel;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralConstants;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.WifiScanEntry;
|
||||
|
||||
/**
|
||||
* Unmanaged AP aware least used channel optimizer.
|
||||
|
||||
@@ -24,7 +24,7 @@ import org.slf4j.LoggerFactory;
|
||||
import com.facebook.openwifirrm.DeviceDataManager;
|
||||
import com.facebook.openwifirrm.modules.Modeler.DataModel;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.models.State;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
|
||||
@@ -16,7 +16,6 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
@@ -26,7 +25,6 @@ import com.facebook.openwifirrm.RRMConfig;
|
||||
import com.facebook.openwifirrm.Utils;
|
||||
import com.facebook.openwifirrm.optimizers.channel.ChannelOptimizer;
|
||||
import com.facebook.openwifirrm.ucentral.models.State;
|
||||
import com.facebook.openwifirrm.ucentral.models.WifiScanEntryResult;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
@@ -61,60 +59,6 @@ public class UCentralUtils {
|
||||
// This class should not be instantiated.
|
||||
private UCentralUtils() {}
|
||||
|
||||
/**
|
||||
* Extends {@link WifiScanEntryResult} to track the response time of the entry.
|
||||
*/
|
||||
public static class WifiScanEntry extends WifiScanEntryResult {
|
||||
/**
|
||||
* Unix time in milliseconds (ms). This field is not defined in the uCentral
|
||||
* API. This is added it because {@link WifiScanEntryResult#tsf} is an unknown
|
||||
* time reference.
|
||||
*/
|
||||
public long unixTimeMs;
|
||||
|
||||
/** Default Constructor. */
|
||||
public WifiScanEntry() {}
|
||||
|
||||
/** Copy Constructor. */
|
||||
public WifiScanEntry(WifiScanEntry o) {
|
||||
super(o);
|
||||
this.unixTimeMs = o.unixTimeMs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = super.hashCode();
|
||||
result = prime * result + Objects.hash(unixTimeMs);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!super.equals(obj)) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != obj.getClass()) {
|
||||
return false;
|
||||
}
|
||||
WifiScanEntry other = (WifiScanEntry) obj;
|
||||
return unixTimeMs == other.unixTimeMs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format(
|
||||
"WifiScanEntry[signal=%d, bssid=%s, unixTimeMs=%d]",
|
||||
signal,
|
||||
bssid,
|
||||
unixTimeMs
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse a JSON wifi scan result into a list of WifiScanEntry objects.
|
||||
*
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This source code is licensed under the BSD-style license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
package com.facebook.openwifirrm.ucentral;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import com.facebook.openwifirrm.ucentral.models.WifiScanEntryResult;
|
||||
|
||||
/**
|
||||
* Extends {@link WifiScanEntryResult} to track the response time of the entry.
|
||||
*/
|
||||
public class WifiScanEntry extends WifiScanEntryResult {
|
||||
/**
|
||||
* Unix time in milliseconds (ms). This field is not defined in the uCentral
|
||||
* API. This is added it because {@link WifiScanEntryResult#tsf} is an unknown
|
||||
* time reference.
|
||||
*/
|
||||
public long unixTimeMs;
|
||||
|
||||
/** Default Constructor. */
|
||||
public WifiScanEntry() {}
|
||||
|
||||
/** Copy Constructor. */
|
||||
public WifiScanEntry(WifiScanEntry o) {
|
||||
super(o);
|
||||
this.unixTimeMs = o.unixTimeMs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = super.hashCode();
|
||||
result = prime * result + Objects.hash(unixTimeMs);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!super.equals(obj)) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != obj.getClass()) {
|
||||
return false;
|
||||
}
|
||||
WifiScanEntry other = (WifiScanEntry) obj;
|
||||
return unixTimeMs == other.unixTimeMs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format(
|
||||
"WifiScanEntry[signal=%d, bssid=%s, unixTimeMs=%d]",
|
||||
signal,
|
||||
bssid,
|
||||
unixTimeMs
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,7 @@ import org.junit.jupiter.api.Test;
|
||||
import com.facebook.openwifirrm.aggregators.MeanAggregator;
|
||||
import com.facebook.openwifirrm.modules.Modeler.DataModel;
|
||||
import com.facebook.openwifirrm.optimizers.TestUtils;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.WifiScanEntry;
|
||||
|
||||
public class ModelerUtilsTest {
|
||||
@Test
|
||||
|
||||
@@ -20,7 +20,7 @@ import java.util.stream.Collectors;
|
||||
import com.facebook.openwifirrm.DeviceTopology;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralConstants;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.models.State;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonArray;
|
||||
|
||||
@@ -32,7 +32,7 @@ import com.facebook.openwifirrm.modules.Modeler.DataModel;
|
||||
import com.facebook.openwifirrm.optimizers.TestUtils;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralConstants;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils;
|
||||
import com.facebook.openwifirrm.ucentral.UCentralUtils.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.WifiScanEntry;
|
||||
import com.facebook.openwifirrm.ucentral.models.State;
|
||||
import com.google.gson.JsonArray;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user