summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPekka Hyvönen <pekka@vaadin.com>2017-03-27 16:04:35 +0300
committerHenri Sara <henri.sara@gmail.com>2017-03-27 16:04:35 +0300
commitafc697f8d03f85958c995af5f0e74e7a3fd2ff10 (patch)
treeed3d94deeee6a54a27b8bfff066a3bab7dca243e
parent38ed444e7eb5ab8960a681fb8775f8e1e50a4c61 (diff)
downloadvaadin-framework-afc697f8d03f85958c995af5f0e74e7a3fd2ff10.tar.gz
vaadin-framework-afc697f8d03f85958c995af5f0e74e7a3fd2ff10.zip
Fix Binder documentation on ValidationException (#8949)
-rw-r--r--documentation/datamodel/datamodel-forms.asciidoc2
-rw-r--r--server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java30
2 files changed, 31 insertions, 1 deletions
diff --git a/documentation/datamodel/datamodel-forms.asciidoc b/documentation/datamodel/datamodel-forms.asciidoc
index 3db83d6436..a565e2ed01 100644
--- a/documentation/datamodel/datamodel-forms.asciidoc
+++ b/documentation/datamodel/datamodel-forms.asciidoc
@@ -54,7 +54,7 @@ Button saveButton = new Button("Save",
binder.writeBean(person);
// A real application would also save the updated person
// using the application's backend
- } catch (BindingException e) {
+ } catch (ValidationException e) {
Notification.show("Person could not be saved, " +
"please check error messages for each field.");
}
diff --git a/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java b/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java
index f36a357617..e0b8330ccc 100644
--- a/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java
+++ b/server/src/test/java/com/vaadin/data/BinderBookOfVaadinTest.java
@@ -66,6 +66,11 @@ public class BinderBookOfVaadinTest {
title = origin.title;
}
+ public BookPerson(String name, int yearOfBirth) {
+ lastName = name;
+ this.yearOfBirth = yearOfBirth;
+ }
+
public String getLastName() {
return lastName;
}
@@ -849,6 +854,31 @@ public class BinderBookOfVaadinTest {
Assert.assertFalse(saveButton.isEnabled());
}
+ @Test
+ public void writeBean_throwsValidationException_bookExampleShouldCompile() {
+ // The person to edit
+ // Would be loaded from the backend in a real application
+ BookPerson person = new BookPerson("John Doe", 1957);
+
+ // Updates the value in each bound field component
+ binder.readBean(person);
+
+ Button saveButton = new Button("Save", event -> {
+ try {
+ binder.writeBean(person);
+ // A real application would also save the updated person
+ // using the application's backend
+ } catch (ValidationException e) {
+ Notification.show("Person could not be saved, "
+ + "please check error messages for each field.");
+ }
+ });
+
+ // Updates the fields again with the previously saved values
+ Button resetButton = new Button("Reset",
+ event -> binder.readBean(person));
+ }
+
private void verifyEventIsFired(AtomicBoolean flag) {
Assert.assertTrue(flag.get());
flag.set(false);