in ddm-rrm-file-management/src/main/java/com/epam/digital/data/platform/management/filemanagement/service/VersionedFileRepositoryImpl.java [49:75]
public List<VersionedFileInfoDto> getFileList(@NonNull String path) {
Map<String, VersionedFileInfoDto> filesInMaster = gitService.getFilesInPath(versionId, path)
.stream()
.filter(Predicate.not(DOT_GIT_KEEP::equals))
.map(el -> {
var filePath = FilenameUtils.normalize(Path.of(path, el).toString(), true);
return mapper.toVersionedFileInfoDto(filePath);
})
.collect(Collectors.toMap(VersionedFileInfoDto::getName, Function.identity()));
gerritService.getListOfChangesInMR(getChangeId()).forEach((key, value) -> {
if (key.startsWith(path)) {
VersionedFileInfoDto filesResponseDto = searchFileInMap(filesInMaster, key);
if (filesResponseDto == null) {
filesInMaster.put(FilenameUtils.getBaseName(key), VersionedFileInfoDto.builder()
.name(FilenameUtils.getBaseName(key))
.status(getStatus(value))
.build());
} else {
filesResponseDto.setStatus(getStatus(value));
}
}
});
var forms = new ArrayList<>(filesInMaster.values());
forms.sort(Comparator.comparing(VersionedFileInfoDto::getName));
return forms;
}