--- /dev/null
+package com.vaadin.tests.fieldbinder;\r
+\r
+import com.vaadin.data.fieldbinder.BeanFieldBinder;\r
+import com.vaadin.data.fieldbinder.FieldBinder;\r
+import com.vaadin.data.fieldbinder.FormBuilder;\r
+import com.vaadin.data.fieldbinder.PropertyId;\r
+import com.vaadin.data.util.BeanItem;\r
+import com.vaadin.tests.components.TestBase;\r
+import com.vaadin.tests.data.bean.Address;\r
+import com.vaadin.tests.data.bean.Country;\r
+import com.vaadin.tests.data.bean.Person;\r
+import com.vaadin.tests.data.bean.Sex;\r
+import com.vaadin.ui.TextField;\r
+\r
+public class FormBuilderWithNestedProperties extends TestBase {\r
+\r
+ private TextField firstName;\r
+ private TextField lastName;\r
+ @PropertyId("address.streetAddress")\r
+ private TextField streetAddress;\r
+\r
+ @Override\r
+ protected void setup() {\r
+ FieldBinder fieldBinder = new BeanFieldBinder<Person>(Person.class);\r
+ FormBuilder b = new FormBuilder(fieldBinder);\r
+ b.buildAndBindFields(this);\r
+\r
+ addComponent(firstName);\r
+ addComponent(lastName);\r
+ addComponent(streetAddress);\r
+\r
+ fieldBinder.setItemDataSource(new BeanItem<Person>(new Person("Who",\r
+ "me?", "email", 1, Sex.MALE, new Address("street name", 202020,\r
+ "City", Country.FINLAND))));\r
+ }\r
+\r
+ @Override\r
+ protected String getDescription() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+ @Override\r
+ protected Integer getTicketNumber() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r