summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHenri Sara <hesara@vaadin.com>2011-12-18 11:35:08 +0200
committerHenri Sara <hesara@vaadin.com>2011-12-18 11:38:29 +0200
commit96b11d0213bc2012a72832feb5732b6ad1aacf1b (patch)
treea715b4c04806b42ccd710221204cb73d9ea04928 /src
parent8b9b9dc540c3c321abab047a372c845553fb6523 (diff)
downloadvaadin-framework-96b11d0213bc2012a72832feb5732b6ad1aacf1b.tar.gz
vaadin-framework-96b11d0213bc2012a72832feb5732b6ad1aacf1b.zip
Fix BeanValidation license information and make it serializable.
Diffstat (limited to 'src')
-rw-r--r--src/com/vaadin/data/validator/BeanValidationForm.java4
-rw-r--r--src/com/vaadin/data/validator/BeanValidationValidator.java55
2 files changed, 37 insertions, 22 deletions
diff --git a/src/com/vaadin/data/validator/BeanValidationForm.java b/src/com/vaadin/data/validator/BeanValidationForm.java
index ca94fd33f6..4e13396b1f 100644
--- a/src/com/vaadin/data/validator/BeanValidationForm.java
+++ b/src/com/vaadin/data/validator/BeanValidationForm.java
@@ -1,3 +1,7 @@
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+
package com.vaadin.data.validator;
import java.util.Collection;
diff --git a/src/com/vaadin/data/validator/BeanValidationValidator.java b/src/com/vaadin/data/validator/BeanValidationValidator.java
index 379dcf547c..c0e27e8375 100644
--- a/src/com/vaadin/data/validator/BeanValidationValidator.java
+++ b/src/com/vaadin/data/validator/BeanValidationValidator.java
@@ -1,7 +1,12 @@
+/*
+@VaadinApache2LicenseForJavaFiles@
+ */
+
package com.vaadin.data.validator;
import java.io.IOException;
import java.io.ObjectInputStream;
+import java.io.Serializable;
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
@@ -54,6 +59,30 @@ public class BeanValidationValidator implements Validator {
private Locale locale;
/**
+ * Simple implementation of a message interpolator context that returns
+ * fixed values.
+ */
+ protected static class SimpleContext implements Context, Serializable {
+
+ private final Object value;
+ private final ConstraintDescriptor<?> descriptor;
+
+ public SimpleContext(Object value, ConstraintDescriptor<?> descriptor) {
+ this.value = value;
+ this.descriptor = descriptor;
+ }
+
+ public ConstraintDescriptor<?> getConstraintDescriptor() {
+ return descriptor;
+ }
+
+ public Object getValidatedValue() {
+ return value;
+ }
+
+ }
+
+ /**
* Creates a Vaadin {@link Validator} utilizing JSR-303 bean validation.
*
* @param beanClass
@@ -168,22 +197,13 @@ public class BeanValidationValidator implements Validator {
Set<?> violations = validator.validateValue(beanClass, propertyName,
convertedValue);
if (violations.size() > 0) {
- final Object finalValue = convertedValue;
List<String> exceptions = new ArrayList<String>();
for (Object v : violations) {
final ConstraintViolation<?> violation = (ConstraintViolation<?>) v;
String msg = factory.getMessageInterpolator().interpolate(
- violation.getMessageTemplate(), new Context() {
-
- public ConstraintDescriptor<?> getConstraintDescriptor() {
- return violation.getConstraintDescriptor();
- }
-
- public Object getValidatedValue() {
- return finalValue;
- }
-
- }, locale);
+ violation.getMessageTemplate(),
+ new SimpleContext(convertedValue, violation
+ .getConstraintDescriptor()), locale);
exceptions.add(msg);
}
StringBuilder b = new StringBuilder();
@@ -264,16 +284,7 @@ public class BeanValidationValidator implements Validator {
"Annotation must have message attribute");
}
String msg = factory.getMessageInterpolator().interpolate(
- messageTemplate, new Context() {
-
- public Object getValidatedValue() {
- return value;
- }
-
- public ConstraintDescriptor<?> getConstraintDescriptor() {
- return d;
- }
- }, locale);
+ messageTemplate, new SimpleContext(value, d), locale);
exceptions.add(msg);
}
}