How can Vaadin handle JavaBeans with non primative attributes

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.