From adb6332bf5cc1676c9649941c176e100f40c6c66 Mon Sep 17 00:00:00 2001 From: Ali Oezyetimoglu Date: Sun, 2 Jun 2024 21:37:55 +0200 Subject: [PATCH] RED-8339: Fixes --- .../controller/ComponentLogController.java | 32 ++--- .../controller/ComponentControllerV2.java | 1 - .../resource/ComponentLogResource.java | 16 ++- .../external/resource/ComponentResource.java | 3 +- .../client/ComponentLogClient.java | 10 ++ .../tests/ComponentOverrideTest.java | 110 +++++++++++++++++- .../AbstractPersistenceServerServiceTest.java | 18 ++- .../componentlog/ComponentLogEntry.java | 2 + .../component/ComponentOverrideModelList.java | 21 ++++ 9 files changed, 185 insertions(+), 28 deletions(-) create mode 100644 persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/ComponentLogClient.java create mode 100644 persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/component/ComponentOverrideModelList.java diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/ComponentLogController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/ComponentLogController.java index 94f69420b..5ac4a9d1b 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/ComponentLogController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/ComponentLogController.java @@ -9,14 +9,15 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import org.springframework.web.servlet.view.RedirectView; import com.iqser.red.service.persistence.management.v1.processor.service.AccessControlService; import com.iqser.red.service.persistence.management.v1.processor.service.ComponentLogService; import com.iqser.red.service.persistence.service.v1.api.external.resource.ComponentLogResource; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLog; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntry; +import com.iqser.red.service.persistence.service.v1.api.shared.model.component.ComponentOverrideModelList; import com.iqser.red.service.persistence.service.v1.api.shared.model.component.RevertOverrideRequest; import lombok.AccessLevel; @@ -47,40 +48,45 @@ public class ComponentLogController implements ComponentLogResource { @PostMapping(value = COMPONENT_LOG_PATH + OVERRIDE_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE) @PreAuthorize("hasAuthority('" + GET_RSS + "')") - public RedirectView addOverride(String dossierTemplateId, - @PathVariable(DOSSIER_ID) String dossierId, - @PathVariable(FILE_ID) String fileId, - @RequestBody ComponentLogEntry override) { + public void addOverride(@RequestParam(name = "dossierTemplateId") String dossierTemplateId, + @PathVariable(DOSSIER_ID) String dossierId, + @PathVariable(FILE_ID) String fileId, + @RequestBody ComponentLogEntry override) { accessControlService.checkDossierExistenceAndAccessPermissionsToDossier(dossierId); accessControlService.validateFileResourceExistence(fileId); - return new RedirectView(String.format("/api/dossier-templates/{%s}/dossiers/{%s}/files/{%s}/overrides", dossierTemplateId, dossierId, fileId), true); + componentLogService.addOverride(dossierId, fileId, override); + } @GetMapping(value = COMPONENT_LOG_PATH + OVERRIDE_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE) @PreAuthorize("hasAuthority('" + GET_RSS + "')") - public RedirectView getOverrides(String dossierTemplateId, @PathVariable(DOSSIER_ID) String dossierId, @PathVariable(FILE_ID) String fileId) { + public ComponentOverrideModelList getOverrides(@RequestParam(name = "dossierTemplateId") String dossierTemplateId, + @PathVariable(DOSSIER_ID) String dossierId, + @PathVariable(FILE_ID) String fileId) { accessControlService.checkDossierExistenceAndViewPermissionsToDossier(dossierId); accessControlService.validateFileResourceExistence(fileId); - return new RedirectView(String.format("/api/dossier-templates/{%s}/dossiers/{%s}/files/{%s}/overrides", dossierTemplateId, dossierId, fileId), true); + var overrides = componentLogService.getOverrides(dossierId, fileId); + + return ComponentOverrideModelList.builder().componentOverrideModels(overrides).build(); } @PostMapping(value = COMPONENT_LOG_PATH + OVERRIDE_PATH + "/revert" + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE) @PreAuthorize("hasAuthority('" + GET_RSS + "')") - public RedirectView revertOverrides(String dossierTemplateId, - @PathVariable(DOSSIER_ID) String dossierId, - @PathVariable(FILE_ID) String fileId, - @RequestBody RevertOverrideRequest revertOverrideRequest) { + public void revertOverrides(@RequestParam(name = "dossierTemplateId") String dossierTemplateId, + @PathVariable(DOSSIER_ID) String dossierId, + @PathVariable(FILE_ID) String fileId, + @RequestBody RevertOverrideRequest revertOverrideRequest) { accessControlService.checkDossierExistenceAndAccessPermissionsToDossier(dossierId); accessControlService.validateFileResourceExistence(fileId); - return new RedirectView(String.format("/api/dossier-templates/{%s}/dossiers/{%s}/files/{%s}/overrides/revert", dossierTemplateId, dossierId, fileId), true); + componentLogService.revertOverrides(dossierId, fileId, revertOverrideRequest); } } diff --git a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/ComponentControllerV2.java b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/ComponentControllerV2.java index 14fbccd9e..bbe0417ce 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/ComponentControllerV2.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/controller/ComponentControllerV2.java @@ -11,7 +11,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -import com.iqser.red.persistence.service.v1.external.api.impl.controller.DossierTemplateController; import com.iqser.red.persistence.service.v1.external.api.impl.controller.StatusController; import com.iqser.red.persistence.service.v2.external.api.impl.mapper.ComponentMapper; import com.iqser.red.service.persistence.management.v1.processor.service.ComponentLogService; diff --git a/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/ComponentLogResource.java b/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/ComponentLogResource.java index ea2bcc1f6..6f3e2d260 100644 --- a/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/ComponentLogResource.java +++ b/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/ComponentLogResource.java @@ -9,10 +9,10 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseStatus; -import org.springframework.web.servlet.view.RedirectView; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLog; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntry; +import com.iqser.red.service.persistence.service.v1.api.shared.model.component.ComponentOverrideModelList; import com.iqser.red.service.persistence.service.v1.api.shared.model.component.RevertOverrideRequest; import io.swagger.v3.oas.annotations.Operation; @@ -49,7 +49,10 @@ public interface ComponentLogResource { @PostMapping(value = COMPONENT_LOG_PATH + OVERRIDE_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "Adds overrides for components", description = "None") @ApiResponses(value = {@ApiResponse(responseCode = "204", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found"), @ApiResponse(responseCode = "403", description = "Forbidden")}) - RedirectView addOverride(String dossierTemplateId, @PathVariable(DOSSIER_ID) String dossierId, @PathVariable(FILE_ID) String fileId, @RequestBody ComponentLogEntry override); + void addOverride(@RequestParam(name = "dossierTemplateId") String dossierTemplateId, + @PathVariable(DOSSIER_ID) String dossierId, + @PathVariable(FILE_ID) String fileId, + @RequestBody ComponentLogEntry override); @ResponseBody @@ -57,7 +60,9 @@ public interface ComponentLogResource { @GetMapping(value = COMPONENT_LOG_PATH + OVERRIDE_PATH + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "Gets overrides for components", description = "None") @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found")}) - RedirectView getOverrides(String dossierTemplateId, @PathVariable(DOSSIER_ID) String dossierId, @PathVariable(FILE_ID) String fileId); + ComponentOverrideModelList getOverrides(@RequestParam(name = "dossierTemplateId") String dossierTemplateId, + @PathVariable(DOSSIER_ID) String dossierId, + @PathVariable(FILE_ID) String fileId); @ResponseBody @@ -65,6 +70,9 @@ public interface ComponentLogResource { @PostMapping(value = COMPONENT_LOG_PATH + OVERRIDE_PATH + "/revert" + DOSSIER_ID_PATH_VARIABLE + FILE_ID_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "Reverts overrides for components", description = "None") @ApiResponses(value = {@ApiResponse(responseCode = "204", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found"), @ApiResponse(responseCode = "403", description = "Forbidden")}) - RedirectView revertOverrides(String dossierTemplateId, @PathVariable(DOSSIER_ID) String dossierId, @PathVariable(FILE_ID) String fileId, @RequestBody RevertOverrideRequest revertOverrideRequest); + void revertOverrides(@RequestParam(name = "dossierTemplateId") String dossierTemplateId, + @PathVariable(DOSSIER_ID) String dossierId, + @PathVariable(FILE_ID) String fileId, + @RequestBody RevertOverrideRequest revertOverrideRequest); } diff --git a/persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/resource/ComponentResource.java b/persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/resource/ComponentResource.java index 288cec197..740c8c19a 100644 --- a/persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/resource/ComponentResource.java +++ b/persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/resource/ComponentResource.java @@ -54,6 +54,7 @@ public interface ComponentResource { String REVERT_PATH = "/revert"; String COMPONENT_OVERRIDE_PARAM = "componentOverride"; + String REVERT_OVERRIDE_PARAM = "revertOverride"; @GetMapping(value = FILE_PATH + FILE_ID_PATH_VARIABLE + COMPONENTS_PATH, produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE}) @@ -102,6 +103,6 @@ public interface ComponentResource { void revertOverrides(@Parameter(name = DOSSIER_TEMPLATE_ID_PARAM, description = "The identifier of the dossier template that is used for the dossier.", required = true) @PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId, @Parameter(name = DOSSIER_ID_PARAM, description = "The identifier of the dossier that contains the file.", required = true) @PathVariable(DOSSIER_ID_PARAM) String dossierId, @Parameter(name = FILE_ID_PARAM, description = "The identifier of the file that the components are requested for.", required = true) @PathVariable(FILE_ID_PARAM) String fileId, - @RequestBody RevertOverrideRequest revertOverrideRequest); + @Parameter(name = REVERT_OVERRIDE_PARAM) @RequestBody RevertOverrideRequest revertOverrideRequest); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/ComponentLogClient.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/ComponentLogClient.java new file mode 100644 index 000000000..c1f35ef71 --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/client/ComponentLogClient.java @@ -0,0 +1,10 @@ +package com.iqser.red.service.peristence.v1.server.integration.client; + +import org.springframework.cloud.openfeign.FeignClient; + +import com.iqser.red.service.persistence.service.v1.api.external.resource.ComponentLogResource; + +@FeignClient(name = "ComponentLogResource", url = "http://localhost:28081") +public interface ComponentLogClient extends ComponentLogResource { + +} diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ComponentOverrideTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ComponentOverrideTest.java index 4319e8287..cdad0cd24 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ComponentOverrideTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ComponentOverrideTest.java @@ -6,6 +6,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; import java.util.List; +import java.util.Set; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -13,10 +14,15 @@ import org.springframework.core.io.ClassPathResource; import com.fasterxml.jackson.databind.ObjectMapper; import com.iqser.red.service.peristence.v1.server.integration.client.ComponentClient; +import com.iqser.red.service.peristence.v1.server.integration.client.ComponentLogClient; import com.iqser.red.service.peristence.v1.server.integration.client.DossierTemplateClient; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; +import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntityReference; +import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntry; +import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntryValue; +import com.iqser.red.service.persistence.service.v1.api.shared.model.component.RevertOverrideRequest; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileType; import com.iqser.red.service.persistence.service.v2.api.external.model.Component; import com.iqser.red.service.persistence.service.v2.api.external.model.ComponentValue; @@ -36,12 +42,15 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest @Autowired private ComponentClient componentClient; + @Autowired + private ComponentLogClient componentLogClient; + @Autowired private DossierTemplateClient dossierTemplateClient; @Test - public void testAddAndGetOverrides() throws IOException { + public void testOverrides() throws IOException { var dossier = dossierTesterAndProvider.provideTestDossier(); @@ -49,6 +58,10 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest var file = fileTesterAndProvider.testAndProvideFile(dossier, "filename"); + System.out.println("DOSSIER TEMPLATE ID: " + dossierTemplate.getId()); + System.out.println("DOSSIER ID: " + dossier.getId()); + System.out.println("FILE ID: " + file.getId()); + Component componentOverrideModel = Component.builder() .name("Study_Title") .componentValues(List.of(ComponentValue.builder() @@ -78,7 +91,8 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest assertEquals(file.getId(), overrides.getFileId()); assertFalse(overrides.getComponentOverrideModels().isEmpty()); - assertTrue(overrides.getComponentOverrideModels().get(0).isOverridden()); + assertTrue(overrides.getComponentOverrideModels() + .get(0).isOverridden()); // override same entry a second time Component componentOverrideModel2 = Component.builder() @@ -98,7 +112,6 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest .build(); componentClient.addOverride(dossierTemplate.getId(), dossier.getId(), file.getId(), componentOverrideModel2); -// when(fileManagementStorageService.getComponentLog(any(), any())).thenReturn(); overrides = componentClient.getOverrides(dossierTemplate.getId(), dossier.getId(), file.getId()); assertEquals(dossierTemplate.getId(), overrides.getDossierTemplateId()); @@ -106,7 +119,96 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest assertEquals(file.getId(), overrides.getFileId()); assertFalse(overrides.getComponentOverrideModels().isEmpty()); - assertTrue(overrides.getComponentOverrideModels().get(0).isOverridden()); + assertTrue(overrides.getComponentOverrideModels() + .get(0).isOverridden()); + + // add and revert override + Component componentOverrideModel3 = Component.builder() + .name("Report_Number") + .componentValues(List.of(ComponentValue.builder() + .value("WOHOO 11/111-111A") + .originalValue("11/111-111A") + .valueDescription("First found value of type report_number or else ''") + .componentRuleId("ReportNumber.0.0") + .entityReferences(List.of(EntityReference.builder() + .id("e2a93bcc72e9740bbfc19bd9cd982e01") + .type("report_number") + .entityRuleId("DOC.2.0") + .page(1) + .build())) + .build())) + .build(); + componentClient.addOverride(dossierTemplate.getId(), dossier.getId(), file.getId(), componentOverrideModel3); + + overrides = componentClient.getOverrides(dossierTemplate.getId(), dossier.getId(), file.getId()); + + assertEquals(dossierTemplate.getId(), overrides.getDossierTemplateId()); + assertEquals(dossier.getId(), overrides.getDossierId()); + assertEquals(file.getId(), overrides.getFileId()); + + assertFalse(overrides.getComponentOverrideModels().isEmpty()); + assertTrue(overrides.getComponentOverrideModels() + .stream() + .filter(component -> component.getName().equals("Report_Number")) + .findAny() + .get().isOverridden()); + + RevertOverrideRequest revertOverrideRequest = RevertOverrideRequest.builder().components(Set.of("Report_Number")).build(); + componentClient.revertOverrides(dossierTemplate.getId(), dossier.getId(), file.getId(), revertOverrideRequest); + + overrides = componentClient.getOverrides(dossierTemplate.getId(), dossier.getId(), file.getId()); + + assertEquals(dossierTemplate.getId(), overrides.getDossierTemplateId()); + assertEquals(dossier.getId(), overrides.getDossierId()); + assertEquals(file.getId(), overrides.getFileId()); + + assertFalse(overrides.getComponentOverrideModels().isEmpty()); + assertFalse(overrides.getComponentOverrideModels() + .stream() + .anyMatch(component -> component.getName().equals("Report_Number"))); + + // testing old endpoints + var overridesFromOldEndpoint = componentLogClient.getComponentLog(dossier.getId(), file.getId(), true); + assertTrue(overridesFromOldEndpoint.getComponentLogEntries() + .stream() + .filter(component -> component.getName().equals("Study_Title")) + .findAny() + .get().isOverridden()); + + revertOverrideRequest = RevertOverrideRequest.builder().components(Set.of("Study_Title")).build(); + componentLogClient.revertOverrides(dossierTemplate.getId(), dossier.getId(), file.getId(), revertOverrideRequest); + + overridesFromOldEndpoint = componentLogClient.getComponentLog(dossier.getId(), file.getId(), true); + assertFalse(overridesFromOldEndpoint.getComponentLogEntries() + .stream() + .filter(component -> component.getName().equals("Study_Title")) + .findAny() + .get().isOverridden()); + + ComponentLogEntry componentOverrideModel4 = ComponentLogEntry.builder() + .name("Study_Title") + .componentValues(List.of(ComponentLogEntryValue.builder() + .value("BBBB Strange Chemical Name And the rest of a title – With a dash and some more text") + .valueDescription("First found value of type title or else ''") + .componentRuleId("StudyTitle.0.0") + .componentLogEntityReferences(List.of(ComponentLogEntityReference.builder() + .id("cf7f0d0c4c07918ce7d67b204f5fdb7d") + .type("title") + .entityRuleId("DOC.6.1") + .page(1) + .build())) + .build())) + .build(); + + componentLogClient.addOverride(dossierTemplate.getId(), dossier.getId(), file.getId(), componentOverrideModel4); + + overridesFromOldEndpoint = componentLogClient.getComponentLog(dossier.getId(), file.getId(), true); + assertTrue(overridesFromOldEndpoint.getComponentLogEntries() + .stream() + .filter(component -> component.getName().equals("Study_Title")) + .findAny() + .get().isOverridden()); + } } 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 ce27b8a53..15d7a4948 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 @@ -12,14 +12,10 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.CommentRepository; -import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.annotationentity.ResizeRedactionRepository; - import org.assertj.core.util.Lists; import org.bson.BsonArray; import org.bson.BsonDocument; import org.bson.BsonString; -import org.checkerframework.checker.units.qual.A; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.extension.ExtendWith; @@ -54,7 +50,6 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.provisioning.InMemoryUserDetailsManager; import org.springframework.security.web.SecurityFilterChain; -import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.context.support.TestPropertySourceUtils; @@ -76,6 +71,7 @@ import com.iqser.red.service.persistence.management.v1.processor.service.EntityL import com.iqser.red.service.persistence.management.v1.processor.service.FileManagementStorageService; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.ApplicationConfigRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.AuditRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.CommentRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DigitalSignatureRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeConfigRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DossierAttributeRepository; @@ -101,14 +97,18 @@ import com.iqser.red.service.persistence.management.v1.processor.service.persist import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.annotationentity.ManualRedactionRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.annotationentity.RecategorizationRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.annotationentity.RemoveRedactionRepository; +import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.annotationentity.ResizeRedactionRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.dictionaryentry.EntryRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.dictionaryentry.FalsePositiveEntryRepository; import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.dictionaryentry.FalseRecommendationEntryRepository; import com.iqser.red.service.persistence.management.v1.processor.service.users.UserService; import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.entitylog.EntityLog; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.ApplicationConfig; +import com.iqser.red.service.persistence.service.v1.api.shared.mongo.repository.ComponentDocumentRepository; +import com.iqser.red.service.persistence.service.v1.api.shared.mongo.repository.ComponentLogDocumentRepository; import com.iqser.red.service.persistence.service.v1.api.shared.mongo.repository.EntityLogDocumentRepository; import com.iqser.red.service.persistence.service.v1.api.shared.mongo.repository.EntityLogEntryDocumentRepository; +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.model.DroolsValidation; import com.iqser.red.storage.commons.service.StorageService; @@ -168,6 +168,12 @@ public abstract class AbstractPersistenceServerServiceTest { @Autowired protected EntityLogEntryDocumentRepository entityLogEntryDocumentRepository; @Autowired + protected ComponentLogMongoService componentLogMongoService; + @Autowired + protected ComponentLogDocumentRepository componentLogDocumentRepository; + @Autowired + protected ComponentDocumentRepository componentDocumentRepository; + @Autowired protected FileManagementStorageService fileManagementStorageService; @Autowired protected DossierTemplateRepository dossierTemplateRepository; @@ -526,6 +532,8 @@ public abstract class AbstractPersistenceServerServiceTest { applicationConfigRepository.deleteAll(); entityLogEntryDocumentRepository.deleteAll(); entityLogDocumentRepository.deleteAll(); + componentLogDocumentRepository.deleteAll(); + componentDocumentRepository.deleteAll(); }); } 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/componentlog/ComponentLogEntry.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLogEntry.java index 1ab54b8c6..40cb541aa 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLogEntry.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/analysislog/componentlog/ComponentLogEntry.java @@ -4,11 +4,13 @@ import java.util.List; import lombok.AccessLevel; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.FieldDefaults; @Data +@Builder @AllArgsConstructor @NoArgsConstructor @FieldDefaults(level = AccessLevel.PRIVATE) diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/component/ComponentOverrideModelList.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/component/ComponentOverrideModelList.java new file mode 100644 index 000000000..3ae6116be --- /dev/null +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/component/ComponentOverrideModelList.java @@ -0,0 +1,21 @@ +package com.iqser.red.service.persistence.service.v1.api.shared.model.component; + +import java.util.ArrayList; +import java.util.List; + +import com.iqser.red.service.persistence.service.v1.api.shared.model.analysislog.componentlog.ComponentLogEntry; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ComponentOverrideModelList { + + List componentOverrideModels = new ArrayList<>(); + +}