use of org.hisp.dhis.dxf2.events.trackedentity.Relationships in project dhis2-core by dhis2.
the class AbstractRelationshipService method processRelationshipList.
@Override
@Transactional
public ImportSummaries processRelationshipList(List<Relationship> relationships, ImportOptions importOptions) {
ImportSummaries importSummaries = new ImportSummaries();
importOptions = updateImportOptions(importOptions);
List<Relationship> create = new ArrayList<>();
List<Relationship> update = new ArrayList<>();
List<Relationship> delete = new ArrayList<>();
if (importOptions.getImportStrategy().isCreate()) {
create.addAll(relationships);
} else if (importOptions.getImportStrategy().isCreateAndUpdate()) {
for (Relationship relationship : relationships) {
sortCreatesAndUpdates(relationship, create, update);
}
} else if (importOptions.getImportStrategy().isUpdate()) {
update.addAll(relationships);
} else if (importOptions.getImportStrategy().isDelete()) {
delete.addAll(relationships);
} else if (importOptions.getImportStrategy().isSync()) {
for (Relationship relationship : relationships) {
sortCreatesAndUpdates(relationship, create, update);
}
}
importSummaries.addImportSummaries(addRelationships(create, importOptions));
importSummaries.addImportSummaries(updateRelationships(update, importOptions));
importSummaries.addImportSummaries(deleteRelationships(delete, importOptions));
if (ImportReportMode.ERRORS == importOptions.getReportMode()) {
importSummaries.getImportSummaries().removeIf(is -> !is.hasConflicts());
}
return importSummaries;
}
Aggregations