From 4c79b8c2f4bf0ac03b51d415caaa7c93888d4255 Mon Sep 17 00:00:00 2001 From: Maverick Studer Date: Mon, 7 Oct 2024 11:08:24 +0200 Subject: [PATCH] RED-10146: Include defined components in component log --- .../processor/service/FileStatusService.java | 24 +++++++++++++------ .../v1/api/shared/model/AnalyzeRequest.java | 4 ++++ 2 files changed, 21 insertions(+), 7 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 6c2fd8649..40b92e306 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.iqser.red.service.persistence.management.v1.processor.configur 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; @@ -17,6 +18,7 @@ import com.google.common.collect.Sets; import com.iqser.red.service.pdftron.redaction.v1.api.model.ApplicationType; 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.BadRequestException; @@ -35,6 +37,7 @@ import com.iqser.red.service.persistence.management.v1.processor.service.layoutp import com.iqser.red.service.persistence.management.v1.processor.service.layoutparsing.LayoutParsingRequestFactory; import com.iqser.red.service.persistence.management.v1.processor.service.layoutparsing.QueueMessageIdentifierService; 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.DossierTemplatePersistenceService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.FileAttributeConfigPersistenceService; @@ -57,6 +60,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.BulkLocalRe 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.NerServiceRequest; +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; @@ -109,9 +113,9 @@ public class FileStatusService { FileManagementServiceSettings fileManagementServiceSettings; LayoutParsingRequestFactory layoutParsingRequestFactory; ComponentMappingService componentMappingService; + ComponentDefinitionPersistenceService componentDefinitionPersistenceService; EntityLogMongoService entityLogMongoService; ComponentLogMongoService componentLogMongoService; - ComponentLogService componentLogService; WebsocketService websocketService; @@ -356,6 +360,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()) @@ -615,6 +620,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<>(); @@ -735,12 +749,7 @@ public class FileStatusService { @Transactional - public void setStatusReprocess(String dossierId, - String fileId, - boolean priority, - Set sectionsToReanalyse, - boolean triggeredManually, - AnalysisType analysisType) { + public void setStatusReprocess(String dossierId, String fileId, boolean priority, Set sectionsToReanalyse, boolean triggeredManually, AnalysisType analysisType) { log.info("Reprocessing file: {} from dossier {}", fileId, dossierId); @@ -767,6 +776,7 @@ public class FileStatusService { setStatusReprocess(dossierId, fileId, priority, Sets.newHashSet(), false, AnalysisType.MANUAL_REDACTION_REANALYZE); } + @Transactional public void setStatusReprocessForComponentsOnly(String dossierId, String fileId, boolean priority) { 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 33475b450..68d4cdae2 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,6 +39,9 @@ public class AnalyzeRequest { @Builder.Default private List componentMappings = new ArrayList<>(); + @Builder.Default + private List componentDefinitions = new ArrayList<>(); + private BulkLocalRequest bulkLocalRequest; }