From 5c8d4c1f5dfa4f6fb2e73728e2c0512d3e5c7446 Mon Sep 17 00:00:00 2001 From: Jonni Nakari Date: Thu, 13 Dec 2012 14:58:18 +0200 Subject: Search fields from superclasses #10504 Modified buildAndBindMemberFields method to use a new getFieldsInDeclareOrder method that searches fields also from superclasses. Added a unit test to verify the new logic. Fixes the issue in ticket #10504 Change-Id: Ic855e274c5b4d1c83760d6c2c53c67413a1da42c --- .../data/util/ReflectToolsGetSuperField.java | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 server/tests/src/com/vaadin/data/util/ReflectToolsGetSuperField.java (limited to 'server/tests') diff --git a/server/tests/src/com/vaadin/data/util/ReflectToolsGetSuperField.java b/server/tests/src/com/vaadin/data/util/ReflectToolsGetSuperField.java new file mode 100644 index 0000000000..efba6085ac --- /dev/null +++ b/server/tests/src/com/vaadin/data/util/ReflectToolsGetSuperField.java @@ -0,0 +1,34 @@ +package com.vaadin.data.util; + +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +import com.vaadin.data.fieldgroup.FieldGroup; +import com.vaadin.data.fieldgroup.PropertyId; +import com.vaadin.ui.TextField; + +public class ReflectToolsGetSuperField { + + @Test + public void getFieldFromSuperClass() { + class MyClass { + @PropertyId("testProperty") + TextField test = new TextField("This is a test"); + } + class MySubClass extends MyClass { + // no fields here + } + + PropertysetItem item = new PropertysetItem(); + item.addItemProperty("testProperty", new ObjectProperty("Value of testProperty")); + + MySubClass form = new MySubClass(); + + FieldGroup binder = new FieldGroup(item); + binder.bindMemberFields(form); + + assertTrue("Value of testProperty".equals(form.test.getValue())); + } + +} -- cgit v1.2.3