I have a Bean that looks like this
Class Person{
private String name;
private int age
private java.utils.Properties attributes
public String getName() { return name; }
public int getAge() { return age; }
public java.utils.Properties getAttributes () { return attributes; }
public void setName(String name) { this.name=name; }
public void setAge(int age) { this.age=age; }
public void setAttributes (java.utils.Properties attributes) { this.attributes = attributes; }
}
Trying to use Vaadin Forms ]to allow the editing of the Bean, i assign the Bean to the Vaadin Form using
form.setItemDataSource(new BeanItem<Person>(person);
The form displays correct with the attributes showing
“{eye.colour=green,hair.colour=brown}”
But when trying to commit any changes, a Conversion error is thrown in regards to Properties. not having a string constructor.
How can a Vaadin Forms handle Java Beans with non primitive types properties ?
A better solution would be a way of resetting the properties, and parsing a string in to a new java.utils.Properties properties object.