@@ -176,8 +176,9 @@ public class DesignAttributeHandler implements Serializable { | |||
.getPropertyDescriptors()) { | |||
Method getter = descriptor.getReadMethod(); | |||
Method setter = descriptor.getWriteMethod(); | |||
if (getter != null && setter != null && getFormatter() | |||
.canConvert(descriptor.getPropertyType())) { | |||
Class<?> propertyType = descriptor.getPropertyType(); | |||
if (getter != null && setter != null && propertyType != null | |||
&& getFormatter().canConvert(propertyType)) { | |||
String attribute = toAttributeName(descriptor.getName()); | |||
entry.addAttribute(attribute, getter, setter); | |||
} |
@@ -70,6 +70,20 @@ public class ComboBoxDeclarativeTest | |||
testWrite(design, comboBox); | |||
} | |||
@Test | |||
public void extendedComboBox() { | |||
ExtendedComboBox combo = new ExtendedComboBox(); | |||
String design = "<html>" // | |||
+ "<head>" // | |||
+ "<meta name='package-mapping' content='com_vaadin_tests_server_component_combobox:com.vaadin.tests.server.component.combobox'>" | |||
+ "</meta>" + "</head>" + "<body>" | |||
+ "<com_vaadin_tests_server_component_combobox-extended-combo-box>" | |||
+ "</com_vaadin_tests_server_component_combobox-extended-combo-box>" | |||
+ "</body></html>"; | |||
testWrite(design, combo); | |||
testRead(design, combo); | |||
} | |||
@Test | |||
public void optionStylesSerialization() throws InstantiationException, | |||
IllegalAccessException, InvocationTargetException { |
@@ -0,0 +1,8 @@ | |||
package com.vaadin.tests.server.component.combobox; | |||
import com.vaadin.tests.data.bean.Person; | |||
import com.vaadin.ui.ComboBox; | |||
public class ExtendedComboBox extends ComboBox<Person> { | |||
} |