public Map<String,Object> getPropertiesMap() {
Map<String,Object> map = new HashMap<String,Object>();
for (Object propertyId : propertiesForm.getItemPropertyIds()) {
Property prop = (Property)propertyId;
com.vaadin.ui.Field field = propertiesForm.getField(propertyId);
Object obj = field.getValue();
if (obj == null) { // TODO this is at least strange and should be reconsidered
if (Boolean.class.equals(prop.getType()))
obj = Boolean.FALSE;
else if (String.class.equals(prop.getType()))
obj = "";
}
map.put(prop.getPropertyId(), obj);
}
return map;
}