Ошибка копирования значения в компоненте pickface
Я использую компонент выбора списков простых лиц, который работает нормально
Но проблема в том, что я использую список DTO, после которого можно сериализовать и клонировать структуру DTO, как показано ниже
public class SearchFieldMasterDTO implements Serializable, Clonable {
private static final long serialVersionUID = 1L;
private String id;
private String fieldName;
private String status;
private String columnName;
private List<String> fieldValues;
private String fieldCode;
}
и компонент pickList как,
public class ActionClass {
private DualListModel<SearchFieldMasterDTO> searchFields;
List<SearchFieldMasterDTO> sourceSearchFields;
List<SearchFieldMasterDTO> targetSearchFields;
public init(){
sourceSearchFields = service.getAllFields();
targetSearchFields = new ArrayList<>();
//here all the SearchFieldMasterDTO objects in the list having all the field values invluding getFieldValues() (list of Sting) value
searchFields = new DualListModel<> (sourceSearchFields,targetSearchFields);
}
public void onTransfer() {
sourceSearchFields = searchFields.getSource();
targetSearchFields = searchFields.getTarget();
// here only the getFieldValues() become null
}
}
в событии onTransfer ajax я получаю исходный и целевой список, и я устанавливаю в свой список уровня поля для дальнейшего использования,
проблема заключается в том, что перед созданием DualListModel у sourceList и targetList есть DTO со всеми заполненными значениями,
После переноса одного DTO из sourceList в targetList с использованием primefaces pickList я получаю targetList с помощью метода dualList.getTarget, и он возвращает список с переданным объектом, но единственное значение становится нулевым
Пожалуйста, помогите мне, я подумал, что pickList внутренне выполняет клонирование объектов, так что пропустил поле List of String, и я переопределил метод clone для глубокого клонирования всех значений, но это вовсе не клонирование объекта, который я поставил точку останова в методе clone и я уверен, что он не вызывает метод клона, то, где отсутствует только значение свойства поля Лис из String fieldValues