RED-9947 && RED-10104

This commit is contained in:
Maverick Studer 2024-09-27 11:05:26 +02:00
parent 98456ceb6d
commit dbe8e08bba
4 changed files with 14 additions and 20 deletions

View File

@ -4,7 +4,7 @@ plugins {
}
description = "redaction-service-api-v1"
val persistenceServiceVersion = "2.572.0"
val persistenceServiceVersion = "2.574.0"
dependencies {
implementation("org.springframework:spring-web:6.0.12")

View File

@ -16,7 +16,7 @@ val layoutParserVersion = "0.174.0"
val jacksonVersion = "2.15.2"
val droolsVersion = "9.44.0.Final"
val pdfBoxVersion = "3.0.0"
val persistenceServiceVersion = "2.572.0"
val persistenceServiceVersion = "2.574.0"
val llmServiceVersion = "1.11.0"
val springBootStarterVersion = "3.1.5"
val springCloudVersion = "4.0.4"

View File

@ -9,9 +9,7 @@ import org.springframework.stereotype.Service;
import com.iqser.red.service.persistence.service.v1.api.shared.model.AnalyzeRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.BulkLocalRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.BulkLocalResponse;
import com.iqser.red.service.persistence.service.v1.api.shared.model.EntityPosition;
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLogEntry;
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Position;
import com.iqser.red.service.persistence.service.v1.api.shared.model.FoundTerm;
import com.iqser.red.service.redaction.v1.model.QueueNames;
import com.iqser.red.service.redaction.v1.server.model.document.entity.TextEntity;
import com.iqser.red.service.redaction.v1.server.model.document.nodes.Document;
@ -54,21 +52,21 @@ public class DocumentSearchService {
possibleEntities = entityFindingUtility.findAllPossibleEntitiesByValueOnPages(document, searchTerm, bulkLocalRequest.isCaseSensitive(), pageNumbers);
}
List<EntityPosition> entityPositions = possibleEntities.stream()
List<FoundTerm> foundTerms = possibleEntities.stream()
.flatMap(entity -> entityLogCreatorService.toEntityLogEntries(entity, 0, "", "")
.stream())
.map(entityLogEntry -> new EntityPosition(entityLogEntry.getPositions()))
.map(entityLogEntry -> new FoundTerm(entityLogEntry.getPositions(), entityLogEntry.getValue()))
.toList();
BulkLocalResponse bulkLocalResponse = BulkLocalResponse.builder()
.dossierId(analyzeRequest.getDossierId())
.fileId(analyzeRequest.getFileId())
.searchTerm(searchTerm)
.type(bulkLocalRequest.getType())
.reason(bulkLocalRequest.getReason())
.legalBasis(bulkLocalRequest.getLegalBasis())
.section(bulkLocalRequest.getSection())
.entityPositions(entityPositions)
.foundTerms(foundTerms)
.comment(bulkLocalRequest.getComment())
.build();
rabbitTemplate.convertAndSend(QueueNames.SEARCH_TERM_OCCURRENCES_RESPONSE_EXCHANGE, TenantContext.getTenantId(), bulkLocalResponse);

View File

@ -1,8 +1,6 @@
package com.iqser.red.service.redaction.v1.server.service.document;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@ -32,9 +30,8 @@ import com.iqser.red.commons.jackson.ObjectMapperFactory;
import com.iqser.red.service.persistence.service.v1.api.shared.model.AnalyzeRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.BulkLocalRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.BulkLocalResponse;
import com.iqser.red.service.persistence.service.v1.api.shared.model.EntityPosition;
import com.iqser.red.service.persistence.service.v1.api.shared.model.FoundTerm;
import com.iqser.red.service.persistence.service.v1.api.shared.model.RuleFileType;
import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.Position;
import com.iqser.red.service.persistence.service.v1.api.shared.model.common.JSONPrimitive;
import com.iqser.red.service.redaction.v1.model.QueueNames;
import com.iqser.red.service.redaction.v1.server.AbstractRedactionIntegrationTest;
@ -111,22 +108,22 @@ public class DocumentSearchServiceTest extends AbstractRedactionIntegrationTest
analyzeDocumentStructure(LayoutParsingType.REDACT_MANAGER, request);
analyzeService.analyze(request);
BulkLocalRequest bulkLocalRequest = BulkLocalRequest.builder().searchTerm("AAOEL").type("type").reason("reason").legalBasis("legalBasis").build();
BulkLocalRequest bulkLocalRequest = BulkLocalRequest.builder().searchTerm("AAOEL").type("type").reason("reason").legalBasis("legalBasis").comment("comment").build();
request.setBulkLocalRequest(bulkLocalRequest);
documentSearchService.searchTermOccurrences(request);
verify(rabbitTemplate).convertAndSend(eq(QueueNames.SEARCH_TERM_OCCURRENCES_RESPONSE_EXCHANGE), eq(TenantContext.getTenantId()), captor.capture());
BulkLocalResponse response = captor.getValue();
List<EntityPosition> entityPositions = response.getEntityPositions();
assertEquals(entityPositions.size(), 5);
List<FoundTerm> foundTerms = response.getFoundTerms();
assertEquals(foundTerms.size(), 5);
assertEquals(response.getDossierId(), request.getDossierId());
assertEquals(response.getFileId(), request.getFileId());
assertEquals(response.getSearchTerm(), bulkLocalRequest.getSearchTerm());
assertEquals(response.getType(), bulkLocalRequest.getType());
assertEquals(response.getReason(), bulkLocalRequest.getReason());
assertEquals(response.getLegalBasis(), bulkLocalRequest.getLegalBasis());
assertEquals(response.getSection(), bulkLocalRequest.getSection());
assertEquals(response.getComment(), bulkLocalRequest.getComment());
}
@ -147,11 +144,10 @@ public class DocumentSearchServiceTest extends AbstractRedactionIntegrationTest
verify(rabbitTemplate).convertAndSend(eq(QueueNames.SEARCH_TERM_OCCURRENCES_RESPONSE_EXCHANGE), eq(TenantContext.getTenantId()), captor.capture());
BulkLocalResponse response = captor.getValue();
List<EntityPosition> entityPositions = response.getEntityPositions();
assertEquals(entityPositions.size(), 3);
List<FoundTerm> foundTerms = response.getFoundTerms();
assertEquals(foundTerms.size(), 3);
assertEquals(response.getDossierId(), request.getDossierId());
assertEquals(response.getFileId(), request.getFileId());
assertEquals(response.getSearchTerm(), bulkLocalRequest.getSearchTerm());
assertEquals(response.getType(), bulkLocalRequest.getType());
assertEquals(response.getReason(), bulkLocalRequest.getReason());
assertEquals(response.getLegalBasis(), bulkLocalRequest.getLegalBasis());