From a1b6e0c2519efb13016eae90b3e13ea928daed30 Mon Sep 17 00:00:00 2001 From: maverickstuder Date: Thu, 14 Mar 2024 09:17:12 +0100 Subject: [PATCH] RED-8702 --- .../processor/service/EntityLogService.java | 2 +- .../ManualRedactionMapper.java | 3 +- .../ManualRedactionService.java | 2 +- .../ManualRedactionUndoService.java | 2 +- .../PendingDictionaryEntryFactory.java | 8 +- .../v1/server/integration/tests/FileTest.java | 7 +- .../tests/ManualRedactionTest.java | 166 ++++++------------ .../AbstractPersistenceServerServiceTest.java | 6 +- .../analysislog/entitylog/CascadeSave.java | 12 -- .../analysislog/entitylog/EntityLog.java | 42 ----- .../analysislog/entitylog/EntityLogEntry.java | 6 +- 11 files changed, 65 insertions(+), 191 deletions(-) delete mode 100644 persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/CascadeSave.java diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EntityLogService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EntityLogService.java index 0b072f6a8..2273df9bd 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EntityLogService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/EntityLogService.java @@ -80,7 +80,7 @@ public class EntityLogService { Map commentCountPerAnnotationId = commentService.getCommentCounts(fileId); entityLog.getEntityLogEntry() - .forEach(entityLogEntry -> entityLogEntry.setNumberOfComments(commentCountPerAnnotationId.getOrDefault(entityLogEntry.getEntryId(), 0))); + .forEach(entityLogEntry -> entityLogEntry.setNumberOfComments(commentCountPerAnnotationId.getOrDefault(entityLogEntry.getId(), 0))); return entityLog; } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionMapper.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionMapper.java index 5e97f775f..664b9fc3c 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionMapper.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionMapper.java @@ -10,6 +10,7 @@ import java.util.Set; import org.springframework.stereotype.Service; +import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException; import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException; import com.iqser.red.service.persistence.management.v1.processor.service.EntityLogService; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLog; @@ -188,7 +189,7 @@ public class ManualRedactionMapper { return entityLog.getEntityLogEntry() .stream() - .filter(entry -> entry.getEntryId().equals(annotationId)) + .filter(entry -> entry.getId().equals(annotationId)) .findFirst() .orElseThrow(() -> new NotFoundException("Annotation does not exist in entity log.")); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionService.java index f093bb021..c6fd8a3e9 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionService.java @@ -351,7 +351,7 @@ public class ManualRedactionService { return entityLog.getEntityLogEntry() .stream() - .filter(entry -> entry.getEntryId().equals(annotationId)) + .filter(entry -> entry.getId().equals(annotationId)) .findFirst() .orElseThrow(() -> new NotFoundException("Annotation does not exist in entity log.")); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionUndoService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionUndoService.java index 1d888d790..467256b36 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionUndoService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/ManualRedactionUndoService.java @@ -343,7 +343,7 @@ public class ManualRedactionUndoService { return entityLog.getEntityLogEntry() .stream() - .filter(entry -> entry.getEntryId().equals(annotationId)) + .filter(entry -> entry.getId().equals(annotationId)) .findFirst() .orElseThrow(() -> new NotFoundException("Annotation does not exist in entity log.")); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/PendingDictionaryEntryFactory.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/PendingDictionaryEntryFactory.java index f3460335e..bd376e63d 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/PendingDictionaryEntryFactory.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/manualredactions/PendingDictionaryEntryFactory.java @@ -35,7 +35,7 @@ public class PendingDictionaryEntryFactory { .propertyChanges(Map.of("value", manualRedactionEntry.getValue())) .build()); return EntityLogEntry.builder() - .entryId(manualRedactionEntry.getAnnotationId()) + .id(manualRedactionEntry.getAnnotationId()) .value(manualRedactionEntry.getValue()) .type(manualRedactionEntry.getType()) .entryType(Optional.ofNullable(manualRedactionEntry.getDictionaryEntryType()) @@ -82,7 +82,7 @@ public class PendingDictionaryEntryFactory { .build()); return EntityLogEntry.builder() - .entryId(originalEntry.getEntryId()) + .id(originalEntry.getId()) .value(originalEntry.getValue()) .type(originalEntry.getType()) .entryType(originalEntry.getEntryType()) @@ -121,7 +121,7 @@ public class PendingDictionaryEntryFactory { .propertyChanges(propertyChanges) .build()); return EntityLogEntry.builder() - .entryId(originalEntry.getEntryId()) + .id(originalEntry.getId()) .value(manualChange.getValue()) .type(originalEntry.getType()) .entryType(originalEntry.getEntryType()) @@ -176,7 +176,7 @@ public class PendingDictionaryEntryFactory { .build()); return EntityLogEntry.builder() - .entryId(originalEntry.getEntryId()) + .id(originalEntry.getId()) .value(originalEntry.getValue()) .type(manualChange.getType()) .entryType(originalEntry.getEntryType()) diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java index a98221160..7ebcf07e7 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java @@ -369,13 +369,10 @@ public class FileTest extends AbstractPersistenceServerServiceTest { var type = typeProvider.testAndProvideType(dossierTemplate, null, "manual"); var annotationId = "imagine_this_makes_sense"; - EntityLog entityLog = new EntityLog(dossierId, - fileId, - 1, + EntityLog entityLog = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId(annotationId) + .id(annotationId) .type(type.getType()) .value("value entry") .state(EntryState.APPLIED) diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java index b880edbb0..6ecb7df18 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java @@ -45,7 +45,10 @@ 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.EntityLogEntry; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryState; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntryType; +import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.AddRedactionRequest; +import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.ManualRedactions; import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.Rectangle; +import com.iqser.red.service.persistence.service.v1.api.shared.model.annotations.entitymapped.ManualRedactionEntry; 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.dossiertemplate.type.DictionaryEntryType; import com.iqser.red.service.persistence.service.v1.api.shared.model.manual.AddRedactionRequestModel; @@ -121,13 +124,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), List.of("Luke Skywalker"), false, dossier.getId(), DictionaryEntryType.ENTRY); - var entityLog = new EntityLog(dossier.getId(), - file.getFileId(), - 1, + var entityLog = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("AnnotationId") + .id("AnnotationId") .type(type.getType()) .value("Luke Skywalker") .entryType(EntryType.ENTITY) @@ -318,13 +318,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { Dictionary dossierDictionary = dictionaryClient.getDictionaryForType(type.getType(), type.getDossierTemplateId(), dossier.getId()); assertThat(dossierDictionary.getEntries()).containsExactlyInAnyOrder("Luke Skywalker"); - var entityLog = new EntityLog(dossier.getId(), - file.getFileId(), - 1, + var entityLog = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("AnnotationId") + .id("AnnotationId") .type("test") .value("Luke Skywalker") .entryType(EntryType.ENTITY) @@ -381,13 +378,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { // CreateTypeValue dossierDictionaryType = MagicConverter.convert(type, CreateTypeValue.class); // dictionaryClient.addType(dossierDictionaryType, dossier.getId()); - var entityLog = new EntityLog(dossier.getId(), - file.getFileId(), - 1, + var entityLog = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("AnnotationId") + .id("AnnotationId") .type("test") .value("Luke Skywalker") .entryType(EntryType.ENTITY) @@ -439,13 +433,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { // dictionaryClient.addType(dossierDictionaryType, dossier.getId()); dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), List.of("Luke Skywalker"), false, dossier.getId(), DictionaryEntryType.ENTRY); - var entityLog = new EntityLog(dossier.getId(), - file.getFileId(), - 1, + var entityLog = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("AnnotationId") + .id("AnnotationId") .type("test") .value("Luke Skywalker") .entryType(EntryType.ENTITY) @@ -529,13 +520,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { var addRedactions = manualRedactionClient.addRedactionBulk(dossier1.getId(), file1.getId(), Set.of(redactionDos, redactionDosTempDict)); var loadedRedactionsFile1 = manualRedactionClient.getManualRedactions(file1.getDossierId(), file1.getFileId(), false, true); - var entityLog1 = new EntityLog(dossier1.getId(), - file1.getFileId(), - 1, + var entityLog1 = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId())) - .entryId(addRedactions.get(0).getAnnotationId()) + .id(addRedactions.get(0).getAnnotationId()) .type(typeDosDict.getType()) .value("test redaction in dossier") .dossierDictionaryEntry(true) @@ -543,8 +531,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .state(EntryState.APPLIED) .build(), EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId())) - .entryId(addRedactions.get(1).getAnnotationId()) + .id(addRedactions.get(1).getAnnotationId()) .type(typeDosTempDict.getType()) .value("test redaction in dossier template") .dictionaryEntry(true) @@ -560,13 +547,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { var redactionRequest1 = RedactionRequest.builder().dossierId(file1.getDossierId()).fileId(file1.getFileId()).dossierTemplateId(file1.getDossierTemplateId()).build(); when(entityLogService.getEntityLog(eq(file1.getDossierId()), eq(file1.getFileId()), any(), anyBoolean())).thenReturn(entityLog1); - var entityLog2 = new EntityLog(dossier2.getId(), - file2.getFileId(), - 1, + var entityLog2 = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier2.getId(), file2.getFileId())) - .entryId(addRedactions.get(1).getAnnotationId()) + .id(addRedactions.get(1).getAnnotationId()) .type(typeDosTempDict.getType()) .value("test redaction in dossier template") .dictionaryEntry(true) @@ -701,13 +685,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { var addRedactions = manualRedactionClient.addRedactionBulk(dossier1.getId(), file1.getId(), Set.of(redactionDos, redactionDosTempDict)); var loadedRedactionsFile1 = manualRedactionClient.getManualRedactions(file1.getDossierId(), file1.getFileId(), false, true); - var entityLog1 = new EntityLog(dossier1.getId(), - file1.getFileId(), - 1, + var entityLog1 = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId())) - .entryId(addRedactions.get(0).getAnnotationId()) + .id(addRedactions.get(0).getAnnotationId()) .type(typeDosDict.getType()) .value("test redaction in dossier yayy") .dossierDictionaryEntry(true) @@ -715,8 +696,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .state(EntryState.APPLIED) .build(), EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId())) - .entryId(addRedactions.get(1).getAnnotationId()) + .id(addRedactions.get(1).getAnnotationId()) .type(typeDosTempDict.getType()) .value("test redaction in dossier template yayy") .dictionaryEntry(true) @@ -732,13 +712,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { var redactionRequest1 = RedactionRequest.builder().dossierId(file1.getDossierId()).fileId(file1.getFileId()).dossierTemplateId(file1.getDossierTemplateId()).build(); when(entityLogService.getEntityLog(eq(file1.getDossierId()), eq(file1.getFileId()), any(), anyBoolean())).thenReturn(entityLog1); - var entityLog2 = new EntityLog(dossier2.getId(), - file2.getFileId(), - 1, + var entityLog2 = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier2.getId(), file2.getFileId())) - .entryId(addRedactions.get(1).getAnnotationId()) + .id(addRedactions.get(1).getAnnotationId()) .type(typeDosTempDict.getType()) .value("test redaction in dossier template yayy") .dictionaryEntry(true) @@ -877,13 +854,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { var addRedactions = manualRedactionClient.addRedactionBulk(dossier1.getId(), file1.getId(), Set.of(redactionDos, redactionDosTempDict)); - var entityLog1 = new EntityLog(dossier1.getId(), - file1.getFileId(), - 1, + var entityLog1 = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId())) - .entryId(addRedactions.get(0).getAnnotationId()) + .id(addRedactions.get(0).getAnnotationId()) .type(typeDosDict.getType()) .value("test redaction in dossier") .dossierDictionaryEntry(true) @@ -891,8 +865,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .state(EntryState.APPLIED) .build(), EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId())) - .entryId(addRedactions.get(1).getAnnotationId()) + .id(addRedactions.get(1).getAnnotationId()) .type(typeDosTempDict.getType()) .value("test redaction in dossier template") .dictionaryEntry(true) @@ -908,13 +881,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { var redactionRequest1 = RedactionRequest.builder().dossierId(file1.getDossierId()).fileId(file1.getFileId()).dossierTemplateId(file1.getDossierTemplateId()).build(); when(entityLogService.getEntityLog(file1.getDossierId(), file1.getFileId())).thenReturn(entityLog1); - var entityLog2 = new EntityLog(dossier2.getId(), - file2.getFileId(), - 1, + var entityLog2 = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier2.getId(), file2.getFileId())) - .entryId(addRedactions.get(1).getAnnotationId()) + .id(addRedactions.get(1).getAnnotationId()) .type(typeDosTempDict.getType()) .value("test redaction in dossier template") .dictionaryEntry(true) @@ -1050,13 +1020,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { var addRedactions = manualRedactionClient.addRedactionBulk(dossier1.getId(), file1.getId(), Set.of(redactionDos, redactionDosTempDict)); - var entityLog1 = new EntityLog(dossier1.getId(), - file1.getFileId(), - 1, + var entityLog1 = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId())) - .entryId(addRedactions.get(0).getAnnotationId()) + .id(addRedactions.get(0).getAnnotationId()) .type(typeDosDict.getType()) .value("test redaction in dossier yayy") .dossierDictionaryEntry(true) @@ -1064,8 +1031,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .state(EntryState.APPLIED) .build(), EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier1.getId(), file1.getFileId())) - .entryId(addRedactions.get(1).getAnnotationId()) + .id(addRedactions.get(1).getAnnotationId()) .type(typeDosTempDict.getType()) .value("test redaction in dossier template yayy") .dictionaryEntry(true) @@ -1081,13 +1047,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { var redactionRequest1 = RedactionRequest.builder().dossierId(file1.getDossierId()).fileId(file1.getFileId()).dossierTemplateId(file1.getDossierTemplateId()).build(); when(entityLogService.getEntityLog(file1.getDossierId(), file1.getFileId())).thenReturn(entityLog1); - var entityLog2 = new EntityLog(dossier2.getId(), - file2.getFileId(), - 1, + var entityLog2 = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier2.getId(), file2.getFileId())) - .entryId(addRedactions.get(1).getAnnotationId()) + .id(addRedactions.get(1).getAnnotationId()) .type(typeDosTempDict.getType()) .value("test redaction in dossier template yayy") .dictionaryEntry(true) @@ -1208,13 +1171,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(dossierDictionary2.getEntries()).isEmpty(); var annotationId = "AnnotationId"; - var entityLog = new EntityLog(dossier.getId(), - file.getFileId(), - 1, + var entityLog = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId(annotationId) + .id(annotationId) .type(type.getType()) .value(lukeSkywalker) .dictionaryEntry(true) @@ -1296,13 +1256,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { assertThat(dossierDictionary2.getEntries()).isEmpty(); var annotationId = "AnnotationId"; - var entityLog = new EntityLog(dossier.getId(), - file.getFileId(), - 1, + var entityLog = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId(annotationId) + .id(annotationId) .type(type.getType()) .value(lukeSkywalker) .dictionaryEntry(true) @@ -1471,13 +1428,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), List.of("Anakin"), false, dossier.getId(), DictionaryEntryType.ENTRY); - var entityLog = new EntityLog(dossier.getId(), - file.getFileId(), - 1, + var entityLog = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("AnnotationId") + .id("AnnotationId") .type(type.getType()) .value("Anakin") .entryType(EntryType.ENTITY) @@ -1485,8 +1439,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .dictionaryEntry(false) .build(), EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("AnnotationId2") + .id("AnnotationId2") .type(type.getType()) .value("Anakin2") .entryType(EntryType.ENTITY) @@ -1674,13 +1627,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), List.of("Darth Vader"), false, dossier.getId(), DictionaryEntryType.ENTRY); - var entityLog = new EntityLog(dossier.getId(), - file.getFileId(), - 1, + var entityLog = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("dv") + .id("dv") .type(type.getType()) .value("Darth Vader") .entryType(EntryType.ENTITY) @@ -1688,8 +1638,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .dictionaryEntry(false) .build(), EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("dv2") + .id("dv2") .type(type.getType()) .value("Vader Darth") .entryType(EntryType.ENTITY) @@ -1790,13 +1739,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), List.of("Luke Skywalker"), false, dossier.getId(), DictionaryEntryType.ENTRY); - var entityLog = new EntityLog(dossier.getId(), - file.getFileId(), - 1, + var entityLog = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("AnnotationId") + .id("AnnotationId") .type(type.getType()) .value("Luke Skywalker") .entryType(EntryType.ENTITY) @@ -1804,8 +1750,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .dictionaryEntry(false) .build(), EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("AnnotationId2") + .id("AnnotationId2") .type(type.getType()) .value("Skywalker Luke") .entryType(EntryType.ENTITY) @@ -1904,13 +1849,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { dictionaryClient.addEntry(type.getType(), type.getDossierTemplateId(), List.of("Luke Skywalker"), false, dossier.getId(), DictionaryEntryType.ENTRY); - var entityLog = new EntityLog(dossier.getId(), - file.getFileId(), - 1, + var entityLog = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("AnnotationId") + .id("AnnotationId") .type(type.getType()) .value("Luke Skywalker") .entryType(EntryType.ENTITY) @@ -1918,8 +1860,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .dictionaryEntry(false) .build(), EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("AnnotationId2") + .id("AnnotationId2") .type(type.getType()) .value("Skywalker Luke") .entryType(EntryType.ENTITY) @@ -1984,13 +1925,10 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { var type = typeProvider.testAndProvideType(dossierTemplate, null, "type", false); - var entityLog = new EntityLog(dossier.getId(), - file.getFileId(), - 1, + var entityLog = new EntityLog(1, 1, List.of(EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("annotationId") + .id("annotationId") .type(type.getType()) .value("lukeSkywalker") .dictionaryEntry(true) @@ -1998,8 +1936,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .state(EntryState.APPLIED) .build(), EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("annotationId2") + .id("annotationId2") .type(type.getType()) .value("Johannisbrotkernmehl") .dictionaryEntry(true) @@ -2007,8 +1944,7 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { .state(EntryState.APPLIED) .build(), EntityLogEntry.builder() - .entityLogId(EntityLog.getId(dossier.getId(), file.getFileId())) - .entryId("annotationId3") + .id("annotationId3") .type(type.getType()) .value("Baustelle") .dictionaryEntry(true) diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java index 5014aca79..6a2c43035 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/utils/AbstractPersistenceServerServiceTest.java @@ -299,10 +299,8 @@ public abstract class AbstractPersistenceServerServiceTest { // doNothing().when(pdfTronRedactionClient).testDigitalCurrentSignature(Mockito.any()); when(amqpAdmin.getQueueInfo(Mockito.any())).thenReturn(null); - when(entityLogService.getEntityLog(Mockito.any(), Mockito.any())).thenReturn(new EntityLog("", "", 1, 1, Lists.newArrayList(), null, 0, 0, 0, 0)); - when(entityLogService.getEntityLog(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.anyBoolean())).thenReturn(new EntityLog("", - "", - 1, + when(entityLogService.getEntityLog(Mockito.any(), Mockito.any())).thenReturn(new EntityLog(1, 1, Lists.newArrayList(), null, 0, 0, 0, 0)); + when(entityLogService.getEntityLog(Mockito.any(), Mockito.any(), Mockito.any(), Mockito.anyBoolean())).thenReturn(new EntityLog(1, 1, Lists.newArrayList(), null, diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/CascadeSave.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/CascadeSave.java deleted file mode 100644 index 05888eda4..000000000 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/CascadeSave.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.FIELD) -public @interface CascadeSave { - // -} diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/EntityLog.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/EntityLog.java index 9c23a9551..b1de32916 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/EntityLog.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/EntityLog.java @@ -3,10 +3,6 @@ package com.iqser.red.service.persistence.service.v1.api.shared.model.analysislo import java.util.ArrayList; import java.util.List; -import org.springframework.data.annotation.Id; -import org.springframework.data.mongodb.core.mapping.DBRef; -import org.springframework.data.mongodb.core.mapping.Document; - import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -14,15 +10,8 @@ import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor -@Document(collection = "entity-logs") public class EntityLog { - @Id - private String id; - - private String dossierId; - - private String fileId; /** * Version 0 Redaction Logs have manual redactions merged inside them * Version 1 Redaction Logs only contain system ( rule/dictionary ) redactions. Manual Redactions are merged in at runtime. @@ -34,8 +23,6 @@ public class EntityLog { */ private int analysisNumber; - @DBRef - @CascadeSave private List entityLogEntry = new ArrayList<>(); private List legalBasis = new ArrayList<>(); @@ -44,33 +31,4 @@ public class EntityLog { private long rulesVersion = -1; private long legalBasisVersion = -1; - - public EntityLog(String dossierId, - String fileId, - long analysisVersion, - int analysisNumber, - List entityLogEntry, - List legalBasis, - long dictionaryVersion, - long dossierDictionaryVersion, - long rulesVersion, - long legalBasisVersion) { - - this.id = getId(dossierId, fileId); - this.dossierId = dossierId; - this.fileId = fileId; - this.analysisVersion = analysisVersion; - this.analysisNumber = analysisNumber; - this.entityLogEntry = entityLogEntry; - this.legalBasis = legalBasis; - this.dictionaryVersion = dictionaryVersion; - this.dossierDictionaryVersion = dossierDictionaryVersion; - this.rulesVersion = rulesVersion; - this.legalBasisVersion = legalBasisVersion; - } - - public static String getId(String dossierId, String fileId) { - return dossierId + "/" + fileId; - } - } diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/EntityLogEntry.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/EntityLogEntry.java index 1a222de20..362ead2dc 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/EntityLogEntry.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/entitylog/EntityLogEntry.java @@ -5,8 +5,6 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -import org.springframework.data.mongodb.core.mapping.Document; - import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Builder; @@ -21,11 +19,9 @@ import lombok.experimental.FieldDefaults; @AllArgsConstructor @EqualsAndHashCode @FieldDefaults(level = AccessLevel.PRIVATE) -@Document(collection = "entity-log-entries") public class EntityLogEntry { - String entryId; - String entityLogId; + String id; String type; EntryType entryType; EntryState state;