use of com.att.aro.core.bestpractice.pojo.AsyncCheckInScriptResult in project VideoOptimzer by attdevsupport.
the class BpDetailItem method refresh.
@Override
public void refresh(AROTraceData model) {
List<AbstractBestPracticeResult> bpResults = model.getBestPracticeResults();
for (AbstractBestPracticeResult bpr : bpResults) {
if (bpr.getBestPracticeType().equals(this.bpType)) {
resultsTextLabel.setText(bpr.getResultText());
imageLabel.setIcon(loadImageIcon(bpr));
if (bpr.getResultType().equals(BPResultType.CONFIG_REQUIRED)) {
addConfigIconActions();
} else {
imageLabel.setToolTipText("");
if (imageLabel.getMouseListeners() != null && imageLabel.getMouseListeners().length > 1) {
imageLabel.setCursor(Cursor.getDefaultCursor());
}
}
BestPracticeType resultType = bpr.getBestPracticeType();
switch(resultType) {
case FILE_COMPRESSION:
if (bpr.getResultType() == BPResultType.NONE)
((BpFileCompressionTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpFileCompressionTablePanel) resultsTablePanel).setData(((FileCompressionResult) bpr).getResults());
return;
case DUPLICATE_CONTENT:
if (bpr.getResultType() == BPResultType.NONE)
((BpFileDuplicateContentTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpFileDuplicateContentTablePanel) resultsTablePanel).setData(((DuplicateContentResult) bpr).getDuplicateContentList());
return;
case IMAGE_SIZE:
if (bpr.getResultType() == BPResultType.NONE || bpr.getResultType() == BPResultType.NO_DATA)
((BpFileImageSizeTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpFileImageSizeTablePanel) resultsTablePanel).setData(((ImageSizeResult) bpr).getResults());
return;
case IMAGE_MDATA:
if (bpr.getResultType() == BPResultType.NONE || bpr.getResultType() == BPResultType.NO_DATA)
((BpFileImageMDataTablePanel) imgMdataResultsTablePanel).setData(Collections.emptyList());
else
((BpFileImageMDataTablePanel) imgMdataResultsTablePanel).setData(((ImageMdtaResult) bpr).getResults());
return;
case IMAGE_CMPRS:
if (bpr.getResultType() == BPResultType.NONE || bpr.getResultType() == BPResultType.NO_DATA)
((BpFileImageCompressionTablePanel) imageCompressionResultsTablePanel).setData(Collections.emptyList());
else
((BpFileImageCompressionTablePanel) imageCompressionResultsTablePanel).setData(((ImageCompressionResult) bpr).getResults());
return;
case IMAGE_FORMAT:
if (bpr.getResultType() == BPResultType.NONE || bpr.getResultType() == BPResultType.NO_DATA)
((BpFileImageFormatTablePanel) imageFormatResultsTablePanel).setData(Collections.emptyList());
else
((BpFileImageFormatTablePanel) imageFormatResultsTablePanel).setData(((ImageFormatResult) bpr).getResults());
return;
case IMAGE_COMPARE:
if (bpr.getResultType() == BPResultType.NONE || bpr.getResultType() == BPResultType.NO_DATA) {
((BpFileImageComparisionTablePanel) imageComparisonResultsTablePanel).setData(Collections.emptyList());
} else {
((BpFileImageComparisionTablePanel) imageComparisonResultsTablePanel).setData(((ImageComparatorResult) bpr).getResults());
}
return;
case MINIFICATION:
if (bpr.getResultType() == BPResultType.NONE)
((BpFileMinificationTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpFileMinificationTablePanel) resultsTablePanel).setData(((MinificationResult) bpr).getMinificationEntryList());
return;
case SPRITEIMAGE:
if (bpr.getResultType() == BPResultType.NONE)
((BpFileSpriteImagesTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpFileSpriteImagesTablePanel) resultsTablePanel).setData(((SpriteImageResult) bpr).getAnalysisResults());
return;
case HTTP_4XX_5XX:
if (bpr.getResultType() == BPResultType.NONE)
((BpConnectionsHttp4xx5xxTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpConnectionsHttp4xx5xxTablePanel) resultsTablePanel).setData(((Http4xx5xxResult) bpr).getHttpResCodelist());
return;
case HTTP_3XX_CODE:
if (bpr.getResultType() == BPResultType.NONE)
((BpConnectionsHttp3xxTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpConnectionsHttp3xxTablePanel) resultsTablePanel).setData(((Http3xxCodeResult) bpr).getHttp3xxResCode());
return;
case ASYNC_CHECK:
if (bpr.getResultType() == BPResultType.NONE)
((BpHtmlAsyncLoadTablePanel) resultsTablePanel).setData(Collections.emptyList());
else {
List<AsyncCheckEntry> res = ((AsyncCheckInScriptResult) bpr).getResults();
((BpHtmlAsyncLoadTablePanel) resultsTablePanel).setData(res);
}
return;
case FILE_ORDER:
if (bpr.getResultType() == BPResultType.NONE)
((BpHtmlFileOrderTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpHtmlFileOrderTablePanel) resultsTablePanel).setData(((FileOrderResult) bpr).getResults());
return;
case DISPLAY_NONE_IN_CSS:
if (bpr.getResultType() == BPResultType.NONE)
((BpHtmlDisplayNoneInCSSTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpHtmlDisplayNoneInCSSTablePanel) resultsTablePanel).setData(((DisplayNoneInCSSResult) bpr).getResults());
return;
case UNNECESSARY_CONNECTIONS:
if (bpr.getResultType() == BPResultType.NONE)
((BpConnectionsUnnecessaryTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpConnectionsUnnecessaryTablePanel) resultsTablePanel).setData(((UnnecessaryConnectionResult) bpr).getTightlyCoupledBurstsDetails());
return;
case HTTPS_USAGE:
if (bpr.getResultType() == BPResultType.NONE)
((BpSecurityHttpsUsageTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpSecurityHttpsUsageTablePanel) resultsTablePanel).setData(((HttpsUsageResult) bpr).getResults());
return;
case TRANSMISSION_PRIVATE_DATA:
if (bpr.getResultType() == BPResultType.NONE) {
((BpSecurityTransmissionPrivateDataTablePanel) resultsTablePanel).setData(Collections.emptyList());
buttonPrivateData.setEnabled(false);
} else {
((BpSecurityTransmissionPrivateDataTablePanel) resultsTablePanel).setData(((TransmissionPrivateDataResult) bpr).getResults());
buttonPrivateData.setEnabled(true);
}
return;
case UNSECURE_SSL_VERSION:
if (bpr.getResultType() == BPResultType.NONE)
((BpSecurityUnsecureSSLVersionTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpSecurityUnsecureSSLVersionTablePanel) resultsTablePanel).setData(((UnsecureSSLVersionResult) bpr).getResults());
return;
case FORWARD_SECRECY:
if (bpr.getResultType() == BPResultType.NONE)
((BpSecurityForwardSecrecyTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BpSecurityForwardSecrecyTablePanel) resultsTablePanel).setData(((ForwardSecrecyResult) bpr).getResults());
return;
case SIMUL_CONN:
if (bpr.getResultType() == BPResultType.NONE)
((BPConnectionsSimultnsTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BPConnectionsSimultnsTablePanel) resultsTablePanel).setData(((SimultnsConnectionResult) bpr).getResults());
return;
case MULTI_SIMULCONN:
if (bpr.getResultType() == BPResultType.NONE)
((BPConnectionsSimultnsTablePanel) resultsTablePanel).setData(Collections.emptyList());
else
((BPConnectionsSimultnsTablePanel) resultsTablePanel).setData(((MultiSimultnsConnectionResult) bpr).getResults());
return;
case VIDEO_STALL:
if (bpr.getResultType() == BPResultType.NONE || bpr.getResultType() == BPResultType.NO_DATA) {
((BPVideoStallTablePanel) resultsTablePanel).setData(Collections.emptyList());
} else {
((BPVideoStallTablePanel) resultsTablePanel).setData(((VideoStallResult) bpr).getResults());
}
return;
case STARTUP_DELAY:
StartupDelayComparisonPanel startupDelayPanel = (StartupDelayComparisonPanel) resultsChartPanel;
List<VideoStartup> results = Collections.emptyList();
if (bpr.getResultType() != BPResultType.NONE) {
results = ((VideoStartUpDelayResult) bpr).getResults();
}
startupDelayPanel.setData(results);
return;
case VIDEO_ABR_LADDER:
VideoAdaptiveBitrateLadderPanel adaptiveBitrateLadderPanel = (VideoAdaptiveBitrateLadderPanel) resultsChartPanel;
if (bpr.getResultType() == BPResultType.NONE || bpr.getResultType() == BPResultType.NO_DATA) {
adaptiveBitrateLadderPanel.setData(Collections.emptyList());
((BPAdaptiveBitrateTablePanel) resultsTablePanel).setData(Collections.emptyList());
} else {
adaptiveBitrateLadderPanel.setData(((VideoAdaptiveBitrateLadderResult) bpr).getResults());
((BPAdaptiveBitrateTablePanel) resultsTablePanel).setData(((VideoAdaptiveBitrateLadderResult) bpr).getResults());
}
return;
case VIDEO_CONCURRENT_SESSION:
if (bpr.getResultType() == BPResultType.NONE || bpr.getResultType() == BPResultType.NO_DATA) {
((BPVideoConcurrentSessionTablePanel) resultsTablePanel).setData(Collections.emptyList());
} else {
((BPVideoConcurrentSessionTablePanel) resultsTablePanel).setData(((VideoConcurrentSessionResult) bpr).getResults());
}
return;
case NETWORK_COMPARISON:
if (bpr.getResultType() == BPResultType.NONE || bpr.getResultType() == BPResultType.NO_DATA) {
((BPNetworkComparisonTablePanel) resultsTablePanel).setData(Collections.emptyList());
} else {
((BPNetworkComparisonTablePanel) resultsTablePanel).setData(((VideoNetworkComparisonResult) bpr).getResults());
}
return;
default:
return;
}
}
}
}
use of com.att.aro.core.bestpractice.pojo.AsyncCheckInScriptResult in project VideoOptimzer by attdevsupport.
the class AsyncCheckInScriptImpl method parseHtmlToFindSyncLoadingScripts.
/**
* Performs parsing of the html file to find the scripts are loaded asynchronously or not
*
* @param HtppRequestResponseInfo
* info - Http packet to be parsed.
*/
public AsyncCheckInScriptResult parseHtmlToFindSyncLoadingScripts(HttpRequestResponseInfo info, Session session, AsyncCheckInScriptResult resdata) {
AsyncCheckInScriptResult result = resdata;
org.jsoup.nodes.Document doc;
String packetContent = null;
try {
packetContent = reqhelper.getContentString(info, session);
} catch (Exception e1) {
LOGGER.error("Failed to get content from HttpRequestResponseInfo", e1);
}
if (packetContent != null) {
Elements headLink = null;
Elements scriptLink = null;
try {
doc = Jsoup.parse(packetContent);
headLink = doc.select("head");
scriptLink = headLink.select("script");
for (Element element : scriptLink) {
if (element.hasAttr("src")) {
if ((element.hasAttr("async")) || element.hasAttr("defer")) {
result.incrementAsyncLoadedScripts();
} else {
result.incrementSyncLoadedScripts();
}
}
}
} catch (Exception e) {
LOGGER.error("Failed to get content from html content", e);
}
}
return result;
}
use of com.att.aro.core.bestpractice.pojo.AsyncCheckInScriptResult in project VideoOptimzer by attdevsupport.
the class AsyncCheckInScriptImpl method runTest.
@Override
public AbstractBestPracticeResult runTest(PacketAnalyzerResult tracedata) {
AsyncCheckInScriptResult result = new AsyncCheckInScriptResult();
List<AsyncCheckEntry> entrylist = new ArrayList<AsyncCheckEntry>();
for (Session session : tracedata.getSessionlist()) {
HttpRequestResponseInfo lastRequestObj = null;
for (HttpRequestResponseInfo req : session.getRequestResponseInfo()) {
if (req.getDirection() == HttpDirection.REQUEST) {
lastRequestObj = req;
}
if (req.getDirection() == HttpDirection.RESPONSE && req.getContentType() != null && req.getContentLength() > 0 && reqhelper.isHtml(req.getContentType())) {
result = parseHtmlToFindSyncLoadingScripts(req, session, result);
if (result.getSyncLoadedScripts() > 0) {
result.incrementSyncPacketCount();
result.setSyncLoadedScripts(0);
entrylist.add(new AsyncCheckEntry(req, lastRequestObj, session.getDomainName()));
// modified according to the logic in 4.1
} else if (result.getAsyncLoadedScripts() > 0) {
result.incrementAsyncPacketCount();
result.setAsyncLoadedScripts(0);
}
}
}
}
result.setResults(entrylist);
String text = "";
if (result.getSyncPacketCount() == 0) {
result.setResultType(BPResultType.PASS);
text = MessageFormat.format(textResultPass, ApplicationConfig.getInstance().getAppShortName(), // result.getSyncPacketCount());
entrylist.size());
result.setResultText(text);
} else {
result.setResultType(BPResultType.FAIL);
text = MessageFormat.format(textResults, ApplicationConfig.getInstance().getAppShortName(), // result.getSyncPacketCount());
entrylist.size());
result.setResultText(text);
}
result.setResultExcelText(MessageFormat.format(textExcelResults, result.getResultType().getDescription(), entrylist.size()));
result.setAboutText(aboutText);
result.setDetailTitle(detailTitle);
result.setLearnMoreUrl(learnMoreUrl);
result.setOverviewTitle(overviewTitle);
result.setExportAllSyncPacketCount(exportAllSyncPacketCount);
return result;
}
Aggregations