SLING-5026 - refactor validator interface to allow to set multiple failure messages
This closes #117
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1720802 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/validation/testservices/ValidationPostResponse.java b/src/main/java/org/apache/sling/validation/testservices/ValidationPostResponse.java
index f535c15..4b71762 100644
--- a/src/main/java/org/apache/sling/validation/testservices/ValidationPostResponse.java
+++ b/src/main/java/org/apache/sling/validation/testservices/ValidationPostResponse.java
@@ -25,9 +25,11 @@
import javax.servlet.http.HttpServletResponse;
+import org.apache.sling.commons.json.JSONArray;
import org.apache.sling.commons.json.JSONException;
import org.apache.sling.commons.json.JSONObject;
import org.apache.sling.servlets.post.AbstractPostResponse;
+import org.apache.sling.validation.ValidationFailure;
import org.apache.sling.validation.ValidationResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -50,9 +52,14 @@
if (validationResult != null) {
try {
jsonResponse.put("valid", validationResult.isValid());
- for (Map.Entry<String, List<String>> entry : validationResult.getFailureMessages().entrySet()) {
- jsonResponse.put(entry.getKey(), entry.getValue());
+ JSONArray failures = new JSONArray();
+ for (ValidationFailure failure : validationResult.getFailures()) {
+ JSONObject failureJson = new JSONObject();
+ failureJson.put("message", failure.getMessage());
+ failureJson.put("location", failure.getLocation());
+ failures.put(failureJson);
}
+ jsonResponse.put("failures", failures);
} catch (JSONException e) {
LOG.error("JSON error during response send operation.", e);
}