Hi
I am trying to load the composition Entity from another Entity inside “initNewItem” and getting the following exception
java.lang.IllegalStateException: Invalid datasource state: INVALID
at com.haulmont.cuba.gui.data.impl.CollectionPropertyDatasourceImpl.checkState(CollectionPropertyDatasourceImpl.java:267)
at com.haulmont.cuba.gui.data.impl.CollectionPropertyDatasourceImpl.addItem(CollectionPropertyDatasourceImpl.java:283)
at com.company.team.gui.recruitmentinterviewappraisal.RecruitmentInterviewAppraisalEdit.loadCriteria(RecruitmentInterviewAppraisalEdit.java:66)
Here is my code:
@Override
protected void initNewItem(RecruitmentInterviewAppraisal item) {
Date date = new Date();
item.setInterviewDate(date);
loadCriteria(item);
}
private void loadCriteria(RecruitmentInterviewAppraisal item){
recruitmentInterviewEvaluationCriteriasDs.refresh();
showNotification("size " + recruitmentInterviewEvaluationCriteriasDs.size(), NotificationType.HUMANIZED);
for (RecruitmentInterviewEvaluationCriteria criteria : recruitmentInterviewEvaluationCriteriasDs.getItems()){
if(criteria.getName() !=null){
RecruitmentInterviewAppraisalDetail detail = metadata.create(RecruitmentInterviewAppraisalDetail.class);
detail.setRecruitmentInterviewEvaluationCriteria(criteria);
detail.setRecruitmentInterviewAppraisal(item);
recruitmentInterviewAppraisalDetailDs.addItem(detail);
}
}
recruitmentInterviewAppraisalDetailDs.refresh();
recruitmentInterviewAppraisalDetailTable.repaint();
}
Line 66 is this:
recruitmentInterviewAppraisalDetailDs.addItem(detail);