use of com.att.aro.core.peripheral.pojo.NetworkType in project VideoOptimzer by attdevsupport.
the class NetworkTypeReaderImpl method readData.
@Override
public NetworkTypeObject readData(String directory, double startTime, double traceDuration) {
NetworkTypeObject obj = null;
List<NetworkBearerTypeInfo> networkTypeInfos = new ArrayList<NetworkBearerTypeInfo>();
List<NetworkType> networkTypesList = new ArrayList<NetworkType>();
String filepath = directory + Util.FILE_SEPARATOR + TraceDataConst.FileName.NETWORKINFO_FILE;
if (!filereader.fileExist(filepath)) {
return obj;
}
String[] lines = null;
try {
lines = filereader.readAllLine(filepath);
} catch (IOException e1) {
LOGGER.error("failed to read network info file: " + filepath);
}
String line;
if (lines != null && lines.length > 0) {
line = lines[0];
// Clear any data that may have been added by device_details
networkTypeInfos.clear();
NetworkType networkType;
NetworkType overrideNetworkType = NetworkType.OVERRIDE_NETWORK_TYPE_NONE;
double beginTime;
double endTime;
String[] fields = line.split(" ");
if (fields.length >= 2) {
beginTime = Util.normalizeTime(Double.parseDouble(fields[0]), startTime);
try {
networkType = getNetworkTypeFromCode(Integer.parseInt(fields[1]));
if (fields.length > 2) {
overrideNetworkType = getOverriderNetworkTypeFromCode(Integer.parseInt(fields[2]));
}
} catch (NumberFormatException e) {
networkType = NetworkType.UNKNOWN;
LOGGER.warn("Invalid network type [" + fields[1] + "]");
}
networkTypesList.add(networkType);
for (int i = 1; i < lines.length; i++) {
line = lines[i];
fields = line.split(" ");
if (fields.length >= 2) {
endTime = Util.normalizeTime(Double.parseDouble(fields[0]), startTime);
networkTypeInfos.add(new NetworkBearerTypeInfo(beginTime, endTime, networkType, overrideNetworkType));
try {
networkType = getNetworkTypeFromCode(Integer.parseInt(fields[1]));
if (fields.length > 2) {
overrideNetworkType = getOverriderNetworkTypeFromCode(Integer.parseInt(fields[2]));
}
} catch (NumberFormatException e) {
networkType = NetworkType.UNKNOWN;
LOGGER.warn("Invalid network type [" + fields[1] + "]");
}
beginTime = endTime;
if (!networkTypesList.contains(networkType)) {
networkTypesList.add(networkType);
}
}
}
networkTypeInfos.add(new NetworkBearerTypeInfo(beginTime, traceDuration, networkType, overrideNetworkType));
}
}
obj = new NetworkTypeObject();
obj.setNetworkTypeInfos(networkTypeInfos);
obj.setNetworkTypesList(networkTypesList);
return obj;
}
use of com.att.aro.core.peripheral.pojo.NetworkType in project VideoOptimzer by attdevsupport.
the class TraceDirectoryResult method getNetworkTypesList.
/**
* @return String of comma separated network types
*/
public String getNetworkTypesList() {
if (networkTypesList != null && !networkTypesList.isEmpty()) {
StringBuffer networksList = new StringBuffer();
for (NetworkType networkType : networkTypesList) {
networksList.append(networkType.toString());
networksList.append(" , ");
}
return networksList.toString().substring(0, networksList.toString().lastIndexOf(","));
} else {
return "";
}
}
use of com.att.aro.core.peripheral.pojo.NetworkType in project VideoOptimzer by attdevsupport.
the class NetworkTypePlot method createDataSeriesForAllNetworkTypes.
private void createDataSeriesForAllNetworkTypes(final Map<NetworkType, XYIntervalSeries> seriesMap, final XYIntervalSeriesCollection networkDataSeries) {
for (NetworkType nt : NetworkType.values()) {
XYIntervalSeries series = new XYIntervalSeries(nt);
seriesMap.put(nt, series);
networkDataSeries.addSeries(series);
}
}
use of com.att.aro.core.peripheral.pojo.NetworkType in project VideoOptimzer by attdevsupport.
the class NetworkTypePlot method populate.
@Override
public void populate(XYPlot plot, AROTraceData analysis) {
plot.setDataset(new XYIntervalSeriesCollection());
if (analysis == null) {
LOGGER.info("no trace data here");
} else {
if (analysis.getAnalyzerResult().getTraceresult().getTraceResultType() == TraceResultType.TRACE_FILE) {
LOGGER.info("no trace folder data here");
} else {
TraceDirectoryResult traceresult = (TraceDirectoryResult) analysis.getAnalyzerResult().getTraceresult();
final XYIntervalSeriesCollection networkDataSeries = new XYIntervalSeriesCollection();
final Map<NetworkType, XYIntervalSeries> seriesMap = new EnumMap<NetworkType, XYIntervalSeries>(NetworkType.class);
createDataSeriesForAllNetworkTypes(seriesMap, networkDataSeries);
Iterator<NetworkBearerTypeInfo> iter = traceresult.getNetworkTypeInfos().iterator();
if (iter.hasNext()) {
while (iter.hasNext()) {
NetworkBearerTypeInfo networkInfo = iter.next();
if (networkInfo.getNetworkType() != NetworkType.UNKNOWN) {
if (NetworkType.LTE == networkInfo.getNetworkType() && (NetworkType.OVERRIDE_NETWORK_TYPE_NR_NSA == networkInfo.getOverrideNetworkType() || NetworkType.OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE == networkInfo.getOverrideNetworkType() || NetworkType.OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO == networkInfo.getOverrideNetworkType())) {
seriesMap.get(networkInfo.getOverrideNetworkType()).add(networkInfo.getBeginTimestamp(), networkInfo.getBeginTimestamp(), networkInfo.getEndTimestamp(), 0.5, 0, 1);
} else {
seriesMap.get(networkInfo.getNetworkType()).add(networkInfo.getBeginTimestamp(), networkInfo.getBeginTimestamp(), networkInfo.getEndTimestamp(), 0.5, 0, 1);
}
}
}
} else {
NetworkType nt = traceresult.getNetworkType();
if (nt != null && nt != NetworkType.UNKNOWN) {
seriesMap.get(nt).add(0, 0, traceresult.getTraceDuration(), 0.5, 0, 1);
}
}
XYItemRenderer renderer = plot.getRenderer();
setRenderingColorForDataSeries(renderer, networkDataSeries);
// Assign ToolTip to renderer
renderer.setBaseToolTipGenerator(new XYToolTipGenerator() {
@Override
public String generateToolTip(XYDataset dataset, int series, int item) {
NetworkType networkType = (NetworkType) networkDataSeries.getSeries(series).getKey();
return MessageFormat.format(ResourceBundleHelper.getMessageString("network.tooltip"), dataset.getX(series, item), ResourceBundleHelper.getEnumString(networkType));
}
});
plot.setDataset(networkDataSeries);
}
}
}
use of com.att.aro.core.peripheral.pojo.NetworkType in project VideoOptimzer by attdevsupport.
the class PktAnazlyzerTimeRangeImplTest method getTimeRangeResultTest.
@Test
public void getTimeRangeResultTest() {
TraceDirectoryResult result = new TraceDirectoryResult();
List<UserEvent> userEvents = new ArrayList<UserEvent>();
userEvents.add(new UserEvent(UserEventType.KEY_HOME, 4.0, 3.0));
result.setUserEvents(userEvents);
List<GpsInfo> gpsInfos = new ArrayList<GpsInfo>();
gpsInfos.add(new GpsInfo(0.0, 0.9, GpsState.GPS_ACTIVE));
gpsInfos.add(new GpsInfo(1.0, 4.0, GpsState.GPS_ACTIVE));
gpsInfos.add(new GpsInfo(1.4, 12.0, GpsState.GPS_ACTIVE));
gpsInfos.add(new GpsInfo(12.4, 14.0, GpsState.GPS_ACTIVE));
result.setGpsInfos(gpsInfos);
List<BluetoothInfo> bluetoothInfos = new ArrayList<BluetoothInfo>();
bluetoothInfos.add(new BluetoothInfo(0.0, 3.0, BluetoothState.BLUETOOTH_CONNECTED));
bluetoothInfos.add(new BluetoothInfo(4.0, 10.0, BluetoothState.BLUETOOTH_CONNECTED));
bluetoothInfos.add(new BluetoothInfo(1.0, 13.0, BluetoothState.BLUETOOTH_DISCONNECTED));
bluetoothInfos.add(new BluetoothInfo(11.0, 16.0, BluetoothState.BLUETOOTH_CONNECTED));
result.setBluetoothInfos(bluetoothInfos);
List<CameraInfo> cameraInfos = new ArrayList<CameraInfo>();
cameraInfos.add(new CameraInfo(0.0, 1.0, CameraState.CAMERA_ON));
cameraInfos.add(new CameraInfo(3.0, 7.0, CameraState.CAMERA_ON));
cameraInfos.add(new CameraInfo(8.0, 14.0, CameraState.CAMERA_ON));
cameraInfos.add(new CameraInfo(1.0, 14.0, CameraState.CAMERA_ON));
cameraInfos.add(new CameraInfo(12.0, 15.0, CameraState.CAMERA_ON));
result.setCameraInfos(cameraInfos);
List<ScreenStateInfo> screenStateInfos = new ArrayList<ScreenStateInfo>();
ScreenStateInfo screenInfo01 = new ScreenStateInfo(0.0, 1.0, ScreenState.SCREEN_ON, " ", 5);
ScreenStateInfo screenInfo02 = new ScreenStateInfo(1.0, 12.0, ScreenState.SCREEN_ON, "", 3);
ScreenStateInfo screenInfo03 = new ScreenStateInfo(5.0, 9.0, ScreenState.SCREEN_ON, "", 2);
ScreenStateInfo screenInfo04 = new ScreenStateInfo(12.0, 15.0, ScreenState.SCREEN_ON, "", 4);
screenStateInfos.add(screenInfo01);
screenStateInfos.add(screenInfo02);
screenStateInfos.add(screenInfo03);
screenStateInfos.add(screenInfo04);
result.setScreenStateInfos(screenStateInfos);
List<RadioInfo> radioInfos = new ArrayList<RadioInfo>();
radioInfos.add(new RadioInfo(0.0, 3.0));
radioInfos.add(new RadioInfo(4.0, 8.0));
result.setRadioInfos(radioInfos);
List<BatteryInfo> batteryInfos = new ArrayList<BatteryInfo>();
batteryInfos.add(new BatteryInfo(3.0, true, 2, 3));
result.setBatteryInfos(batteryInfos);
List<WifiInfo> wifiInfos = new ArrayList<WifiInfo>();
wifiInfos.add(new WifiInfo(1.0, 2.0, WifiState.WIFI_CONNECTED, "", "", ""));
wifiInfos.add(new WifiInfo(1.0, 5.0, WifiState.WIFI_CONNECTING, "", "", ""));
wifiInfos.add(new WifiInfo(1.4, 13.0, WifiState.WIFI_CONNECTING, "", "", ""));
wifiInfos.add(new WifiInfo(9.0, 13.0, WifiState.WIFI_CONNECTING, "", "", ""));
result.setWifiInfos(wifiInfos);
List<NetworkType> networkTypesList = new ArrayList<NetworkType>();
networkTypesList.add(NetworkType.LTE);
result.setNetworkTypesList(networkTypesList);
List<NetworkBearerTypeInfo> networkTypeInfos = new ArrayList<NetworkBearerTypeInfo>();
networkTypeInfos.add(new NetworkBearerTypeInfo(1.0, 3.0, NetworkType.HSPA, NetworkType.OVERRIDE_NETWORK_TYPE_NONE));
networkTypeInfos.add(new NetworkBearerTypeInfo(8.0, 12.0, NetworkType.HSPA, NetworkType.OVERRIDE_NETWORK_TYPE_NONE));
result.setNetworkTypeInfos(networkTypeInfos);
TimeRange timeRange = new TimeRange(2.00, 11.00);
TraceDirectoryResult testResult = (TraceDirectoryResult) pktTimeUtil.getTimeRangeResult(result, timeRange);
assertEquals(1, testResult.getBatteryInfos().size());
assertEquals(2, testResult.getGpsInfos().size());
assertEquals(1, testResult.getBatteryInfos().size());
assertEquals(5, testResult.getCameraInfos().size());
assertEquals(2, testResult.getScreenStateInfos().size());
assertEquals(1, testResult.getRadioInfos().size());
assertEquals(3, testResult.getWifiInfos().size());
assertEquals(2, testResult.getNetworkTypeInfos().size());
}
Aggregations