public XMLStreamValidationException(final String message, final ValidationError validationError, final Throwable nested) { super(message, validationError.location(), nested); this.validationError = validationError; }
public static ValidationError from(final ValidationError error, final ErrorType type) { return new ValidationError(type, error.message(), error.location()); }
public static HandledResult from(final ValidationError err) { final Location loc = err.location(); return new HandledResult(loc.getLineNumber(), loc.getColumnNumber(), err.message()); }
@Override public HandledResult handle(ValidationContext ctx, ValidationError error) { final Location loc = error.location(); final String attr = error.attribute().getLocalPart(); final Position pos = ctx.searchForward(loc.getLineNumber() - 1, loc.getColumnNumber(), Pattern.compile(attr + "\\s*=")); final HandledResult result = HandledResult.from(error) .addPrimaryMessage(I18N.Key.ATTRIBUTE_INVALID_VALUE, error.attributeValue(), attr); if (pos != null) { result.line(pos.line).column(pos.col); } return result; } }
@Override public HandledResult handle(ValidationContext ctx, ValidationError error) { final String el = error.element().getLocalPart(); final Set<String> alts = error.alternatives(); final Location loc = error.location(); final Position pos = ctx.searchBackward(loc.getLineNumber() - 1, loc.getColumnNumber(), Pattern.compile(String.format("<%s[ >/]", el))); final HandledResult result = HandledResult.from(error) .addPrimaryMessage(this.primaryMessageKey, el); if (pos != null) { result.line(pos.line).column(pos.col); } if (!alts.isEmpty()) { final List<SchemaElement> path = ctx.mapDocLocationToSchemaPath(error.element(), error.position()); if (path.isEmpty()) { result.possiblyMalformed(true); } Set<String> otherElements = ctx.elementsForElement(path).stream() .map(SchemaElement::name) .collect(Collectors.toSet()); result.addPrimaryMessage(this.optionsMessageKey, Util.asSortedList(alts).stream() .map(String::toLowerCase) .map(Util.possiblyUnderscoredName(otherElements)) .collect(Collectors.toList())); } return result; }
final String attr = error.attribute().getLocalPart(); final String el = error.element() == null ? null : error.element().getLocalPart(); final Location loc = error.location(); final Pattern attrPattern = Pattern.compile(String.format("\\s%s\\s*=", attr)); final Position pos = ctx.searchBackward(loc.getLineNumber() - 1, loc.getColumnNumber(), attrPattern);
@Override @SuppressWarnings("unchecked") public HandledResult handle(ValidationContext ctx, ValidationError error) { final Location loc = error.location(); final String attr = error.attribute().getLocalPart(); final String el = error.element().getLocalPart();