RED-8339: some refactoring

This commit is contained in:
Ali Oezyetimoglu 2024-06-03 13:04:27 +02:00
parent adb6332bf5
commit efd777acd8
6 changed files with 32 additions and 30 deletions

View File

@ -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.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.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.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.FileComponents;
import com.iqser.red.service.persistence.service.v2.api.external.model.FileComponentsList; import com.iqser.red.service.persistence.service.v2.api.external.model.FileComponentsList;
import com.iqser.red.service.persistence.service.v2.api.external.resource.ComponentResource; import com.iqser.red.service.persistence.service.v2.api.external.resource.ComponentResource;
@ -82,16 +82,16 @@ public class ComponentControllerV2 implements ComponentResource {
@Override @Override
@PreAuthorize("hasAuthority('" + GET_RSS + "')") @PreAuthorize("hasAuthority('" + GET_RSS + "')")
public ComponentOverrideModelList getOverrides(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId, public ComponentOverrideList getOverrides(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId,
@PathVariable(DOSSIER_ID_PARAM) String dossierId, @PathVariable(DOSSIER_ID_PARAM) String dossierId,
@PathVariable(FILE_ID_PARAM) String fileId) { @PathVariable(FILE_ID_PARAM) String fileId) {
dossierTemplatePersistenceService.checkDossierTemplateExistsOrElseThrow404(dossierTemplateId); dossierTemplatePersistenceService.checkDossierTemplateExistsOrElseThrow404(dossierTemplateId);
var overrides = componentLogService.getOverrides(dossierId, fileId); var overrides = componentLogService.getOverrides(dossierId, fileId);
var componentOverrides = componentMapper.toComponents(overrides); 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();
} }

View File

@ -34,13 +34,11 @@ public interface ComponentMapper {
List<ComponentLogEntryValue> toComponentLogEntries(List<ComponentValue> values); List<ComponentLogEntryValue> toComponentLogEntries(List<ComponentValue> values);
@Mapping(source = "componentValues", target = "componentValues")
Component toComponent(ComponentLogEntry entry); Component toComponent(ComponentLogEntry entry);
List<Component> toComponents(List<ComponentLogEntry> entries); List<Component> toComponents(List<ComponentLogEntry> entries);
@Mapping(source = "componentValues", target = "componentValues")
ComponentLogEntry toComponentLogEntry(Component component); ComponentLogEntry toComponentLogEntry(Component component);

View File

@ -12,11 +12,11 @@ import lombok.NoArgsConstructor;
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class ComponentOverrideModelList { public class ComponentOverrideList {
String dossierTemplateId; String dossierTemplateId;
String dossierId; String dossierId;
String fileId; String fileId;
List<Component> componentOverrideModels = new ArrayList<>(); List<Component> componentOverrides = new ArrayList<>();
} }

View File

@ -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.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.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.FileComponents;
import com.iqser.red.service.persistence.service.v2.api.external.model.FileComponentsList; 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}) @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") @Operation(summary = "Gets overrides for components", description = "None")
@ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "404", description = "Not found")}) @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, 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 = 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); @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 @ResponseBody

View File

