public void updateForm()

in ddm-rrm-form-management/src/main/java/com/epam/digital/data/platform/management/forms/service/FormServiceImpl.java [103:126]


  public void updateForm(String content, String formName, String versionName, String eTag) {
    String formPath = getFormPath(formName);
    LocalDateTime time = LocalDateTime.now();
    var repo =
        versionContextComponentManager.getComponent(versionName, VersionedFileRepository.class);
    FileDatesDto fileDatesDto = FileDatesDto.builder().build();
    if (repo.isFileExists(formPath)) {
      String oldContent = repo.readFile(formPath);
      //ignore update if difference only in modified date
      if (StringsComparisonUtils.compareIgnoringSubstring(
          oldContent, content,
          "\"modified\":",
          "Z\"")) {
        return;
      }
      fileDatesDto = getDatesFromContent(oldContent);
    }
    if (fileDatesDto.getCreate() == null) {
      var repoDates = repo.getVersionedFileDates(formPath);
      fileDatesDto.setCreate(Objects.isNull(repoDates) ? time : repoDates.getCreated());
    }
    content = addDatesToContent(content, fileDatesDto.getCreate(), time);
    repo.writeFile(formPath, content, eTag);
  }