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