@ -958,9 +958,11 @@ paths:
operationId: addOverride operationId: addOverride
tags: tags:
- 4. Components - 4. Components
summary: Adds the component override associated with a specific file. summary: Add the component overrides associated with a specific file.
description: | 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: parameters:
- $ref: '#/components/parameters/dossierTemplateId' - $ref: '#/components/parameters/dossierTemplateId'
- $ref: '#/components/parameters/dossierId' - $ref: '#/components/parameters/dossierId'
@ -987,9 +989,9 @@ paths:
operationId: getOverrides operationId: getOverrides
tags: tags:
- 4. Components - 4. Components
summary: Returns the component overrides associated with a specific file. summary: Returns all overrides from components associated with a specific file.
description: | 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. The response includes a list of all component overrides associated with the specified file.
parameters: parameters:
- $ref: '#/components/parameters/dossierTemplateId' - $ref: '#/components/parameters/dossierTemplateId'
@ -1000,10 +1002,10 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/ComponentOverrideModelList' $ref: '#/components/schemas/ComponentOverrideList'
application/xml: application/xml:
schema: schema:
$ref: '#/components/schemas/ComponentOverrideModelList' $ref: '#/components/schemas/ComponentOverrideList'
description: | description: |
Successfully fetched component overrides for the file in the dossier. Successfully fetched component overrides for the file in the dossier.
"404": "404":
@ -1021,7 +1023,9 @@ paths:
- 4. Components - 4. Components
summary: Reverts the component overrides associated with a specific file. summary: Reverts the component overrides associated with a specific file.
description: | 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: parameters:
- $ref: '#/components/parameters/dossierTemplateId' - $ref: '#/components/parameters/dossierTemplateId'
- $ref: '#/components/parameters/dossierId' - $ref: '#/components/parameters/dossierId'
@ -1553,7 +1557,7 @@ components:
entityRuleId: DEF.13.37 entityRuleId: DEF.13.37
type: another_entity_type type: another_entity_type
page: 456 page: 456
ComponentOverrideModelList: ComponentOverrideList:
type: object type: object
description: A list of component overrides and their associated components. description: A list of component overrides and their associated components.
properties: properties:
@ -1568,7 +1572,7 @@ components:
fileId: fileId:
type: string type: string
description: Identifier for the file. description: Identifier for the file.
componentOverrideModels: componentOverrides:
type: array type: array
description: List of files with their component details. description: List of files with their component details.
items: items:

View File

@ -90,8 +90,8 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest
assertEquals(dossier.getId(), overrides.getDossierId()); assertEquals(dossier.getId(), overrides.getDossierId());
assertEquals(file.getId(), overrides.getFileId()); assertEquals(file.getId(), overrides.getFileId());
assertFalse(overrides.getComponentOverrideModels().isEmpty()); assertFalse(overrides.getComponentOverrides().isEmpty());
assertTrue(overrides.getComponentOverrideModels() assertTrue(overrides.getComponentOverrides()
.get(0).isOverridden()); .get(0).isOverridden());
// override same entry a second time // override same entry a second time
@ -118,8 +118,8 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest
assertEquals(dossier.getId(), overrides.getDossierId()); assertEquals(dossier.getId(), overrides.getDossierId());
assertEquals(file.getId(), overrides.getFileId()); assertEquals(file.getId(), overrides.getFileId());
assertFalse(overrides.getComponentOverrideModels().isEmpty()); assertFalse(overrides.getComponentOverrides().isEmpty());
assertTrue(overrides.getComponentOverrideModels() assertTrue(overrides.getComponentOverrides()
.get(0).isOverridden()); .get(0).isOverridden());
// add and revert override // add and revert override
@ -146,8 +146,8 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest
assertEquals(dossier.getId(), overrides.getDossierId()); assertEquals(dossier.getId(), overrides.getDossierId());
assertEquals(file.getId(), overrides.getFileId()); assertEquals(file.getId(), overrides.getFileId());
assertFalse(overrides.getComponentOverrideModels().isEmpty()); assertFalse(overrides.getComponentOverrides().isEmpty());
assertTrue(overrides.getComponentOverrideModels() assertTrue(overrides.getComponentOverrides()
.stream() .stream()
.filter(component -> component.getName().equals("Report_Number")) .filter(component -> component.getName().equals("Report_Number"))
.findAny() .findAny()
@ -162,8 +162,8 @@ public class ComponentOverrideTest extends AbstractPersistenceServerServiceTest
assertEquals(dossier.getId(), overrides.getDossierId()); assertEquals(dossier.getId(), overrides.getDossierId());
assertEquals(file.getId(), overrides.getFileId()); assertEquals(file.getId(), overrides.getFileId());
assertFalse(overrides.getComponentOverrideModels().isEmpty()); assertFalse(overrides.getComponentOverrides().isEmpty());
assertFalse(overrides.getComponentOverrideModels() assertFalse(overrides.getComponentOverrides()
.stream() .stream()
.anyMatch(component -> component.getName().equals("Report_Number"))); .anyMatch(component -> component.getName().equals("Report_Number")));