package com.constellio.app.modules.tasks.ui.components.fields.list; import com.constellio.app.modules.tasks.model.wrappers.structures.TaskReminder; import com.constellio.app.modules.tasks.ui.components.converters.TaskReminderVOToStringConverter; import com.constellio.app.modules.tasks.ui.components.fields.TaskReminderFieldImpl; import com.constellio.app.modules.tasks.ui.entities.TaskReminderVO; import com.constellio.app.ui.framework.components.fields.list.ListAddRemoveField; @SuppressWarnings("unchecked") public class ListAddRemoveTaskReminderField extends ListAddRemoveField<TaskReminderVO, TaskReminderFieldImpl> { private TaskReminderVOToStringConverter converter = new TaskReminderVOToStringConverter(); @Override protected TaskReminderFieldImpl newAddEditField() { return new TaskReminderFieldImpl(); } //FIXME should be always Vo or not @Override protected String getItemCaption(Object itemId) { if (itemId instanceof TaskReminderVO) { return converter.convertToPresentation((TaskReminderVO) itemId, String.class, getLocale()); } else { return converter.convertToPresentation(toTaskReminderVO((TaskReminder) itemId), String.class, getLocale()); } } private TaskReminderVO toTaskReminderVO(TaskReminder taskReminder) { return new TaskReminderVO(taskReminder.getFixedDate(), taskReminder.getNumberOfDaysToRelativeDate(), taskReminder.getRelativeDateMetadataCode(), taskReminder.isBeforeRelativeDate()); } }