SLING-4213 leverage sling-i18n for validation failure messages
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1723664 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 0081deb..1f50b5c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,6 +87,12 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>com.google.code.findbugs</groupId>
+ <artifactId>jsr305</artifactId>
+ <version>3.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.api</artifactId>
<version>2.4.2</version>
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 4b71762..8cd45d8 100644
--- a/src/main/java/org/apache/sling/validation/testservices/ValidationPostResponse.java
+++ b/src/main/java/org/apache/sling/validation/testservices/ValidationPostResponse.java
@@ -20,9 +20,9 @@
import java.io.IOException;
import java.io.PrintWriter;
-import java.util.List;
-import java.util.Map;
+import java.util.ResourceBundle;
+import javax.annotation.Nonnull;
import javax.servlet.http.HttpServletResponse;
import org.apache.sling.commons.json.JSONArray;
@@ -37,8 +37,13 @@
public class ValidationPostResponse extends AbstractPostResponse {
private ValidationResult validationResult;
+ private final ResourceBundle resourceBundle;
private static final Logger LOG = LoggerFactory.getLogger(ValidationPostResponse.class);
+ public ValidationPostResponse(@Nonnull ResourceBundle resourceBundle) {
+ this.resourceBundle = resourceBundle;
+ }
+
public void setValidationResult(ValidationResult validationResult) {
this.validationResult = validationResult;
}
@@ -55,7 +60,7 @@
JSONArray failures = new JSONArray();
for (ValidationFailure failure : validationResult.getFailures()) {
JSONObject failureJson = new JSONObject();
- failureJson.put("message", failure.getMessage());
+ failureJson.put("message", failure.getMessage(resourceBundle));
failureJson.put("location", failure.getLocation());
failures.put(failureJson);
}
diff --git a/src/main/java/org/apache/sling/validation/testservices/ValidationPostResponseCreator.java b/src/main/java/org/apache/sling/validation/testservices/ValidationPostResponseCreator.java
index d96c201..a884749 100644
--- a/src/main/java/org/apache/sling/validation/testservices/ValidationPostResponseCreator.java
+++ b/src/main/java/org/apache/sling/validation/testservices/ValidationPostResponseCreator.java
@@ -18,6 +18,8 @@
*/
package org.apache.sling.validation.testservices;
+import java.util.Locale;
+
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingHttpServletRequest;
@@ -33,7 +35,7 @@
public PostResponse createPostResponse(SlingHttpServletRequest request) {
String operation = request.getParameter(SlingPostConstants.RP_OPERATION);
if (operation != null && "validation".equals(operation)) {
- return new ValidationPostResponse();
+ return new ValidationPostResponse(request.getResourceBundle(Locale.US));
}
return null;
}
diff --git a/src/main/resources/SLING-CONTENT/apps/sling/validation/models/model1.json b/src/main/resources/SLING-CONTENT/apps/sling/validation/models/model1.json
index 8b59679..85ad3bc 100644
--- a/src/main/resources/SLING-CONTENT/apps/sling/validation/models/model1.json
+++ b/src/main/resources/SLING-CONTENT/apps/sling/validation/models/model1.json
@@ -13,13 +13,12 @@
"jcr:primaryType" : "nt:unstructured",
"org.apache.sling.validation.impl.validators.RegexValidator": {
"jcr:primaryType" : "nt:unstructured",
- "validatorArguments" : ["regex=^\\p{L}+$"]
+ "validatorArguments" : ["regex=^\\\p{Upper}+$"]
}
}
},
"field2" : {
- "jcr:primaryType" : "nt:unstructured",
- "propertyType" : "date"
+ "jcr:primaryType" : "nt:unstructured"
}
}
}