private List getFormListByVersion()

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;
  }