From 0b44b5abe7e2c49f4b2d68c8b7a6edbac7ee98c0 Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Fri, 13 Oct 2023 10:41:44 +0200 Subject: [PATCH 1/2] DM-285: add fileName to component endpoint --- .../api/impl/controller/ComponentControllerV2.java | 13 +++++++++---- .../v1/processor/service/FileStatusService.java | 6 ++++++ .../persistence/FileStatusPersistenceService.java | 6 ++++++ .../persistence/repository/FileRepository.java | 5 +++++ 4 files changed, 26 insertions(+), 4 deletions(-) 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 e2cac3548..39705d9ab 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 @@ -16,6 +16,7 @@ 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.service.persistence.management.v1.processor.service.ComponentLogService; +import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusService; 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; @@ -27,16 +28,20 @@ import com.iqser.red.service.persistence.service.v2.api.external.model.FileCompo import com.iqser.red.service.persistence.service.v2.api.external.resource.ComponentResource; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AccessLevel; import lombok.RequiredArgsConstructor; +import lombok.experimental.FieldDefaults; @RestController @RequiredArgsConstructor @Tag(name = "4. Component endpoints", description = "Provides operations related to components") +@FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE) public class ComponentControllerV2 implements ComponentResource { - private final DossierTemplateController dossierTemplateController; - private final ComponentLogService componentLogService; - private final StatusController statusController; + DossierTemplateController dossierTemplateController; + ComponentLogService componentLogService; + StatusController statusController; + FileStatusService fileStatusService; @Override @@ -46,7 +51,6 @@ public class ComponentControllerV2 implements ComponentResource { @RequestParam(name = INCLUDE_DETAILS_PARAM, defaultValue = "false", required = false) boolean includeDetails) { dossierTemplateController.getDossierTemplate(dossierTemplateId); - var componentLog = componentLogService.getComponentLog(dossierId, fileId, true); Map> basicComponent = componentLog.getComponentLogEntries() @@ -65,6 +69,7 @@ public class ComponentControllerV2 implements ComponentResource { return FileComponents.builder() .dossierTemplateId(dossierTemplateId) .dossierId(dossierId) + .filename(fileStatusService.getFileName(fileId)) .fileId(fileId) .components(basicComponent) .componentDetails(componentsDetails) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java index 24912b848..b6000cf79 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java @@ -741,4 +741,10 @@ public class FileStatusService { fileStatusPersistenceService.updateOCRStatus(response); } + + public String getFileName(String fileId) { + + return fileStatusPersistenceService.getFileNameById(fileId); + } + } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java index 29eba3d47..57b171718 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java @@ -554,4 +554,10 @@ public class FileStatusPersistenceService { fileRepository.updateLayoutProcessedTime(fileId, OffsetDateTime.now().truncatedTo(ChronoUnit.MILLIS)); } + + public String getFileNameById(String fileId) { + + return fileRepository.getFileNameById(fileId).orElseThrow(); + } + } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java index f01701af4..eca7e099c 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java @@ -2,6 +2,7 @@ package com.iqser.red.service.persistence.management.v1.processor.service.persis import java.time.OffsetDateTime; import java.util.List; +import java.util.Optional; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; @@ -225,6 +226,10 @@ public interface FileRepository extends JpaRepository { @Query(value = "update FileEntity f set f.lastLayoutProcessed = :offsetDateTime where f.id = :fileId") void updateLayoutProcessedTime(String fileId, OffsetDateTime offsetDateTime); + + @Query("select f.filename from FileEntity f where f.id = :fileId") + Optional getFileNameById(String fileId); + } -- 2.47.2 From 4ae0a7e646f5c194efcf595b4a24524109fa0b80 Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Fri, 13 Oct 2023 11:01:10 +0200 Subject: [PATCH 2/2] DM-285: add fileName to component endpoint --- .../v1/processor/service/FileStatusService.java | 2 +- .../FileStatusPersistenceService.java | 4 ++-- .../persistence/repository/FileRepository.java | 2 +- .../v1/server/integration/tests/FileTest.java | 16 ++++++++++++++++ 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java index b6000cf79..55d2cde68 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/FileStatusService.java @@ -744,7 +744,7 @@ public class FileStatusService { public String getFileName(String fileId) { - return fileStatusPersistenceService.getFileNameById(fileId); + return fileStatusPersistenceService.getFilenameById(fileId); } } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java index 57b171718..776ad6289 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/FileStatusPersistenceService.java @@ -555,9 +555,9 @@ public class FileStatusPersistenceService { } - public String getFileNameById(String fileId) { + public String getFilenameById(String fileId) { - return fileRepository.getFileNameById(fileId).orElseThrow(); + return fileRepository.getFilenameById(fileId).orElseThrow(); } } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java index eca7e099c..7916254b3 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/repository/FileRepository.java @@ -228,7 +228,7 @@ public interface FileRepository extends JpaRepository { @Query("select f.filename from FileEntity f where f.id = :fileId") - Optional getFileNameById(String fileId); + Optional getFilenameById(String fileId); } 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 3a35e3652..0ba5e750a 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 @@ -38,6 +38,7 @@ import com.iqser.red.service.peristence.v1.server.integration.service.TypeProvid import com.iqser.red.service.peristence.v1.server.integration.service.UserProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; import com.iqser.red.service.persistence.management.v1.processor.service.FileManagementStorageService; +import com.iqser.red.service.persistence.management.v1.processor.service.FileStatusService; import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierTemplateModel; import com.iqser.red.service.persistence.service.v1.api.shared.model.FileAttributes; import com.iqser.red.service.persistence.service.v1.api.shared.model.FileAttributesConfig; @@ -118,6 +119,9 @@ public class FileTest extends AbstractPersistenceServerServiceTest { @Autowired private FileManagementStorageService fileManagementStorageService; + @Autowired + private FileStatusService fileStatusService; + @Test public void testFileSoftDeleteReupload() { @@ -612,4 +616,16 @@ public class FileTest extends AbstractPersistenceServerServiceTest { assertThat(file.getProcessingStatus()).isEqualTo(ProcessingStatus.OCR_PROCESSING_QUEUED); } + + @Test + public void testGetFileNameQuery() { + + var filename = "test"; + var dossier = dossierTesterAndProvider.provideTestDossier(); + + var file = fileTesterAndProvider.testAndProvideFile(dossier, filename); + + assertThat(fileStatusService.getFileName(file.getId())).isEqualTo(filename + ".pdf"); + } + } -- 2.47.2