in core/src/main/java/org/apache/sling/cms/core/insights/impl/providers/ReadabilityInsightProvider.java [78:111]
protected Insight doEvaluateRequest(InsightRequest request) throws Exception {
Insight insight = new Insight(this, request);
PageInsightRequest pageRequest = (PageInsightRequest) request;
String text = pageRequest.getPageBodyElement().text();
Site site = null;
SiteManager smgr = request.getResource().adaptTo(SiteManager.class);
if (smgr != null) {
site = smgr.getSite();
}
Resource readabilityResource = caResolver.getResource(pageRequest.getPage().getResource(),
CMSConstants.INSIGHTS_CA_CONFIG_BUCKET, READABILITY_CA_CONFIG);
ReadabilitySiteConfig config = null;
if (readabilityResource != null) {
log.debug("Using readability configuration {}", readabilityResource);
config = readabilityResource.adaptTo(ReadabilitySiteConfig.class);
}
I18NDictionary dictionary = i18nProvider.getDictionary(request.getResource().getResourceResolver());
if (site != null && config != null) {
executeReadabilityCheck(insight, pageRequest, text, site, config, dictionary);
} else {
log.warn("Failed to get readability for resource {} site or config were null",
pageRequest.getPage().getResource());
insight.setScored(false);
insight.setSucceeded(false);
insight.setPrimaryMessage(Message.danger(dictionary.get(I18N_KEY_READABILITY_RESULT_DANGER,
new Object[] { pageRequest.getPage().getPath() })));
}
return insight;
}