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.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();
}

View File

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

View File

@ -12,11 +12,11 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ComponentOverrideModelList {
public class ComponentOverrideList {
String dossierTemplateId;
String dossierId;
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.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

View File

@ -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:

View File

@ -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")));