private static void init() { if (bundle == null) { bundle = ResourceBundle.getBundle("Messages", activeLocale()); } }
public static String validationErrorIn(final String docName) { return format(I18N.Key.VALIDATION_ERROR_IN, "OPVDX001", docName); }
public static String format(final Key key, Object... args) { return String.format(lookup(key), args); }
printed = true; } else { printer().println(I18N.documentHasNoContent(Util.documentName(document))); printer().println(I18N.failedToPrintError(ex));
public static String lookup(final Key key) { init(); return bundle.getString(key.toString()); }
public void print(ValidationError error) { final ErrorHandler.HandledResult res = this.context.handle(error); if (res != null) { final StringBuilder out = new StringBuilder() .append('\n') .append(divider(I18N.validationErrorIn(Util.documentName(this.docURL)))); formatResult(out, res); out.append(divider(1)) .append('\n'); this.printer.printlnErr(Util.withPrefixAfterNth(2, "|", out.toString())); } }
protected List<URL> findSchemas() { final SchemaProvider provider = schemaProvider(); final List<URL> schemas = provider.schemas(); if (schemas.isEmpty()) { printer().println(I18N.noSchemasAvailable(provider.schemaResource())); } return schemas; }
public static String noSchemasAvailable(final String resource) { return format(Key.NO_SCHEMAS_AVAILABLE, "OPVDX003", resource); }
private void formatResult(final StringBuilder out, final ErrorHandler.HandledResult result) { final int linum = result.line(); final int maxLinumWidth = ("" + linum + CONTEXT_LINES).length(); final List<PrefixedLine> preambleLines = preambleLines(linum, maxLinumWidth); final List<PrefixedLine> postambleLines = postambleLines(linum, maxLinumWidth); final List<PrefixedLine> allLines = new ArrayList<>(); allLines.addAll(preambleLines); allLines.addAll(postambleLines); final int removeSpaces = smallestPrefixWhitespace(allLines); out.append('\n') .append(Util.withPrefix(" ", ambleString(preambleLines, removeSpaces))) .append(alignPointerMessage(maxLinumWidth + result.column() + 2 - removeSpaces, result.primaryMessages())) .append("\n") .append(Util.withPrefix(" ", ambleString(postambleLines, removeSpaces))); if (!result.secondaryMessages().isEmpty()) { result.secondaryMessages().forEach(m -> out.append("\n").append(Util.withPrefix(" ", m.toString())).append("\n")); } if (!result.secondaryResults().isEmpty()) { result.secondaryResults().forEach(r -> formatResult(out, r)); } else { out.append("\n"); } if (result.originalMessage() != null) { out.append(Util.withPrefix(" ", I18N.lookup(I18N.Key.ORIGINAL_ERROR))).append("\n") .append(Util.withPrefix(" > ", Util.indentLinesAfterNth(2, WRAPPED_LINE_INDENT, Util.wrapString(WRAPPED_LINE_WIDTH, result.originalMessage())))) .append("\n\n"); } }
public static String failedToPrintError(final Throwable ex) { return format(Key.PRINT_FAILURE, "OPVDX002", ex.getMessage()); }
@Override public String toString() { return I18N.format(this.template, stringValues().toArray()); }
@Override public String asString(Object value) { final List<?> list = (List<?>)value; final List<String> values = list.stream() .map(Stringify::asString) .distinct() .limit(limit > 0 ? limit : list.size()) .collect(Collectors.toList()); final StringBuilder sb = new StringBuilder(); if (this.listThreshold == -1 || values.size() <= this.listThreshold) { sb.append(Util.asCommaString(values)).append(' '); } else { sb.append('\n'); if (this.asBulletList) { values.forEach(v -> sb.append("- ").append(v).append('\n')); } else { sb.append(Util.asColumns(values)); } } if (this.limit < list.size()) { sb.append(I18N.format(I18N.Key.AND_N_MORE, list.size() - limit)); } return sb.toString(); }