Pull request #13: RED-2286: FileAttributes were passed to redaction-service in persistence service

Merge in RED/persistence-service from RED-2286-ps1 to master

* commit '6f613d1eedb07fa26cb30093b711b52bb8535519':
  RED-2286: FileAttributes were passed to redaction-service in persistence service
This commit is contained in:
Ali Oezyetimoglu 2021-09-27 14:38:07 +02:00 committed by Dominique Eiflaender
commit 47d4784fdc

View File

@ -10,17 +10,22 @@ import com.iqser.red.service.persistence.management.v1.processor.exception.UserN
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService;
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService;
import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File;
import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileAttribute;
import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus;
import com.iqser.red.service.redaction.v1.model.AnalyzeRequest;
import com.iqser.red.service.redaction.v1.model.AnalyzeResult;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
@ -50,6 +55,7 @@ public class FileStatusService {
public void setExcludedPages(String fileId, Set<Integer> excludedPages) {
fileStatusPersistenceService.setExcludedPages(fileId, excludedPages);
}
@ -60,13 +66,9 @@ public class FileStatusService {
}
public void setStatusSuccessful(String dossierId, String fileId, FileStatus status,
AnalyzeResult analyzeResult) {
public void setStatusSuccessful(String dossierId, String fileId, FileStatus status, AnalyzeResult analyzeResult) {
fileStatusPersistenceService.updateStatusSuccessful(fileId, analyzeResult.getNumberOfPages(), status,
analyzeResult.isHasUpdates(), analyzeResult.getDictionaryVersion(), analyzeResult.getRulesVersion(),
analyzeResult.getLegalBasisVersion(), analyzeResult.getDuration(), analyzeResult.getDossierDictionaryVersion(),
analyzeResult.getAnalysisVersion());
fileStatusPersistenceService.updateStatusSuccessful(fileId, analyzeResult.getNumberOfPages(), status, analyzeResult.isHasUpdates(), analyzeResult.getDictionaryVersion(), analyzeResult.getRulesVersion(), analyzeResult.getLegalBasisVersion(), analyzeResult.getDuration(), analyzeResult.getDossierDictionaryVersion(), analyzeResult.getAnalysisVersion());
}
@ -92,9 +94,11 @@ public class FileStatusService {
@Transactional
public void setStatusReprocess(String dossierId, String fileId, int priority) {
setStatusReprocess(dossierId, fileId, priority, Sets.newHashSet());
}
@Transactional
public void setStatusReprocess(String dossierId, String fileId, int priority, Set<Integer> sectionsToReanalyse) {
@ -140,6 +144,7 @@ public class FileStatusService {
addToAnalysisQueue(dossierId, fileId, priority, Sets.newHashSet());
}
public void setStatusIndexingSuccessful(String fileId) {
File fileStatus = fileStatusPersistenceService.getStatus(fileId);
@ -152,6 +157,7 @@ public class FileStatusService {
fileStatusPersistenceService.updateStatus(fileId, FileStatus.INDEXING);
}
public void setStatusError(String fileId) {
fileStatusPersistenceService.updateStatus(fileId, FileStatus.ERROR);
@ -208,7 +214,7 @@ public class FileStatusService {
return;
}
// var fileAttributes = fileStatus.getFileAttributes();
var fileAttributes = fileStatus.getFileAttributes();
setStatusProcessing(fileId);
@ -219,13 +225,11 @@ public class FileStatusService {
.manualRedactions(manualRedactionProviderService.getManualRedactions(fileId))
.dossierTemplateId(dossier.getDossierTemplateId())
.lastProcessed(fileStatus.getLastProcessed())
//TODO
// .fileAttributes(fileAttributes)
.fileAttributes(convert(fileAttributes))
.build();
if (!fileStatus.getStatus().equals(FileStatus.UNPROCESSED) && !fileStatus.getStatus()
.equals(FileStatus.FULLREPROCESS) && fileStatus.getRulesVersion() == rulesController.getVersion(dossier.getDossierTemplateId()) && (fileStatus
.getLastFileAttributeChange() == null || fileStatus.getLastProcessed()
.equals(FileStatus.FULLREPROCESS) && fileStatus.getRulesVersion() == rulesController.getVersion(dossier.getDossierTemplateId()) && (fileStatus.getLastFileAttributeChange() == null || fileStatus.getLastProcessed()
.isAfter(fileStatus.getLastFileAttributeChange()))) {
analyseRequest.setReanalyseOnlyIfPossible(true);
} else {
@ -263,6 +267,7 @@ public class FileStatusService {
fileStatusPersistenceService.updateLastOCRTime(fileId, OffsetDateTime.now());
}
@Transactional
public void overwriteFile(String dossierId, String fileId, String uploader, String filename, int length) {
@ -270,8 +275,29 @@ public class FileStatusService {
setStatusFullReprocess(dossierId, fileId, length);
}
public List<File> getAllStatuses() {
return fileStatusPersistenceService.getAllStatuses();
}
private List<com.iqser.red.service.redaction.v1.model.FileAttribute> convert(
List<FileAttribute> fileAttributes) {
List<com.iqser.red.service.redaction.v1.model.FileAttribute> fileAttributeList = new ArrayList<>();
for (FileAttribute fileAttribute : fileAttributes) {
com.iqser.red.service.redaction.v1.model.FileAttribute attribute = com.iqser.red.service.redaction.v1.model.FileAttribute.builder()
.id(fileAttribute.getFileAttributeConfig().getId())
.label(fileAttribute.getFileAttributeConfig().getLabel())
.placeholder(fileAttribute.getFileAttributeConfig().getPlaceholder())
.value(fileAttribute.getValue())
.build();
fileAttributeList.add(attribute);
}
return fileAttributeList;
}
}