in ddm-rrm-form-management/src/main/java/com/epam/digital/data/platform/management/forms/service/FormServiceImpl.java [147:188]
private List<FormInfoDto> getFormListByVersion(String versionName, FileStatus skippedStatus) {
var repo =
versionContextComponentManager.getComponent(versionName, VersionedFileRepository.class);
var masterRepo =
versionContextComponentManager.getComponent(
gerritPropertiesConfig.getHeadBranch(), VersionedFileRepository.class);
List<VersionedFileInfoDto> fileList = repo.getFileList(DIRECTORY_PATH);
List<FormInfoDto> forms = new ArrayList<>();
List<String> conflicts = cacheService.getConflictsCache(versionName);
for (VersionedFileInfoDto versionedFileInfoDto : fileList) {
if (versionedFileInfoDto.getStatus().equals(skippedStatus)) {
continue;
}
String formContent;
if (versionedFileInfoDto.getStatus() == FileStatus.DELETED) {
formContent = masterRepo.readFile(getFormPath(versionedFileInfoDto.getName()));
} else {
formContent = repo.readFile(getFormPath(versionedFileInfoDto.getName()));
}
var dates = getDatesFromContent(formContent);
if (Objects.isNull(dates.getCreate()) || Objects.isNull(dates.getUpdate())) {
var path = getFormPath(versionedFileInfoDto.getName());
var datesFromRepo = versionedFileInfoDto.getStatus() == FileStatus.DELETED
? masterRepo.getVersionedFileDates(path) : repo.getVersionedFileDates(path);
if (Objects.nonNull(datesFromRepo)) {
if (Objects.isNull(dates.getCreate())) {
dates.setCreate(datesFromRepo.getCreated());
}
if (Objects.isNull(dates.getUpdate())) {
dates.setUpdate(datesFromRepo.getUpdated());
}
}
}
forms.add(
formMapper.toForm(
versionedFileInfoDto,
dates,
formContent,
conflicts.contains(versionedFileInfoDto.getPath())));
}
return forms;
}