From 6f4a43b034fa145f22393736d2c24db83b9c0bd6 Mon Sep 17 00:00:00 2001 From: Maverick Studer Date: Mon, 7 Oct 2024 11:08:20 +0200 Subject: [PATCH] RED-10146: Include defined components in component log --- .../processor/service/FileStatusService.java | 22 ++++++++++++++----- .../v1/api/shared/model/AnalyzeRequest.java | 4 ++++ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java index a09065336..08b25f337 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java @@ -4,6 +4,7 @@ import static com.knecon.fforesight.service.layoutparser.internal.api.queue.Layo import java.time.OffsetDateTime; import java.util.ArrayList; +import java.util.Comparator; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -24,6 +25,7 @@ import org.springframework.stereotype.Service; import com.google.common.collect.Sets; import com.iqser.red.service.pdftron.redaction.v1.api.model.ProcessUntouchedDocumentRequest; import com.iqser.red.service.persistence.management.v1.processor.configuration.MessagingConfiguration; +import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.ComponentDefinitionEntity; 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.exception.InternalServerErrorException; @@ -36,6 +38,7 @@ import com.iqser.red.service.persistence.management.v1.processor.model.VisualLay import com.iqser.red.service.persistence.management.v1.processor.model.image.ImageServiceRequest; import com.iqser.red.service.persistence.management.v1.processor.service.layoutparsing.LayoutParsingRequestFactory; import com.iqser.red.service.persistence.management.v1.processor.service.manualredactions.ManualRedactionProviderService; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.ComponentDefinitionPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileAttributeConfigPersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileStatusPersistenceService; @@ -53,6 +56,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.AnalyzeRequ import com.iqser.red.service.persistence.service.v1.api.shared.model.AnalyzeResult; import com.iqser.red.service.persistence.service.v1.api.shared.model.FileAttribute; import com.iqser.red.service.persistence.service.v1.api.shared.model.MessageType; +import com.iqser.red.service.persistence.service.v1.api.shared.model.component.ComponentDefinition; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileErrorInfo; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileModel; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileType; @@ -101,6 +105,7 @@ public class FileStatusService { FileManagementServiceSettings fileManagementServiceSettings; LayoutParsingRequestFactory layoutParsingRequestFactory; ComponentMappingService componentMappingService; + ComponentDefinitionPersistenceService componentDefinitionPersistenceService; EntityLogMongoService entityLogMongoService; ComponentLogMongoService componentLogMongoService; @@ -291,6 +296,7 @@ public class FileStatusService { .sectionsToReanalyse(sectionsToReanalyse) .fileId(fileId) .manualRedactions(manualRedactionProviderService.getManualRedactions(fileId, ManualChangesQueryOptions.allWithoutDeleted())) + .componentDefinitions(convertComponentDefinitions(componentDefinitionPersistenceService.findByDossierTemplateIdAndNotSoftDeleted(dossierTemplate.getId()))) .componentMappings(componentMappingService.getMetaDataByDossierTemplateId(dossierTemplate.getId())) .dossierTemplateId(dossier.getDossierTemplateId()) .lastProcessed(fileModel.getLastProcessed()) @@ -496,6 +502,15 @@ public class FileStatusService { } + private List convertComponentDefinitions(List componentDefinitionEntities) { + + return componentDefinitionEntities.stream() + .map(entity -> MagicConverter.convert(entity, ComponentDefinition.class)) + .sorted(Comparator.comparingInt(ComponentDefinition::getRank)) + .collect(Collectors.toList()); + } + + public List convertAttributes(List fileAttributes, String dossierTemplateId) { List fileAttributeList = new ArrayList<>(); @@ -612,12 +627,7 @@ public class FileStatusService { @Transactional - public void setStatusReprocess(String dossierId, - String fileId, - boolean priority, - Set sectionsToReanalyse, - boolean triggeredManually, - boolean manualRedactionReanalyse) { + public void setStatusReprocess(String dossierId, String fileId, boolean priority, Set sectionsToReanalyse, boolean triggeredManually, boolean manualRedactionReanalyse) { log.info("Reprocessing file: {} from dossier {}", fileId, dossierId); diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/AnalyzeRequest.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/AnalyzeRequest.java index 29014cc47..db4338a53 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/AnalyzeRequest.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/AnalyzeRequest.java @@ -7,6 +7,7 @@ import java.util.List; import java.util.Set; import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.ManualRedactions; +import com.iqser.red.service.persistence.service.v1.api.shared.model.component.ComponentDefinition; import com.iqser.red.service.persistence.service.v1.api.shared.model.component.ComponentMappingMetadata; import lombok.AllArgsConstructor; @@ -38,5 +39,8 @@ public class AnalyzeRequest { @Builder.Default private List componentMappings = new ArrayList<>(); + @Builder.Default + private List componentDefinitions = new ArrayList<>(); + }