use of com.att.aro.core.bestpractice.pojo.AbstractBestPracticeResult in project VideoOptimzer by attdevsupport.
the class ConnectionClosingImplTest method runTest_resIsNoErrTypeIsFail.
@Test
public void runTest_resIsNoErrTypeIsFail() {
Mockito.when(burst01.getBurstCategory()).thenReturn(BurstCategory.TCP_PROTOCOL);
Mockito.when(burst01.getEnergy()).thenReturn(1.0);
Mockito.when(burst01.getBeginTime()).thenReturn(2.0);
List<Burst> burstCollection = new ArrayList<Burst>();
burstCollection.add(burst01);
Mockito.when(burstCollectionAnalysisData.getBurstCollection()).thenReturn(burstCollection);
Mockito.when(burstCollectionAnalysisData.getTotalEnergy()).thenReturn(1.0);
Mockito.when(tracedata.getBurstCollectionAnalysisData()).thenReturn(burstCollectionAnalysisData);
connClsImpl = (ConnectionClosingImpl) context.getBean("connectionClosing");
AbstractBestPracticeResult result = connClsImpl.runTest(tracedata);
assertEquals(BPResultType.FAIL, result.getResultType());
}
use of com.att.aro.core.bestpractice.pojo.AbstractBestPracticeResult in project VideoOptimzer by attdevsupport.
the class ConnectionClosingImplTest method runTest_resIsNoErrTypeIsPass.
@Test
public void runTest_resIsNoErrTypeIsPass() {
Mockito.when(burstCollectionAnalysisData.getTotalEnergy()).thenReturn(0.0);
Mockito.when(tracedata.getBurstCollectionAnalysisData()).thenReturn(burstCollectionAnalysisData);
connClsImpl = (ConnectionClosingImpl) context.getBean("connectionClosing");
AbstractBestPracticeResult result = connClsImpl.runTest(tracedata);
assertEquals(BPResultType.PASS, result.getResultType());
}
use of com.att.aro.core.bestpractice.pojo.AbstractBestPracticeResult in project VideoOptimzer by attdevsupport.
the class VideoBestPractices method analyze.
public AROTraceData analyze(AROTraceData traceDataresult) {
PacketAnalyzerResult result = null;
if (null == traceDataresult) {
return null;
}
result = traceDataresult.getAnalyzerResult();
if (result == null) {
return null;
}
VideoStallResult videoStallResult = null;
VideoStartUpDelayResult videoStartUpDelayResult = null;
BufferOccupancyResult bufferOccupancyResult = null;
VideoNetworkComparisonResult videoNetworkComparisonResult = null;
VideoTcpConnectionResult videoTcpConnectionResult = null;
VideoChunkSizeResult videoChunkSizeResult = null;
VideoChunkPacingResult videoChunkPacingResult = null;
VideoRedundancyResult videoRedundancyResult = null;
VideoConcurrentSessionResult videoConcurrentSessionResult = null;
VideoVariableBitrateResult videoVariableBitrateResult = null;
VideoAdaptiveBitrateLadderResult videoSegmentQualityResult = null;
VideoResolutionQualityResult videoResolutionQualityResult = null;
AudioStreamResult videoSeparateAudioResult = null;
List<BestPracticeType> requests = BestPracticeType.getByCategory(Category.VIDEO);
List<AbstractBestPracticeResult> bpResults = traceDataresult.getBestPracticeResults();
List<AbstractBestPracticeResult> videoBestPracticeResults = aroService.analyze(result, requests);
for (AbstractBestPracticeResult videoBPResult : videoBestPracticeResults) {
BestPracticeType bpType = videoBPResult.getBestPracticeType();
switch(bpType) {
case VIDEO_STALL:
videoStallResult = (VideoStallResult) videoBPResult;
break;
case STARTUP_DELAY:
videoStartUpDelayResult = (VideoStartUpDelayResult) videoBPResult;
break;
case BUFFER_OCCUPANCY:
bufferOccupancyResult = (BufferOccupancyResult) videoBPResult;
break;
case NETWORK_COMPARISON:
videoNetworkComparisonResult = (VideoNetworkComparisonResult) videoBPResult;
break;
case TCP_CONNECTION:
videoTcpConnectionResult = (VideoTcpConnectionResult) videoBPResult;
break;
case CHUNK_SIZE:
videoChunkSizeResult = (VideoChunkSizeResult) videoBPResult;
break;
case CHUNK_PACING:
videoChunkPacingResult = (VideoChunkPacingResult) videoBPResult;
break;
case VIDEO_REDUNDANCY:
videoRedundancyResult = (VideoRedundancyResult) videoBPResult;
break;
case VIDEO_CONCURRENT_SESSION:
videoConcurrentSessionResult = (VideoConcurrentSessionResult) videoBPResult;
break;
case VIDEO_VARIABLE_BITRATE:
videoVariableBitrateResult = (VideoVariableBitrateResult) videoBPResult;
break;
case VIDEO_RESOLUTION_QUALITY:
videoResolutionQualityResult = (VideoResolutionQualityResult) videoBPResult;
break;
case VIDEO_ABR_LADDER:
videoSegmentQualityResult = (VideoAdaptiveBitrateLadderResult) videoBPResult;
break;
case AUDIO_STREAM:
videoSeparateAudioResult = (AudioStreamResult) videoBPResult;
break;
default:
break;
}
}
sendGAVideoBPResult(videoBestPracticeResults);
for (AbstractBestPracticeResult bestPractice : bpResults) {
if (bestPractice instanceof VideoStallResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoStallResult);
} else if (bestPractice instanceof VideoStartUpDelayResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoStartUpDelayResult);
} else if (bestPractice instanceof BufferOccupancyResult) {
bpResults.set(bpResults.indexOf(bestPractice), bufferOccupancyResult);
} else if (bestPractice instanceof VideoNetworkComparisonResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoNetworkComparisonResult);
} else if (bestPractice instanceof VideoTcpConnectionResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoTcpConnectionResult);
} else if (bestPractice instanceof VideoChunkSizeResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoChunkSizeResult);
} else if (bestPractice instanceof VideoChunkPacingResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoChunkPacingResult);
} else if (bestPractice instanceof VideoChunkPacingResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoChunkPacingResult);
} else if (bestPractice instanceof VideoRedundancyResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoRedundancyResult);
} else if (bestPractice instanceof VideoConcurrentSessionResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoConcurrentSessionResult);
} else if (bestPractice instanceof VideoVariableBitrateResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoVariableBitrateResult);
} else if (bestPractice instanceof VideoResolutionQualityResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoResolutionQualityResult);
} else if (bestPractice instanceof VideoAdaptiveBitrateLadderResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoSegmentQualityResult);
} else if (bestPractice instanceof AudioStreamResult) {
bpResults.set(bpResults.indexOf(bestPractice), videoSeparateAudioResult);
}
}
traceDataresult.setBestPracticeResults(bpResults);
return traceDataresult;
}
use of com.att.aro.core.bestpractice.pojo.AbstractBestPracticeResult in project VideoOptimzer by attdevsupport.
the class VideoChunksPlot method refreshPlot.
// StartupDelay calculations
public AROTraceData refreshPlot(XYPlot plot, AROTraceData traceData, double startTime, VideoEvent selectedChunk) {
chunkPlayTime.clear();
chunkPlayTime.put(selectedChunk, startTime);
videoChunkPlotter.setChunkPlayTimeList(chunkPlayTime);
setChunkPlayBackTimeCollection(traceData);
bufferInSecondsPlot.setChunkPlayTimeMap(chunkPlayTime);
populate(plot, traceData);
AbstractBestPracticeResult startupDelayBPResult = videoChunkPlotter.refreshStartUpDelayBP(traceData);
if (traceData.getAnalyzerResult().getStreamingVideoData().getStreamingVideoCompiled().getChunksBySegmentID().isEmpty()) {
return refreshBPVideoResults(traceData, startupDelayBPResult, null, null);
}
bufferInSecondsPlot.populate(bufferTimeXYPlot, traceData);
bufferOccupancyPlot.populate(bufferOccupancyXYPlot, traceData);
refreshVCPlot(plot, traceData);
AbstractBestPracticeResult stallBPResult = null;
AbstractBestPracticeResult bufferOccupancyBPResult = null;
List<BestPracticeType> bpList = SettingsUtil.retrieveBestPractices();
if (bpList.contains(BestPracticeType.VIDEO_STALL)) {
stallBPResult = videoChunkPlotter.refreshVideoStallBP(traceData);
}
if (bpList.contains(BestPracticeType.BUFFER_OCCUPANCY)) {
bufferOccupancyBPResult = videoChunkPlotter.refreshVideoBufferOccupancyBP(traceData);
}
return refreshBPVideoResults(traceData, startupDelayBPResult, stallBPResult, bufferOccupancyBPResult);
}
use of com.att.aro.core.bestpractice.pojo.AbstractBestPracticeResult in project VideoOptimzer by attdevsupport.
the class BpTestsConductedPanel method addTestsConductedSummary.
private void addTestsConductedSummary() {
int bpRunCt = 0;
if (bpResults != null) {
for (AbstractBestPracticeResult bestPracticeResult : bpResults) {
if (bestPracticeResult.getResultType() != BPResultType.NONE) {
bpRunCt++;
}
}
int gridY1 = 1;
int column = 0;
int rows = bpRunCt / 2 + 1;
for (AbstractBestPracticeResult bestPracticeResult : bpResults) {
if (bestPracticeResult.getResultType() == BPResultType.NONE) {
continue;
}
if (gridY1 > rows) {
gridY1 = 1;
column = 2;
}
bestPracticeResult.getOverviewTitle();
bestPracticeResult.getResultText();
ImageIcon icon = loadImageIcon(bestPracticeResult);
addGridCell(gridY1++, column, icon, bestPracticeResult.getOverviewTitle());
}
}
if (bpRunCt == 0) {
addGridCell(1, 0, null, "No tests conducted");
}
}
Aggregations