use of com.att.aro.core.bestpractice.pojo.ScriptsResult in project VideoOptimzer by attdevsupport.
the class ARODiagnosticsOverviewRouteImpl method routeHyperlink.
@Override
public void routeHyperlink(BestPracticeType bpType) {
if (bpType.equals(BestPracticeType.DUPLICATE_CONTENT)) {
jtabbedPane.setSelectedIndex(OVERVIEW_INDEX);
} else {
jtabbedPane.setSelectedIndex(DIAGNOSTIC_INDEX);
DiagnosticsTab diagnosticsTab = (DiagnosticsTab) jtabbedPane.getSelectedComponent();
switch(bpType) {
case FILE_COMPRESSION:
{
// for (AbstractBestPracticeResult result :
// diagnosticsTab.getAnalyzerResult().getBestPracticeResults())
// {
// if (result instanceof FileCompressionResult) {
// diagnosticsTab.setHighlightedTCP(((FileCompressionResult)result).getConsecutiveCssJsFirstPacket().getTimeStamp());
// break;
// }
// }
}
break;
// break;
case USING_CACHE:
{
// done
for (AbstractBestPracticeResult result : diagnosticsTab.getAnalyzerResult().getBestPracticeResults()) {
if (result instanceof UsingCacheResult) {
diagnosticsTab.setHighlightedTCP(((UsingCacheResult) result).getNoCacheHeaderFirstPacket().getTimeStamp());
break;
}
}
}
break;
case CACHE_CONTROL:
{
// cant not find cache control start time in
// CacheControlResult
// for (AbstractBestPracticeResult result :
// diagnosticsTab.getAnalyzerResult().getBestPracticeResults())
// {
// if (result instanceof CacheControlResult) {
// diagnosticsTab.setHighlightedTCP(((CacheControlResult)result).getConsecutiveCssJsFirstPacket().getTimeStamp());
// break;
// }
// }
}
break;
case COMBINE_CS_JSS:
{
// done
for (AbstractBestPracticeResult result : diagnosticsTab.getAnalyzerResult().getBestPracticeResults()) {
if (result instanceof CombineCsJssResult) {
diagnosticsTab.setHighlightedTCP(((CombineCsJssResult) result).getConsecutiveCssJsFirstPacket().getTimeStamp());
break;
}
}
}
break;
case IMAGE_SIZE:
{
}
break;
case IMAGE_MDATA:
{
}
break;
case IMAGE_CMPRS:
{
}
break;
case IMAGE_FORMAT:
{
}
break;
case IMAGE_COMPARE:
{
}
break;
case MINIFICATION:
{
// for (AbstractBestPracticeResult result :
// diagnosticsTab.getAnalyzerResult().getBestPracticeResults())
// {
// if (result instanceof CombineCsJssResult) {
// diagnosticsTab.setHighlightedTCP(((MinificationResult)result).getConsecutiveCssJsFirstPacket().getTimeStamp());
// break;
// }
// }
}
break;
case SPRITEIMAGE:
{
// for (AbstractBestPracticeResult result :
// diagnosticsTab.getAnalyzerResult().getBestPracticeResults())
// {
// if (result instanceof SpriteImageResult) {
// diagnosticsTab.setHighlightedTCP(((SpriteImageResult)result).getConsecutiveCssJsFirstPacket().getTimeStamp());
// break;
// }
// }
}
break;
case UNNECESSARY_CONNECTIONS:
{
// to test
for (AbstractBestPracticeResult result : diagnosticsTab.getAnalyzerResult().getBestPracticeResults()) {
if (result instanceof UnnecessaryConnectionResult) {
diagnosticsTab.setHighlightedTCP(((UnnecessaryConnectionResult) result).getTightlyCoupledBurstTime());
break;
}
}
}
break;
case SCRIPTS_URL:
{
// done
for (AbstractBestPracticeResult result : diagnosticsTab.getAnalyzerResult().getBestPracticeResults()) {
if (result instanceof ScriptsResult) {
diagnosticsTab.setHighlightedTCP(((ScriptsResult) result).getFirstFailedHtml());
break;
}
}
}
break;
case SCREEN_ROTATION:
{
}
break;
case SIMUL_CONN:
{
}
break;
case MULTI_SIMULCONN:
{
}
break;
case PERIODIC_TRANSFER:
{
// done
for (AbstractBestPracticeResult result : diagnosticsTab.getAnalyzerResult().getBestPracticeResults()) {
if (result instanceof PeriodicTransferResult) {
diagnosticsTab.setHighlightedTCP(((PeriodicTransferResult) result).getMinimumPeriodicRepeatTime());
break;
}
}
}
break;
case HTTP_4XX_5XX:
{
// for (AbstractBestPracticeResult result :
// diagnosticsTab.getAnalyzerResult().getBestPracticeResults())
// {
// if (result instanceof Http4xx5xxResult) {
// diagnosticsTab.setHighlightedTCP(((Http4xx5xxResult)result).getHttpResCodelist()ConsecutiveCssJsFirstPacket().getTimeStamp());
// break;
// }
// }
}
break;
case HTTP_3XX_CODE:
{
// for (AbstractBestPracticeResult result :
// diagnosticsTab.getAnalyzerResult().getBestPracticeResults())
// {
// if (result instanceof Http3xxCodeResult) {
// diagnosticsTab.setHighlightedTCP(((Http3xxCodeResult)result).getFirstResMap()ConsecutiveCssJsFirstPacket().getTimeStamp());
// break;
// }
// }
}
break;
case HTTP_1_0_USAGE:
{
// done
for (AbstractBestPracticeResult result : diagnosticsTab.getAnalyzerResult().getBestPracticeResults()) {
if (result instanceof Http10UsageResult) {
diagnosticsTab.setHighlightedTCP(((Http10UsageResult) result).getHttp10Session());
break;
}
}
}
break;
case FILE_ORDER:
{
// for (AbstractBestPracticeResult result :
// diagnosticsTab.getAnalyzerResult().getBestPracticeResults())
// {
// if (result instanceof FileOrderResult) {
// diagnosticsTab.setHighlightedTCP(((FileOrderResult)result).getConsecutiveCssJsFirstPacket().getTimeStamp());
// break;
// }
// }
}
break;
case EMPTY_URL:
{
// done
for (AbstractBestPracticeResult result : diagnosticsTab.getAnalyzerResult().getBestPracticeResults()) {
if (result instanceof EmptyUrlResult) {
diagnosticsTab.setHighlightedTCP(((EmptyUrlResult) result).getFirstFailedHtml());
break;
}
}
}
break;
case DISPLAY_NONE_IN_CSS:
{
// for (AbstractBestPracticeResult result :
// diagnosticsTab.getAnalyzerResult().getBestPracticeResults())
// {
// if (result instanceof DisplayNoneInCSSResult) {
// diagnosticsTab.setHighlightedTCP(((DisplayNoneInCSSResult)result).getConsecutiveCssJsFirstPacket().getTimeStamp());
// break;
// }
// }
}
break;
case CONNECTION_OPENING:
{
// for (AbstractBestPracticeResult result :
// diagnosticsTab.getAnalyzerResult().getBestPracticeResults())
// {
// if (result instanceof ConnectionOpeningResult) {
// diagnosticsTab.setHighlightedTCP(((ConnectionOpeningResult)result).getConsecutiveCssJsFirstPacket().getTimeStamp());
// break;
// }
// }
}
break;
case CONNECTION_CLOSING:
{
// done
for (AbstractBestPracticeResult result : diagnosticsTab.getAnalyzerResult().getBestPracticeResults()) {
if (result instanceof ConnectionClosingResult) {
diagnosticsTab.setHighlightedTCP(((ConnectionClosingResult) result).getLargestEnergyTime());
break;
}
}
}
break;
case ASYNC_CHECK:
{
// for (AbstractBestPracticeResult result :
// diagnosticsTab.getAnalyzerResult().getBestPracticeResults())
// {
// if (result instanceof AsyncCheckInScriptResult) {
// diagnosticsTab.setHighlightedTCP(((AsyncCheckInScriptResult)result).getConsecutiveCssJsFirstPacket().getTimeStamp());
// break;
// }
// }
}
break;
case ACCESSING_PERIPHERALS:
{
// for (AbstractBestPracticeResult result :
// diagnosticsTab.getAnalyzerResult().getBestPracticeResults())
// {
// if (result instanceof AccessingPeripheralResult) {
// diagnosticsTab.setHighlightedTCP(((AccessingPeripheralResult)result).getConsecutiveCssJsFirstPacket().getTimeStamp());
// break;
// }
// }
}
break;
default:
break;
}
// switch
}
}
use of com.att.aro.core.bestpractice.pojo.ScriptsResult in project VideoOptimzer by attdevsupport.
the class ScriptsImpl method analyzeHtml.
private ScriptsResult analyzeHtml(HttpRequestResponseInfo hrri, Session session, ScriptsResult resdata) {
ScriptsResult result = resdata;
Document htmlDoc = null;
String type = null;
try {
type = reqhelper.getContentString(hrri, session);
if (type != null) {
htmlDoc = Jsoup.parse(type);
Elements allSrcElements = new Elements(htmlDoc.select("script"));
if (allSrcElements.size() >= MIN_NUM_OF_SCRIPTS_IN_HTML_DOC) {
result = is3rdPartyScript(hrri, allSrcElements, result);
}
}
} catch (Exception e) {
LOG.error("Failed to get content from HttpRequestResponseInfo", e);
if (hrri != null && session != null) {
LOG.error("jsoup error: contenttype: " + hrri.getContentType());
LOG.error("jsoup error: start time: " + session.getSessionStartTime());
}
}
return result;
}
use of com.att.aro.core.bestpractice.pojo.ScriptsResult in project VideoOptimzer by attdevsupport.
the class ScriptsImpl method runTest.
@Override
public AbstractBestPracticeResult runTest(PacketAnalyzerResult tracedata) {
ScriptsResult result = new ScriptsResult();
for (Session session : tracedata.getSessionlist()) {
for (HttpRequestResponseInfo req : session.getRequestResponseInfo()) {
if (req.getDirection() == HttpDirection.RESPONSE && req.getContentLength() > 0 && req.getContentType() != null && reqhelper.isHtml(req.getContentType())) {
result = analyzeHtml(req, session, result);
}
}
}
String text = "";
if (result.getFirstFailedHtml() == null) {
result.setResultType(BPResultType.PASS);
text = MessageFormat.format(textResultPass, result.getNumberOfFailedFiles());
result.setResultText(text);
result.setResultExcelText(BPResultType.PASS.getDescription());
} else {
result.setResultType(BPResultType.FAIL);
text = MessageFormat.format(textResults, ApplicationConfig.getInstance().getAppShortName(), result.getNumberOfFailedFiles());
result.setResultText(text);
result.setResultExcelText(MessageFormat.format(textExcelResults, BPResultType.FAIL.getDescription(), result.getNumberOfFailedFiles()));
}
result.setAboutText(aboutText);
result.setDetailTitle(detailTitle);
result.setLearnMoreUrl(learnMoreUrl);
result.setOverviewTitle(overviewTitle);
result.setExportAllNumberOfScriptsFiles(exportAllNumberOfScriptsFiles);
return result;
}
use of com.att.aro.core.bestpractice.pojo.ScriptsResult in project VideoOptimzer by attdevsupport.
the class ScriptsImpl method is3rdPartyScript.
private ScriptsResult is3rdPartyScript(HttpRequestResponseInfo hrri, Elements elements, ScriptsResult resdata) {
ScriptsResult result = resdata;
String originDomain = getOriginDomain(hrri);
List<String> domains = getScriptDomains(elements);
if (isMultiple3rdPartyDomains(originDomain, domains)) {
// store the 1st occurrence
if (result.getFirstFailedHtml() == null) {
result.setFirstFailedHtml(hrri);
}
result.incrementNumberOfFailedFiles();
}
return result;
}
Aggregations