Merge branch 'RED-6543' into 'master'
RED-6543: Fixed file attribute scheduling race condition Closes RED-6543 See merge request redactmanager/persistence-service!22
This commit is contained in:
commit
e94b2b0e83
@ -258,8 +258,8 @@ public class FileStatusPersistenceService {
|
||||
|
||||
var fileAttributeEntities = convertFileAttributes(dossierId, file, fileAttributes);
|
||||
fileAttributesRepository.saveAllAndFlush(fileAttributeEntities);
|
||||
fileRepository.updateLastAttributeChangeDate(fileId, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
|
||||
file.setLastFileAttributeChange(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||
}, () -> {
|
||||
throw new NotFoundException("Unknown file=" + fileId);
|
||||
});
|
||||
|
||||
@ -124,8 +124,12 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(loadedConfigs.size()).isEqualTo(4);
|
||||
assertThat(updated.getLabel()).isEqualTo("Test Attribute Update");
|
||||
|
||||
assertThat(fileClient.getFileStatus(dossier.getId(), file.getId()).getLastFileAttributeChange()).isNull();
|
||||
|
||||
fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(updated.getId(), "Lorem Ipsum")));
|
||||
|
||||
assertThat(fileClient.getFileStatus(dossier.getId(), file.getId()).getLastFileAttributeChange()).isNotNull();
|
||||
|
||||
Map<String, String> fileAttributes = fileClient.getFileStatus(dossier.getId(), file.getId()).getFileAttributes().getAttributeIdToValue();
|
||||
assertThat(fileAttributes.size()).isEqualTo(1);
|
||||
assertThat(fileAttributes.entrySet().iterator().next().getValue()).isEqualTo("Lorem Ipsum");
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.iqser.red.service.persistence.service.v1.api.shared.model;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@ -16,5 +18,10 @@ public class FileAttribute {
|
||||
private String placeholder;
|
||||
private String value;
|
||||
|
||||
|
||||
public boolean valueEqualsAnyOf(String... values){
|
||||
|
||||
return Arrays.asList(values).contains(value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user