From 860876d311fdc42174590ed816b0b09f243362e6 Mon Sep 17 00:00:00 2001 From: John Ahlroos Date: Thu, 28 Feb 2013 12:07:35 +0200 Subject: Fixed BindException when binding nested properties with BeanFieldGroup.buildAndBind() #11009 Change-Id: I9bf646b7d8b767c78506a62185ce5dca9dcae7ad --- server/src/com/vaadin/data/fieldgroup/BeanFieldGroup.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'server/src') diff --git a/server/src/com/vaadin/data/fieldgroup/BeanFieldGroup.java b/server/src/com/vaadin/data/fieldgroup/BeanFieldGroup.java index 7e44c26c9e..b0d03af8d6 100644 --- a/server/src/com/vaadin/data/fieldgroup/BeanFieldGroup.java +++ b/server/src/com/vaadin/data/fieldgroup/BeanFieldGroup.java @@ -110,8 +110,7 @@ public class BeanFieldGroup extends FieldGroup { return (BeanItem) super.getItemDataSource(); } - @Override - public void bind(Field field, Object propertyId) { + private void ensureNestedPropertyAdded(Object propertyId) { if (getItemDataSource() != null) { // The data source is set so the property must be found in the item. // If it is not we try to add it. @@ -123,10 +122,21 @@ public class BeanFieldGroup extends FieldGroup { getItemDataSource().addNestedProperty((String) propertyId); } } + } + @Override + public void bind(Field field, Object propertyId) { + ensureNestedPropertyAdded(propertyId); super.bind(field, propertyId); } + @Override + public Field buildAndBind(String caption, Object propertyId) + throws BindException { + ensureNestedPropertyAdded(propertyId); + return super.buildAndBind(caption, propertyId); + } + @Override protected void configureField(Field field) { super.configureField(field); -- cgit v1.2.3