public HashMap<String, Object> getData() { HashMap<String, Object> values = new HashMap<String, Object>(); Set<String> keys = formitemMap.keySet(); for (String key : keys) { FieldDefinitionItem item = formitemMap.get(key); FieldDefinition fieldDef = item.getFieldDef(); Object value = item.getFormItem().getValue(); if (fieldDef.getFieldType() == FieldDefinition.FT_COMBO || fieldDef.getFieldType() == FieldDefinition.FT_SELECTION || fieldDef.getFieldType() == FieldDefinition.FT_CHK_GRID || fieldDef.getFieldType() == FieldDefinition.FT_MAP_ITEM || fieldDef.getFieldType() == FieldDefinition.FT_IMAGE_ITEM || fieldDef.getFieldType() == FieldDefinition.FT_CUSTOM) { if (value != null) { if (!fieldDef.isDisplayValueIgnored()) value = new String[] {value.toString(), item.getFormItem().getDisplayValue()}; } } if (fieldDef.getFieldType() == FieldDefinition.FT_DATE) { if (value != null) { Date dt = (Date) value; value = new String[] {dt.getTime() + "", dt.toString()}; } } if (fieldDef.getFieldType() == FieldDefinition.FT_BOOLEAN) { if (value != null) { Boolean dt = false; try { if (value instanceof Boolean) dt = (Boolean) value; else dt = (Boolean) (Integer.parseInt(value.toString()) == 1); } catch (Exception e) { // TODO: handle exception } value = new String[] {(dt.booleanValue() ? 1 : 0) + "", dt.toString()}; } } values.put(key, value); } return values; }