From fca6770b652581a947602169a5c095fd2a4b0775 Mon Sep 17 00:00:00 2001 From: maverickstuder Date: Tue, 17 Sep 2024 14:16:14 +0200 Subject: [PATCH 1/2] RED-9348: initial changes for migration of component log to mongo --- .../redaction-service-api-v1/build.gradle.kts | 2 +- .../build.gradle.kts | 2 +- .../v1/server/service/AnalyzeService.java | 2 +- .../ComponentLogCreatorService.java | 3 +- .../storage/RedactionStorageService.java | 33 +++++++++++++------ .../v1/server/DocumineFloraTest.java | 10 +++--- 6 files changed, 32 insertions(+), 20 deletions(-) diff --git a/redaction-service-v1/redaction-service-api-v1/build.gradle.kts b/redaction-service-v1/redaction-service-api-v1/build.gradle.kts index 1f228316..1b3647e9 100644 --- a/redaction-service-v1/redaction-service-api-v1/build.gradle.kts +++ b/redaction-service-v1/redaction-service-api-v1/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } description = "redaction-service-api-v1" -val persistenceServiceVersion = "2.545.0" +val persistenceServiceVersion = "2.562.0-RED9348.0" dependencies { implementation("org.springframework:spring-web:6.0.12") diff --git a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts index 87c4b538..2b17a385 100644 --- a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts +++ b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts @@ -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.545.0" +val persistenceServiceVersion = "2.562.0-RED9348.0" val llmServiceVersion = "1.11.0" val springBootStarterVersion = "3.1.5" val springCloudVersion = "4.0.4" diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/AnalyzeService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/AnalyzeService.java index d5a4ba19..47b6e6de 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/AnalyzeService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/AnalyzeService.java @@ -324,7 +324,7 @@ public class AnalyzeService { ComponentLog componentLog = componentLogCreatorService.buildComponentLog(analyzeRequest.getAnalysisNumber(), components, kieWrapperComponentRules.rulesVersion()); - redactionStorageService.storeObject(analyzeRequest.getDossierId(), analyzeRequest.getFileId(), FileType.COMPONENT_LOG, componentLog); + redactionStorageService.saveComponentLog(analyzeRequest.getDossierId(), analyzeRequest.getFileId(), componentLog); log.info("Stored component log for file {} in dossier {}", analyzeRequest.getFileId(), analyzeRequest.getDossierId()); } diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/components/ComponentLogCreatorService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/components/ComponentLogCreatorService.java index 1f28ff91..4a240150 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/components/ComponentLogCreatorService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/service/components/ComponentLogCreatorService.java @@ -31,7 +31,7 @@ public class ComponentLogCreatorService { }); List componentLogComponents = map.entrySet() .stream() - .map(entry -> new ComponentLogEntry(entry.getKey(), entry.getValue(), false)) + .map(entry -> new ComponentLogEntry(entry.getKey(), entry.getValue(), entry.getValue(), false)) .toList(); return new ComponentLog(analysisNumber, componentRulesVersion, componentLogComponents); } @@ -41,7 +41,6 @@ public class ComponentLogCreatorService { return ComponentLogEntryValue.builder() .value(component.getValue()) - .originalValue(component.getValue()) .componentRuleId(component.getMatchedRule().toString()) .valueDescription(component.getValueDescription()) .componentLogEntityReferences(toComponentEntityReferences(component.getReferences() diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/storage/RedactionStorageService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/storage/RedactionStorageService.java index 1d2c2fbb..26a4e85c 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/storage/RedactionStorageService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/storage/RedactionStorageService.java @@ -25,6 +25,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.imported.ImportedRedactionsPerPage; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileType; import com.iqser.red.service.persistence.service.v1.api.shared.model.redactionlog.RedactionLog; +import com.iqser.red.service.persistence.service.v1.api.shared.mongo.service.ComponentLogMongoService; import com.iqser.red.service.persistence.service.v1.api.shared.mongo.service.EntityLogMongoService; import com.iqser.red.service.redaction.v1.server.client.model.NerEntitiesModel; import com.iqser.red.service.redaction.v1.server.model.document.DocumentData; @@ -52,15 +53,19 @@ public class RedactionStorageService { private final EntityLogMongoService entityLogMongoService; + private final ComponentLogMongoService componentLogMongoService; + private final TaskExecutor taskExecutor; public RedactionStorageService(StorageService storageService, EntityLogMongoService entityLogMongoService, + ComponentLogMongoService componentLogMongoService, @Qualifier(APPLICATION_TASK_EXECUTOR_BEAN_NAME) TaskExecutor taskExecutor) { this.storageService = storageService; this.entityLogMongoService = entityLogMongoService; + this.componentLogMongoService = componentLogMongoService; this.taskExecutor = taskExecutor; } @@ -121,6 +126,13 @@ public class RedactionStorageService { } + + @SneakyThrows + public void saveComponentLog(String dossierId, String fileId, ComponentLog componentLog) { + + componentLogMongoService.saveComponentLog(dossierId, fileId, componentLog); + } + @SneakyThrows public void updateEntityLogEntries(String dossierId, String fileId, List entityLogEntries) { @@ -234,6 +246,17 @@ public class RedactionStorageService { } + public ComponentLog getComponentLog(String dossierId, String fileId) { + + try { + return componentLogMongoService.findComponentLogByDossierIdAndFileId(dossierId, fileId) + .orElseThrow(() -> new StorageObjectDoesNotExist("")); + } catch (StorageObjectDoesNotExist e) { + throw new NotFoundException("Component is not available."); + } + } + + public Set findIdsOfSectionsToReanalyse(String dossierId, String fileId, Collection entryIds) { return entityLogMongoService.findFirstContainingNodeIdForEachEntry(dossierId, fileId, entryIds); @@ -324,16 +347,6 @@ public class RedactionStorageService { } - public ComponentLog getComponentLog(String dossierId, String fileId) { - - try { - return storageService.readJSONObject(TenantContext.getTenantId(), StorageIdUtils.getStorageId(dossierId, fileId, FileType.COMPONENT_LOG), ComponentLog.class); - } catch (StorageObjectDoesNotExist e) { - throw new NotFoundException("Component Log is not available."); - } - } - - public boolean entityLogExists(String dossierId, String fileId) { return entityLogMongoService.entityLogDocumentExists(dossierId, fileId); diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/DocumineFloraTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/DocumineFloraTest.java index d96438fa..c65196c6 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/DocumineFloraTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/DocumineFloraTest.java @@ -176,7 +176,7 @@ public class DocumineFloraTest extends AbstractRedactionIntegrationTest { expectedDates.add("13/08/1992"); expectedDates.add("27/02/1992"); - String dates = experimentalDates.getComponentValues() + String dates = experimentalDates.getValues() .get(0).getValue(); String[] dateArray = dates.split(", "); boolean allEqual = true; @@ -256,7 +256,7 @@ public class DocumineFloraTest extends AbstractRedactionIntegrationTest { .findFirst() .get(); assertEquals("Yes", - glpStudy.getComponentValues() + glpStudy.getValues() .get(0).getValue()); var glpStudyAnnotations = entityLog.getEntityLogEntry() .stream() @@ -287,7 +287,7 @@ public class DocumineFloraTest extends AbstractRedactionIntegrationTest { .findFirst() .get(); assertEquals("No", - glpStudy.getComponentValues() + glpStudy.getValues() .get(0).getValue()); } @@ -306,10 +306,10 @@ public class DocumineFloraTest extends AbstractRedactionIntegrationTest { var componentLog = redactionStorageService.getComponentLog(TEST_DOSSIER_ID, TEST_FILE_ID); var doseMortality = componentLog.getComponentLogEntries().stream().filter(componentLogEntry -> componentLogEntry.getName().equals("Dose_Mortality")).findFirst().get(); - assertEquals(doseMortality.getComponentValues().size(), 5); + assertEquals(doseMortality.getValues().size(), 5); Pattern pattern = Pattern.compile("^5000, [SD]$"); - boolean allMatch = doseMortality.getComponentValues().stream().map(ComponentLogEntryValue::getValue).allMatch(pattern.asPredicate()); + boolean allMatch = doseMortality.getValues().stream().map(ComponentLogEntryValue::getValue).allMatch(pattern.asPredicate()); assertTrue(allMatch); } } -- 2.47.2 From 399b4ade4d052a562dc79615c5180ef0ed236f4b Mon Sep 17 00:00:00 2001 From: maverickstuder Date: Wed, 18 Sep 2024 09:32:49 +0200 Subject: [PATCH 2/2] RED-9348: initial changes for migration of component log to mongo --- redaction-service-v1/redaction-service-api-v1/build.gradle.kts | 2 +- .../redaction-service-server-v1/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/redaction-service-v1/redaction-service-api-v1/build.gradle.kts b/redaction-service-v1/redaction-service-api-v1/build.gradle.kts index 1b3647e9..84df7f67 100644 --- a/redaction-service-v1/redaction-service-api-v1/build.gradle.kts +++ b/redaction-service-v1/redaction-service-api-v1/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } description = "redaction-service-api-v1" -val persistenceServiceVersion = "2.562.0-RED9348.0" +val persistenceServiceVersion = "2.562.0-RED9348.2" dependencies { implementation("org.springframework:spring-web:6.0.12") diff --git a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts index 2b17a385..d2166f92 100644 --- a/redaction-service-v1/redaction-service-server-v1/build.gradle.kts +++ b/redaction-service-v1/redaction-service-server-v1/build.gradle.kts @@ -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.562.0-RED9348.0" +val persistenceServiceVersion = "2.562.0-RED9348.2" val llmServiceVersion = "1.11.0" val springBootStarterVersion = "3.1.5" val springCloudVersion = "4.0.4" -- 2.47.2