in ddm-rrm-business-process-management/src/main/java/com/epam/digital/data/platform/management/service/impl/BusinessProcessServiceImpl.java [167:210]
private List<BusinessProcessInfoDto> getProcessesByVersion(String versionName,
FileStatus skippedStatus) {
List<VersionedFileInfoDto> fileList;
var repo =
versionContextComponentManager.getComponent(versionName, VersionedFileRepository.class);
fileList = repo.getFileList(DIRECTORY_PATH);
var masterRepo =
versionContextComponentManager.getComponent(
gerritPropertiesConfig.getHeadBranch(), VersionedFileRepository.class);
List<BusinessProcessInfoDto> processes = new ArrayList<>();
List<String> conflicts = cacheService.getConflictsCache(versionName);
for (VersionedFileInfoDto versionedFileInfoDto : fileList) {
if (versionedFileInfoDto.getStatus().equals(skippedStatus)) {
continue;
}
String processContent;
if (versionedFileInfoDto.getStatus() == FileStatus.DELETED) {
processContent = masterRepo.readFile(getProcessPath(versionedFileInfoDto.getName()));
} else {
processContent = repo.readFile(getProcessPath(versionedFileInfoDto.getName()));
}
var dates = getDatesFromContent(processContent);
if (Objects.isNull(dates.getCreate()) || Objects.isNull(dates.getUpdate())) {
var path = getProcessPath(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());
}
}
}
processes.add(
mapper.toBusinessProcess(
versionedFileInfoDto,
dates,
getAttributeFromContent(processContent, "name"),
conflicts.contains(versionedFileInfoDto.getPath())));
}
return processes;
}