RED-2372
This commit is contained in:
parent
dbc6063e8c
commit
c8f81d5e52
@ -1,10 +1,12 @@
|
|||||||
package com.iqser.red.service.persistence.management.v1.processor.service.persistence;
|
package com.iqser.red.service.persistence.management.v1.processor.service.persistence;
|
||||||
|
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeConfigEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierRepository;
|
||||||
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileAttributesRepository;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.FileRepository;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus;
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -14,7 +16,9 @@ import javax.transaction.Transactional;
|
|||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@ -23,7 +27,9 @@ public class FileStatusPersistenceService {
|
|||||||
|
|
||||||
private final FileRepository fileRepository;
|
private final FileRepository fileRepository;
|
||||||
private final DossierRepository dossierRepository;
|
private final DossierRepository dossierRepository;
|
||||||
|
private final FileAttributesRepository fileAttributesRepository;
|
||||||
|
private final FileAttributeConfigPersistenceService fileAttributeConfigPersistenceService;
|
||||||
|
private final DossierPersistenceService dossierService;
|
||||||
|
|
||||||
public void createStatus(String dossierId, String fileId, String filename, String uploader) {
|
public void createStatus(String dossierId, String fileId, String filename, String uploader) {
|
||||||
|
|
||||||
@ -181,14 +187,18 @@ public class FileStatusPersistenceService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public void setFileAttributes(String fileId, List<FileAttributeEntity> fileAttributes) {
|
public void setFileAttributes(String dossierId, String fileId, Map<String, String> fileAttributes) {
|
||||||
|
|
||||||
|
fileAttributesRepository.deleteByFileId(fileId);
|
||||||
|
|
||||||
fileRepository.findById(fileId).ifPresentOrElse((file) -> {
|
fileRepository.findById(fileId).ifPresentOrElse((file) -> {
|
||||||
|
var fileAttributeEntities = convertFileAttributes(dossierId, file, fileAttributes);
|
||||||
file.setLastFileAttributeChange(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
file.setLastFileAttributeChange(OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS));
|
||||||
file.setFileAttributes(fileAttributes);
|
file.setFileAttributes(fileAttributeEntities);
|
||||||
}, () -> {
|
}, () -> {
|
||||||
throw new NotFoundException("Unknown file=" + fileId);
|
throw new NotFoundException("Unknown file=" + fileId);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@ -327,8 +337,21 @@ public class FileStatusPersistenceService {
|
|||||||
}, () -> {
|
}, () -> {
|
||||||
throw new NotFoundException("Unknown file=" + fileId);
|
throw new NotFoundException("Unknown file=" + fileId);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<FileAttributeEntity> convertFileAttributes(String dossierId, FileEntity file, Map<String, String> fileAttributesMap) {
|
||||||
|
var dossier = dossierService.getAndValidateDossier(dossierId);
|
||||||
|
List<FileAttributeConfigEntity> configuration = fileAttributeConfigPersistenceService.getFileAttributes(dossier.getDossierTemplateId());
|
||||||
|
|
||||||
|
return fileAttributesMap.entrySet().stream().map(entry -> {
|
||||||
|
var fa = new FileAttributeEntity();
|
||||||
|
fa.setFileAttributeId(new FileAttributeEntity.FileAttributeEntityId());
|
||||||
|
fa.setFile(file);
|
||||||
|
fa.setFileAttributeConfig(configuration.stream().filter(c -> c.getId().equals(entry.getKey())).findAny().orElseThrow(() ->
|
||||||
|
new BadRequestException("Invalid File Attribute Id")));
|
||||||
|
fa.setValue(entry.getValue());
|
||||||
|
return fa;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -11,4 +11,7 @@ public interface FileAttributesRepository extends JpaRepository<FileAttributeEnt
|
|||||||
@Query("DELETE FROM FileAttributeEntity f where f.fileAttributeId.fileAttributeConfigId = :fileAttributeConfigId")
|
@Query("DELETE FROM FileAttributeEntity f where f.fileAttributeId.fileAttributeConfigId = :fileAttributeConfigId")
|
||||||
void deleteByFileAttributeConfigId(String fileAttributeConfigId);
|
void deleteByFileAttributeConfigId(String fileAttributeConfigId);
|
||||||
|
|
||||||
|
@Modifying
|
||||||
|
@Query("DELETE FROM FileAttributeEntity f where f.fileAttributeId.fileId = :fileId")
|
||||||
|
void deleteByFileId(String fileId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import com.iqser.red.service.peristence.v1.server.service.FileStatusService;
|
|||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.FileAttributesGeneralConfigurationEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.configuration.FileAttributesGeneralConfigurationEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.DossierEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeConfigEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeConfigEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeEntity;
|
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileAttributeConfigPersistenceService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileAttributeConfigPersistenceService;
|
||||||
@ -111,7 +110,7 @@ public class FileAttributesController implements FileAttributesResource {
|
|||||||
|
|
||||||
String fileId = fileStatusByFilename.get(fileStatusMappingColumn.trim()).getId();
|
String fileId = fileStatusByFilename.get(fileStatusMappingColumn.trim()).getId();
|
||||||
|
|
||||||
fileStatusPersistenceService.setFileAttributes(fileId, convertFileAttributes(dossierId, fileId, attributeIdToValue));
|
fileStatusPersistenceService.setFileAttributes(dossierId, fileId, attributeIdToValue);
|
||||||
affectedFileIds.add(fileId);
|
affectedFileIds.add(fileId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,23 +122,7 @@ public class FileAttributesController implements FileAttributesResource {
|
|||||||
public void setFileAttributes(@PathVariable(DOSSIER_ID_PARAM) String dossierId,
|
public void setFileAttributes(@PathVariable(DOSSIER_ID_PARAM) String dossierId,
|
||||||
@PathVariable(FILE_ID) String fileId, @RequestBody Map<String, String> fileAttributesMap) {
|
@PathVariable(FILE_ID) String fileId, @RequestBody Map<String, String> fileAttributesMap) {
|
||||||
|
|
||||||
fileStatusPersistenceService.setFileAttributes(fileId, convertFileAttributes(dossierId, fileId, fileAttributesMap));
|
fileStatusPersistenceService.setFileAttributes(dossierId, fileId, fileAttributesMap);
|
||||||
}
|
|
||||||
|
|
||||||
private List<FileAttributeEntity> convertFileAttributes(String dossierId, String fileId, Map<String, String> fileAttributesMap) {
|
|
||||||
var dossier = dossierService.getDossierById(dossierId);
|
|
||||||
var file = fileStatusService.getStatus(fileId);
|
|
||||||
List<FileAttributeConfigEntity> configuration = fileAttributeConfigPersistenceService.getFileAttributes(dossier.getDossierTemplateId());
|
|
||||||
|
|
||||||
return fileAttributesMap.entrySet().stream().map(entry -> {
|
|
||||||
var fa = new FileAttributeEntity();
|
|
||||||
fa.setFileAttributeId(new FileAttributeEntity.FileAttributeEntityId());
|
|
||||||
fa.setFile(file);
|
|
||||||
fa.setFileAttributeConfig(configuration.stream().filter(c -> c.getId().equals(entry.getKey())).findAny().orElseThrow(() ->
|
|
||||||
new BadRequestException("Invalid File Attribute Id")));
|
|
||||||
fa.setValue(entry.getValue());
|
|
||||||
return fa;
|
|
||||||
}).collect(Collectors.toList());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -2,13 +2,10 @@ package com.iqser.red.service.peristence.v1.server.service;
|
|||||||
|
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.*;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus;
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus;
|
||||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.time.OffsetDateTime;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@ -18,22 +15,12 @@ public class ExcludeFromAnalysisService {
|
|||||||
private final static Set<FileStatus> VALID_STATES_FOR_EXCLUSION = Sets.newHashSet(FileStatus.UNASSIGNED, FileStatus.UNDER_REVIEW, FileStatus.UNDER_APPROVAL);
|
private final static Set<FileStatus> VALID_STATES_FOR_EXCLUSION = Sets.newHashSet(FileStatus.UNASSIGNED, FileStatus.UNDER_REVIEW, FileStatus.UNDER_APPROVAL);
|
||||||
|
|
||||||
private final FileStatusService fileStatusService;
|
private final FileStatusService fileStatusService;
|
||||||
private final FileManagementStorageService fileManagementStorageService;
|
|
||||||
|
|
||||||
private final LegalBasisChangePersistenceService legalBasisChangePersistenceService;
|
|
||||||
private final ImageRecategorizationPersistenceService imageRecategorizationPersistenceService;
|
|
||||||
private final CommentPersistenceService commentPersistenceService;
|
|
||||||
private final ForceRedactionPersistenceService forceRedactionPersistenceService;
|
|
||||||
private final RemoveRedactionPersistenceService removeRedactionPersistenceService;
|
|
||||||
private final AddRedactionPersistenceService addRedactionPersistenceService;
|
|
||||||
private final FileStatusPersistenceService fileStatusPersistenceService;
|
|
||||||
|
|
||||||
public void toggleExclusion(String dossierId, String fileId, boolean excluded) {
|
public void toggleExclusion(String dossierId, String fileId, boolean excluded) {
|
||||||
|
|
||||||
var status = fileStatusService.getStatus(fileId);
|
var status = fileStatusService.getStatus(fileId);
|
||||||
|
|
||||||
OffsetDateTime now = OffsetDateTime.now();
|
|
||||||
|
|
||||||
if (!VALID_STATES_FOR_EXCLUSION.contains(status.getStatus())) {
|
if (!VALID_STATES_FOR_EXCLUSION.contains(status.getStatus())) {
|
||||||
throw new BadRequestException("Files in status " + status.getStatus() + " cannot be excluded/included");
|
throw new BadRequestException("Files in status " + status.getStatus() + " cannot be excluded/included");
|
||||||
}
|
}
|
||||||
@ -45,39 +32,9 @@ public class ExcludeFromAnalysisService {
|
|||||||
// if file has been re-enabled - process it
|
// if file has been re-enabled - process it
|
||||||
fileStatusService.setStatusFullReprocess(dossierId, fileId, 2);
|
fileStatusService.setStatusFullReprocess(dossierId, fileId, 2);
|
||||||
} else {
|
} else {
|
||||||
// remove everything related to redaction
|
fileStatusService.wipeFileData(dossierId, fileId);
|
||||||
fileManagementStorageService.deleteObject(dossierId, fileId, FileType.REDACTION_LOG);
|
|
||||||
fileManagementStorageService.deleteObject(dossierId, fileId, FileType.TEXT);
|
|
||||||
fileManagementStorageService.deleteObject(dossierId, fileId, FileType.SECTION_GRID);
|
|
||||||
|
|
||||||
// wipe comments
|
|
||||||
var comments = commentPersistenceService.findCommentsByFileID(fileId, false);
|
|
||||||
comments.forEach((key, value) -> value.forEach(comment ->
|
|
||||||
commentPersistenceService.softDelete(comment.getId(), now)));
|
|
||||||
|
|
||||||
// wipe force redactions
|
|
||||||
var forceRedactions = forceRedactionPersistenceService.findForceRedactions(fileId, false);
|
|
||||||
forceRedactions.forEach(f -> forceRedactionPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now));
|
|
||||||
|
|
||||||
// wipe add manual redactions
|
|
||||||
var addRedactions = addRedactionPersistenceService.findAddRedactions(fileId, false);
|
|
||||||
addRedactions.forEach(f -> addRedactionPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now));
|
|
||||||
|
|
||||||
// wipe removeRedactions
|
|
||||||
var removeRedactions = removeRedactionPersistenceService.findRemoveRedactions(fileId, false);
|
|
||||||
removeRedactions.forEach(f -> removeRedactionPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now));
|
|
||||||
|
|
||||||
// wipe image recat
|
|
||||||
var imageRecategorizations = imageRecategorizationPersistenceService.findRecategorizations(fileId, false);
|
|
||||||
imageRecategorizations.forEach(f -> imageRecategorizationPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now));
|
|
||||||
|
|
||||||
// wipe legal basis changes
|
|
||||||
var legalBasisChanges = legalBasisChangePersistenceService.findLegalBasisChanges(fileId, false);
|
|
||||||
legalBasisChanges.forEach(f -> legalBasisChangePersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now));
|
|
||||||
|
|
||||||
fileStatusPersistenceService.updateHasComments(fileId, false);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,9 +9,9 @@ import com.iqser.red.service.peristence.v1.server.controller.RulesController;
|
|||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileAttributeEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.UserNotFoundException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.UserNotFoundException;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService;
|
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.*;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService;
|
|
||||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus;
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileStatus;
|
||||||
|
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.FileType;
|
||||||
import com.iqser.red.service.redaction.v1.model.AnalyzeRequest;
|
import com.iqser.red.service.redaction.v1.model.AnalyzeRequest;
|
||||||
import com.iqser.red.service.redaction.v1.model.AnalyzeResult;
|
import com.iqser.red.service.redaction.v1.model.AnalyzeResult;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -38,6 +38,15 @@ public class FileStatusService {
|
|||||||
private final RulesController rulesController;
|
private final RulesController rulesController;
|
||||||
private final ManualRedactionProviderService manualRedactionProviderService;
|
private final ManualRedactionProviderService manualRedactionProviderService;
|
||||||
|
|
||||||
|
private final FileManagementStorageService fileManagementStorageService;
|
||||||
|
|
||||||
|
private final LegalBasisChangePersistenceService legalBasisChangePersistenceService;
|
||||||
|
private final ImageRecategorizationPersistenceService imageRecategorizationPersistenceService;
|
||||||
|
private final CommentPersistenceService commentPersistenceService;
|
||||||
|
private final ForceRedactionPersistenceService forceRedactionPersistenceService;
|
||||||
|
private final RemoveRedactionPersistenceService removeRedactionPersistenceService;
|
||||||
|
private final AddRedactionPersistenceService addRedactionPersistenceService;
|
||||||
|
|
||||||
|
|
||||||
public List<FileEntity> getDossierStatus(String dossierId) {
|
public List<FileEntity> getDossierStatus(String dossierId) {
|
||||||
|
|
||||||
@ -265,6 +274,7 @@ public class FileStatusService {
|
|||||||
public void overwriteFile(String dossierId, String fileId, String uploader, String filename, int length) {
|
public void overwriteFile(String dossierId, String fileId, String uploader, String filename, int length) {
|
||||||
|
|
||||||
fileStatusPersistenceService.overwriteFile(fileId, uploader, filename);
|
fileStatusPersistenceService.overwriteFile(fileId, uploader, filename);
|
||||||
|
wipeFileData(dossierId,fileId);
|
||||||
setStatusFullReprocess(dossierId, fileId, length);
|
setStatusFullReprocess(dossierId, fileId, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -275,6 +285,43 @@ public class FileStatusService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void wipeFileData(String dossierId, String fileId){
|
||||||
|
OffsetDateTime now = OffsetDateTime.now();
|
||||||
|
// remove everything related to redaction
|
||||||
|
fileManagementStorageService.deleteObject(dossierId, fileId, FileType.REDACTION_LOG);
|
||||||
|
fileManagementStorageService.deleteObject(dossierId, fileId, FileType.TEXT);
|
||||||
|
fileManagementStorageService.deleteObject(dossierId, fileId, FileType.SECTION_GRID);
|
||||||
|
|
||||||
|
// wipe comments
|
||||||
|
var comments = commentPersistenceService.findCommentsByFileID(fileId, false);
|
||||||
|
comments.forEach((key, value) -> value.forEach(comment ->
|
||||||
|
commentPersistenceService.softDelete(comment.getId(), now)));
|
||||||
|
|
||||||
|
// wipe force redactions
|
||||||
|
var forceRedactions = forceRedactionPersistenceService.findForceRedactions(fileId, false);
|
||||||
|
forceRedactions.forEach(f -> forceRedactionPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now));
|
||||||
|
|
||||||
|
// wipe add manual redactions
|
||||||
|
var addRedactions = addRedactionPersistenceService.findAddRedactions(fileId, false);
|
||||||
|
addRedactions.forEach(f -> addRedactionPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now));
|
||||||
|
|
||||||
|
// wipe removeRedactions
|
||||||
|
var removeRedactions = removeRedactionPersistenceService.findRemoveRedactions(fileId, false);
|
||||||
|
removeRedactions.forEach(f -> removeRedactionPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now));
|
||||||
|
|
||||||
|
// wipe image recat
|
||||||
|
var imageRecategorizations = imageRecategorizationPersistenceService.findRecategorizations(fileId, false);
|
||||||
|
imageRecategorizations.forEach(f -> imageRecategorizationPersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now));
|
||||||
|
|
||||||
|
// wipe legal basis changes
|
||||||
|
var legalBasisChanges = legalBasisChangePersistenceService.findLegalBasisChanges(fileId, false);
|
||||||
|
legalBasisChanges.forEach(f -> legalBasisChangePersistenceService.softDelete(fileId, f.getId().getAnnotationId(), now));
|
||||||
|
|
||||||
|
fileStatusPersistenceService.updateHasComments(fileId, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private List<com.iqser.red.service.redaction.v1.model.FileAttribute> convert(
|
private List<com.iqser.red.service.redaction.v1.model.FileAttribute> convert(
|
||||||
List<FileAttributeEntity> fileAttributes) {
|
List<FileAttributeEntity> fileAttributes) {
|
||||||
|
|
||||||
|
|||||||
@ -121,7 +121,13 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest {
|
|||||||
|
|
||||||
|
|
||||||
fileAttributes = fileClient.getFileStatus(dossier.getId(), file.getId()).getFileAttributes();
|
fileAttributes = fileClient.getFileStatus(dossier.getId(), file.getId()).getFileAttributes();
|
||||||
assertThat(fileAttributes.size()).isEqualTo(3);
|
assertThat(fileAttributes.size()).isEqualTo(2);
|
||||||
|
|
||||||
|
fileAttributes.put(fileAttributes.keySet().iterator().next(), "changed");
|
||||||
|
fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), fileAttributes);
|
||||||
|
|
||||||
|
fileAttributes = fileClient.getFileStatus(dossier.getId(), file.getId()).getFileAttributes();
|
||||||
|
assertThat(fileAttributes.size()).isEqualTo(2);
|
||||||
|
|
||||||
|
|
||||||
fileAttributeConfigClient.setFileAttributesConfig(dossier.getDossierTemplateId(), Lists.newArrayList());
|
fileAttributeConfigClient.setFileAttributesConfig(dossier.getDossierTemplateId(), Lists.newArrayList());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user