From efd777acd87b10cd9b355686c87c6c5edf89cdff Mon Sep 17 00:00:00 2001 From: Ali Oezyetimoglu Date: Mon, 3 Jun 2024 13:04:27 +0200 Subject: [PATCH] RED-8339: some refactoring --- .../controller/ComponentControllerV2.java | 10 ++++----- .../api/impl/mapper/ComponentMapper.java | 2 -- ...elList.java => ComponentOverrideList.java} | 4 ++-- .../external/resource/ComponentResource.java | 8 +++---- .../src/main/resources/api/openapi.yaml | 22 +++++++++++-------- .../tests/ComponentOverrideTest.java | 16 +++++++------- 6 files changed, 32 insertions(+), 30 deletions(-) rename persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/model/{ComponentOverrideModelList.java => ComponentOverrideList.java} (77%) 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 bbe0417ce..3f3e12953 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 @@ -18,7 +18,7 @@ import com.iqser.red.service.persistence.management.v1.processor.service.FileSta import com.iqser.red.service.persistence.management.v1.processor.service.persistence.DossierTemplatePersistenceService; import com.iqser.red.service.persistence.service.v1.api.shared.model.component.RevertOverrideRequest; import com.iqser.red.service.persistence.service.v2.api.external.model.Component; -import com.iqser.red.service.persistence.service.v2.api.external.model.ComponentOverrideModelList; +import com.iqser.red.service.persistence.service.v2.api.external.model.ComponentOverrideList; import com.iqser.red.service.persistence.service.v2.api.external.model.FileComponents; import com.iqser.red.service.persistence.service.v2.api.external.model.FileComponentsList; import com.iqser.red.service.persistence.service.v2.api.external.resource.ComponentResource; @@ -82,16 +82,16 @@ public class ComponentControllerV2 implements ComponentResource { @Override @PreAuthorize("hasAuthority('" + GET_RSS + "')") - public ComponentOverrideModelList getOverrides(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId, - @PathVariable(DOSSIER_ID_PARAM) String dossierId, - @PathVariable(FILE_ID_PARAM) String fileId) { + public ComponentOverrideList getOverrides(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId, + @PathVariable(DOSSIER_ID_PARAM) String dossierId, + @PathVariable(FILE_ID_PARAM) String fileId) { dossierTemplatePersistenceService.checkDossierTemplateExistsOrElseThrow404(dossierTemplateId); var overrides = componentLogService.getOverrides(dossierId, fileId); var componentOverrides = componentMapper.toComponents(overrides); - return ComponentOverrideModelList.builder().dossierTemplateId(dossierTemplateId).dossierId(dossierId).fileId(fileId).componentOverrideModels(componentOverrides).build(); + return ComponentOverrideList.builder().dossierTemplateId(dossierTemplateId).dossierId(dossierId).fileId(fileId).componentOverrides(componentOverrides).build(); } diff --git a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/mapper/ComponentMapper.java b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/mapper/ComponentMapper.java index da9eabe0f..e3fe4085e 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/mapper/ComponentMapper.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v2/src/main/java/com/iqser/red/persistence/service/v2/external/api/impl/mapper/ComponentMapper.java @@ -34,13 +34,11 @@ public interface ComponentMapper { List toComponentLogEntries(List values); - @Mapping(source = "componentValues", target = "componentValues") Component toComponent(ComponentLogEntry entry); List toComponents(List entries); - @Mapping(source = "componentValues", target = "componentValues") ComponentLogEntry toComponentLogEntry(Component component); diff --git a/persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/model/ComponentOverrideModelList.java b/persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/model/ComponentOverrideList.java similarity index 77% rename from persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/model/ComponentOverrideModelList.java rename to persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/model/ComponentOverrideList.java index d16b4fd72..257e870eb 100644 --- a/persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/model/ComponentOverrideModelList.java +++ b/persistence-service-v1/persistence-service-external-api-v2/src/main/java/com/iqser/red/service/persistence/service/v2/api/external/model/ComponentOverrideList.java @@ -12,11 +12,11 @@ import lombok.NoArgsConstructor; @Builder @NoArgsConstructor @AllArgsConstructor -public class ComponentOverrideModelList { +public class ComponentOverrideList { String dossierTemplateId; String dossierId; String fileId; - List componentOverrideModels = new ArrayList<>(); + List componentOverrides = new ArrayList<>(); } 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 740c8c19a..8c2d195c1 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 @@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.ResponseStatus; import com.iqser.red.service.persistence.service.v1.api.shared.model.component.RevertOverrideRequest; import com.iqser.red.service.persistence.service.v2.api.external.model.Component; -import com.iqser.red.service.persistence.service.v2.api.external.model.ComponentOverrideModelList; +import com.iqser.red.service.persistence.service.v2.api.external.model.ComponentOverrideList; import com.iqser.red.service.persistence.service.v2.api.external.model.FileComponents; import com.iqser.red.service.persistence.service.v2.api.external.model.FileComponentsList; @@ -90,9 +90,9 @@ public interface ComponentResource { @GetMapping(value = FILE_PATH + FILE_ID_PATH_VARIABLE + OVERRIDES_PATH, produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE}) @Operation(summary = "Gets overrides for components", description = "None") @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found")}) - ComponentOverrideModelList getOverrides(@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); + ComponentOverrideList getOverrides(@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); @ResponseBody diff --git a/persistence-service-v1/persistence-service-external-api-v2/src/main/resources/api/openapi.yaml b/persistence-service-v1/persistence-service-external-api-v2/src/main/resources/api/openapi.yaml index 67111c029..a5a08424a 100644 --- a/persistence-service-v1/persistence-service-external-api-v2/src/main/resources/api/openapi.yaml +++ b/persistence-service-v1/persistence-service-external-api-v2/src/main/resources/api/openapi.yaml @@ -958,9 +958,11 @@ paths: operationId: addOverride tags: - 4. Components - summary: Adds the component override associated with a specific file. + summary: Add the component overrides associated with a specific file. description: | - This endpoint allows the user to add an override for a specific component of a dossier file. The component override data is provided in the request body. + This endpoint allows the user to add one or more overrides for a specific component of a dossier file. The component override data is provided in the request body. + + Use this route to add overrides to the specified component. parameters: - $ref: '#/components/parameters/dossierTemplateId' - $ref: '#/components/parameters/dossierId' @@ -987,9 +989,9 @@ paths: operationId: getOverrides tags: - 4. Components - summary: Returns the component overrides associated with a specific file. + summary: Returns all overrides from components associated with a specific file. description: | - This endpoint retrieves all the overrides for a specific component within a dossier file. + This endpoint retrieves all the overrides for components within a dossier file. The response includes a list of all component overrides associated with the specified file. parameters: - $ref: '#/components/parameters/dossierTemplateId' @@ -1000,10 +1002,10 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/ComponentOverrideModelList' + $ref: '#/components/schemas/ComponentOverrideList' application/xml: schema: - $ref: '#/components/schemas/ComponentOverrideModelList' + $ref: '#/components/schemas/ComponentOverrideList' description: | Successfully fetched component overrides for the file in the dossier. "404": @@ -1021,7 +1023,9 @@ paths: - 4. Components summary: Reverts the component overrides associated with a specific file. description: | - Reverts the component overrides associated with a specific file. + Reverts all overrides for the specified components associated with a specific file. + + Use this route to revert all overrides specified by the component names. parameters: - $ref: '#/components/parameters/dossierTemplateId' - $ref: '#/components/parameters/dossierId' @@ -1553,7 +1557,7 @@ components: entityRuleId: DEF.13.37 type: another_entity_type page: 456 - ComponentOverrideModelList: + ComponentOverrideList: type: object description: A list of component overrides and their associated components. properties: @@ -1568,7 +1572,7 @@ components: fileId: type: string description: Identifier for the file. - componentOverrideModels: + componentOverrides: type: array description: List of files with their component details. items: 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 cdad0cd24..757a69208 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 @@ -90,8 +90,8 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest assertEquals(dossier.getId(), overrides.getDossierId()); assertEquals(file.getId(), overrides.getFileId()); - assertFalse(overrides.getComponentOverrideModels().isEmpty()); - assertTrue(overrides.getComponentOverrideModels() + assertFalse(overrides.getComponentOverrides().isEmpty()); + assertTrue(overrides.getComponentOverrides() .get(0).isOverridden()); // override same entry a second time @@ -118,8 +118,8 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest assertEquals(dossier.getId(), overrides.getDossierId()); assertEquals(file.getId(), overrides.getFileId()); - assertFalse(overrides.getComponentOverrideModels().isEmpty()); - assertTrue(overrides.getComponentOverrideModels() + assertFalse(overrides.getComponentOverrides().isEmpty()); + assertTrue(overrides.getComponentOverrides() .get(0).isOverridden()); // add and revert override @@ -146,8 +146,8 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest assertEquals(dossier.getId(), overrides.getDossierId()); assertEquals(file.getId(), overrides.getFileId()); - assertFalse(overrides.getComponentOverrideModels().isEmpty()); - assertTrue(overrides.getComponentOverrideModels() + assertFalse(overrides.getComponentOverrides().isEmpty()); + assertTrue(overrides.getComponentOverrides() .stream() .filter(component -> component.getName().equals("Report_Number")) .findAny() @@ -162,8 +162,8 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest assertEquals(dossier.getId(), overrides.getDossierId()); assertEquals(file.getId(), overrides.getFileId()); - assertFalse(overrides.getComponentOverrideModels().isEmpty()); - assertFalse(overrides.getComponentOverrideModels() + assertFalse(overrides.getComponentOverrides().isEmpty()); + assertFalse(overrides.getComponentOverrides() .stream() .anyMatch(component -> component.getName().equals("Report_Number")));