Ошибка копирования значения в компоненте 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

0 ответов

Другие вопросы по тегам