@Override protected JsonObject execute(ValidationAction action) { JsonBuilder obj = new JsonBuilder(); obj.startObject(); String args[] = getArgs(action, paramIRI); if (args.length == 0) ServletOps.errorBadRequest("No IRIs supplied"); obj.key(jIRIs); obj.startArray(); for (String iriStr : args) { obj.startObject(); obj.key(jIRI).value(iriStr); IRI iri = iriFactory.create(iriStr); List<String> errors = new ArrayList<>(); List<String> warnings = new ArrayList<>(); if (iri.isRelative()) warnings.add("Relative IRI: " + iriStr); Iterator<Violation> vIter = iri.violations(true); for (; vIter.hasNext(); ) { Violation v = vIter.next(); String str = v.getShortMessage(); if (v.isError()) errors.add(str); else warnings.add(str); } obj.key(jErrors); obj.startArray(); for (String msg : errors) obj.value(msg); obj.finishArray(); obj.key(jWarnings); obj.startArray(); for (String msg : warnings) obj.value(msg); obj.finishArray(); obj.finishObject(); } obj.finishArray(); obj.finishObject(); return obj.build().getAsObject(); }