SLING-4213 - adjust to localized validation failures
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1723665 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/models/validation/InvalidResourceException.java b/src/main/java/org/apache/sling/models/validation/InvalidResourceException.java
index f589df9..352d0f4 100644
--- a/src/main/java/org/apache/sling/models/validation/InvalidResourceException.java
+++ b/src/main/java/org/apache/sling/models/validation/InvalidResourceException.java
@@ -16,12 +16,16 @@
*/
package org.apache.sling.models.validation;
+import java.util.ResourceBundle;
+
+import javax.annotation.Nonnull;
+
import org.apache.sling.models.factory.InvalidModelException;
import org.apache.sling.validation.ValidationFailure;
import org.apache.sling.validation.ValidationResult;
/**
- * Exception embedding a ValidationResult from Sling Validation.
+ * Exception embedding a {@link ValidationResult} from Sling Validation.
*
*/
public class InvalidResourceException extends InvalidModelException {
@@ -54,12 +58,16 @@
return path;
}
- @Override
- public String getMessage() {
+ /**
+ * This is not the regular {@link Exception#getMessage()} as it requires an additional resourceBundle parameter to look up the localized message.
+ * @param resourceBundle
+ * @return the localized validation messages bound to the {@link ValidationResult} wrapped by this exception
+ */
+ public String getMessage(@Nonnull ResourceBundle resourceBundle) {
StringBuilder builder = new StringBuilder("Validation errors for ");
builder.append("'" + path +"':");
for (ValidationFailure failure : result.getFailures()) {
- builder.append("\n" + failure.getLocation() + ":" + failure.getMessage() + "\n\t");
+ builder.append("\n" + failure.getLocation() + ":" + failure.getMessage(resourceBundle) + "\n\t");
}
return builder.toString();
}