private void propagateToChildElements(ValidationComponent validator, Node parent) { if (parent == null) return; Class clazz = validator.getClass(); NodeList children = parent.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { Node child = children.item(i); if (child == null || child.getNodeType() != Node.ELEMENT_NODE) continue; INodeNotifier notifier = (INodeNotifier) child; ValidationAdapter va = (ValidationAdapter) notifier.getExistingAdapter(clazz); if (va == null) { notifier.addAdapter(validator); va = validator; } // bug 143213 - Can't batch validate open HTML files when // as-you-type validation is enabled va.setReporter(validator.getReporter()); va.validate((IndexedRegion) child); } }
/** */ public void setReporter(ValidationReporter reporter) { super.setReporter(reporter); Iterator i = components.iterator(); while (i.hasNext()) { ValidationAdapter component = (ValidationAdapter) i.next(); if (component == null) continue; component.setReporter(reporter); } }
public static void propagateToChildElements(ValidationComponent validator, Node parent) { if (parent == null) return; Class clazz = validator.getClass(); NodeList children = parent.getChildNodes(); for (int i = 0; i < children.getLength(); i++) { Node child = children.item(i); if (child == null || child.getNodeType() != Node.ELEMENT_NODE) continue; INodeNotifier notifier = (INodeNotifier) child; ValidationAdapter va = (ValidationAdapter) notifier.getExistingAdapter(clazz); if (va == null) { notifier.addAdapter(validator); va = validator; } va.validate((IndexedRegion) child); } }
public void validate(IndexedRegion node) { if (node == null) return; getValidator().validate(node); propagateToChildElements(getPropagatee(), (Node) node); }
private void validate(IReporter reporter, IFile file, IDOMModel model) { if (file == null || model == null) return; // error IDOMDocument document = model.getDocument(); if (document == null) return; // error // This validator currently only handles validating HTML content in // JSP if (hasHTMLFeature(document)) { INodeAdapterFactory factory = HTMLValidationAdapterFactory.getInstance(); ValidationAdapter adapter = (ValidationAdapter) factory.adapt(document); if (adapter == null) return; // error HTMLValidationReporter rep = getReporter(reporter, file, model); rep.clear(); adapter.setReporter(rep); adapter.validate(document); } }