use of org.asqatasun.ruleimplementation.ElementHandlerImpl in project Asqatasun by Asqatasun.
the class Aw22Rule10012 method select.
@Override
protected void select(SSPHandler sspHandler) {
totalNumberOfElements = sspHandler.getTotalNumberOfElements();
// retrieve element from the nomenclature
Nomenclature deprecatedHtmlAttr = nomenclatureLoaderService.loadByCode(PRESENTATION_ATTR_NOM);
for (String deprecatedAttr : deprecatedHtmlAttr.getValueList()) {
SimpleElementSelector sec = new SimpleElementSelector(buildQuery(deprecatedAttr));
ElementHandler<Element> eh = new ElementHandlerImpl();
sec.selectElements(sspHandler, eh);
attrElementHandlerMap.put(deprecatedAttr, eh);
}
// elements with width attribute that are not img
SimpleElementSelector secWidthAttrNotImg = new SimpleElementSelector(ELEMENT_WITH_WITDH_ATTR_NOT_IMG);
ElementHandler<Element> ehWithAttrNotImg = new ElementHandlerImpl();
secWidthAttrNotImg.selectElements(sspHandler, ehWithAttrNotImg);
attrElementHandlerMap.put(WIDTH_ATTR, ehWithAttrNotImg);
// elements with width attribute that are not img
SimpleElementSelector secHeightAttrNotImg = new SimpleElementSelector(ELEMENT_WITH_HEIGHT_ATTR_NOT_IMG);
ElementHandler<Element> ehHeightAttrNotImg = new ElementHandlerImpl();
secHeightAttrNotImg.selectElements(sspHandler, ehHeightAttrNotImg);
attrElementHandlerMap.put(HEIGHT_ATTR, ehHeightAttrNotImg);
}
use of org.asqatasun.ruleimplementation.ElementHandlerImpl in project Asqatasun by Asqatasun.
the class Aw22Rule06031 method testLink.
/**
*
* @param sspHandler
* @param el
* @return
*/
private TestSolution testLink(SSPHandler sspHandler, Element el) {
ElementHandler<Element> elHandler = new ElementHandlerImpl(el);
TestSolutionHandler tsHandler = new TestSolutionHandlerImpl();
// reset the service for each tested element. We use the collection
// handled by the service to feed the local collection of remarks
prs.resetService();
// check the pertinence of the link
getDecidableElementsChecker().check(sspHandler, elHandler, tsHandler);
// get the processRemark for eventually override it with the result
// returned by the title pertinence checker
ProcessRemark remark = prs.getRemarkList().iterator().next();
// to nmi but the inverse is impossible.
if (tsHandler.getTestSolution().equals(TestSolution.FAILED)) {
// check the pertinence of the title of the link
String linkText = getDecidableElementsChecker().getTextElementBuilder().buildTextFromElement(el);
if (testTitleAttributeLink(sspHandler, el, linkText).equals(TestSolution.NEED_MORE_INFO)) {
//override result (evidence element have already been collected
remark.setIssue(TestSolution.NEED_MORE_INFO);
remark.setMessageCode(CHECK_LINK_PERTINENCE_MSG);
remarks.add(remark);
return TestSolution.NEED_MORE_INFO;
}
}
remarks.add(remark);
return tsHandler.getTestSolution();
}
use of org.asqatasun.ruleimplementation.ElementHandlerImpl in project Asqatasun by Asqatasun.
the class Aw22Rule06034 method testTitleAttributeLink.
/**
*
* @param sspHandler
* @param el
* @param linkText
* @return
*/
private TestSolution testTitleAttributeLink(SSPHandler sspHandler, Element el, String linkText) {
// content identical to the link text, returns not applicable.
if (!el.hasAttr(TITLE_ATTR)) {
return TestSolution.NOT_APPLICABLE;
}
String attrValue = el.attr(TITLE_ATTR);
if (StringUtils.isBlank(attrValue)) {
return TestSolution.NOT_APPLICABLE;
}
if (StringUtils.equalsIgnoreCase(attrValue, linkText)) {
return TestSolution.NOT_APPLICABLE;
}
ElementHandler<Element> elHandler = new ElementHandlerImpl(el);
TestSolutionHandler tsHandler = new TestSolutionHandlerImpl();
titlePertinenceElementChecker.check(sspHandler, elHandler, tsHandler);
return tsHandler.getTestSolution();
}
use of org.asqatasun.ruleimplementation.ElementHandlerImpl in project Asqatasun by Asqatasun.
the class Aw22Rule08031 method removeElementWithParentWithLangAttr.
/**
* Remove elements from the current elementHandler when an element has a
* parent with a lang attribute
*
* @param elementHandler
*/
private void removeElementWithParentWithLangAttr() {
if (elementWithLang.isEmpty()) {
return;
}
ElementHandler<Element> elementWithParentWithLang = new ElementHandlerImpl();
for (Element el : elementWithoutLang.get()) {
if (isElementHasParentWithLang(el)) {
elementWithParentWithLang.add(el);
}
}
elementWithoutLang.removeAll(elementWithParentWithLang);
elementWithLang.addAll(elementWithParentWithLang.get());
}
use of org.asqatasun.ruleimplementation.ElementHandlerImpl in project Asqatasun by Asqatasun.
the class Rgaa22Rule07081 method select.
@Override
protected void select(SSPHandler sspHandler) {
super.select(sspHandler);
// retrieve element from the nomenclature
Nomenclature deprecatedHtmlTags = nomenclatureLoaderService.loadByCode(PRESENTATION_TAG_NOM);
// add each element of the nomenclature to the selector
MultipleElementSelector mes = new MultipleElementSelector();
for (String deprecatedTag : deprecatedHtmlTags.getValueList()) {
mes.addCssQuery(deprecatedTag.toLowerCase());
}
mes.selectElements(sspHandler, deprecatedElementHandler);
// retrieve element from the nomenclature
Nomenclature deprecatedHtmlAttr = nomenclatureLoaderService.loadByCode(PRESENTATION_ATTR_NOM);
for (String deprecatedAttr : deprecatedHtmlAttr.getValueList()) {
SimpleElementSelector sec = new SimpleElementSelector(buildQuery(deprecatedAttr));
ElementHandler eh = new ElementHandlerImpl();
sec.selectElements(sspHandler, eh);
attrElementHandlerMap.put(deprecatedAttr, eh);
}
}
Aggregations