diff --git a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/python_api/adapter/VisualLayoutParsingAdapter.java b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/python_api/adapter/VisualLayoutParsingAdapter.java index 7372fd0..2e7b092 100644 --- a/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/python_api/adapter/VisualLayoutParsingAdapter.java +++ b/layoutparser-service/layoutparser-service-processor/src/main/java/com/knecon/fforesight/service/layoutparser/processor/python_api/adapter/VisualLayoutParsingAdapter.java @@ -35,12 +35,9 @@ public class VisualLayoutParsingAdapter { public Map> buildExtractedSignaturesPerPage(VisualLayoutParsingResponse visualLayoutParsingResponse) { Map> signatures = new HashMap<>(); - if(visualLayoutParsingResponse.getData() != null ) { visualLayoutParsingResponse.getData().forEach(tableData -> signatures.computeIfAbsent(tableData.getPage_idx(), tableCell -> new ArrayList<>()).addAll(convertSignatures(tableData.getPage_idx(), tableData.getBoxes()))); return signatures; - } - return null; } diff --git a/layoutparser-service/layoutparser-service-server/src/test/java/com/knecon/fforesight/service/layoutparser/server/VisualLayoutParsingServiceTests.java b/layoutparser-service/layoutparser-service-server/src/test/java/com/knecon/fforesight/service/layoutparser/server/VisualLayoutParsingServiceTests.java new file mode 100644 index 0000000..d291619 --- /dev/null +++ b/layoutparser-service/layoutparser-service-server/src/test/java/com/knecon/fforesight/service/layoutparser/server/VisualLayoutParsingServiceTests.java @@ -0,0 +1,5 @@ +package com.knecon.fforesight.service.layoutparser.server; + +public class VisualLayoutParsingServiceTests { + +} diff --git a/layoutparser-service/layoutparser-service-server/src/test/java/com/knecon/fforesight/service/layoutparser/server/utils/AbstractTest.java b/layoutparser-service/layoutparser-service-server/src/test/java/com/knecon/fforesight/service/layoutparser/server/utils/AbstractTest.java index a4ebaca..759f0e8 100644 --- a/layoutparser-service/layoutparser-service-server/src/test/java/com/knecon/fforesight/service/layoutparser/server/utils/AbstractTest.java +++ b/layoutparser-service/layoutparser-service-server/src/test/java/com/knecon/fforesight/service/layoutparser/server/utils/AbstractTest.java @@ -20,6 +20,7 @@ import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Primary; import org.springframework.core.io.ClassPathResource; import org.springframework.test.context.junit.jupiter.SpringExtension; +import org.xmlunit.builder.Input; import com.iqser.red.commons.jackson.ObjectMapperFactory; import com.iqser.red.storage.commons.service.StorageService; @@ -51,6 +52,8 @@ public abstract class AbstractTest { private RabbitTemplate rabbitTemplate; protected final static String ORIGIN_FILE_ID = "origin"; + + protected final static String VISUAL_LAYOUT_FILE = "visual"; protected final static String TABLE_FILE_ID = "table"; protected final static String IMAGE_FILE_ID = "image"; protected final static String STRUCTURE_FILE_ID = "structure"; @@ -96,7 +99,7 @@ public abstract class AbstractTest { @SneakyThrows protected LayoutParsingRequest prepareStorage(String file) { - return prepareStorage(file, "cv_table_parsing_response/empty.json", "image_service_response/empty.json"); + return prepareStorage(file, "cv_table_parsing_response/empty.json", "image_service_response/empty.json","visual_layout_parsing_response/empty.json"); } @@ -116,6 +119,7 @@ public abstract class AbstractTest { .originFileStorageId(ORIGIN_FILE_ID) .tablesFileStorageId(Optional.of(TABLE_FILE_ID)) .imagesFileStorageId(Optional.of(IMAGE_FILE_ID)) + .visualLayoutParsingFileId(Optional.of(VISUAL_LAYOUT_FILE)) .structureFileStorageId(STRUCTURE_FILE_ID) .textBlockFileStorageId(TEXT_FILE_ID) .positionBlockFileStorageId(POSITION_FILE_ID) @@ -136,6 +140,16 @@ public abstract class AbstractTest { return prepareStorage(pdfFileResource.getInputStream(), cvServiceResponseFileResource.getInputStream(), imageInfoFileResource.getInputStream()); } + @SneakyThrows + protected LayoutParsingRequest prepareStorage(String file, String cvServiceResponseFile, String imageInfoFile, String visualLayoutParsingResponseFile) { + + ClassPathResource pdfFileResource = new ClassPathResource(file); + ClassPathResource cvServiceResponseFileResource = new ClassPathResource(cvServiceResponseFile); + ClassPathResource imageInfoFileResource = new ClassPathResource(imageInfoFile); + ClassPathResource visualLayoutParsingResponseResource = new ClassPathResource(visualLayoutParsingResponseFile); + + return prepareStorage(pdfFileResource.getInputStream(), cvServiceResponseFileResource.getInputStream(), imageInfoFileResource.getInputStream(), visualLayoutParsingResponseResource.getInputStream()); + } @SneakyThrows protected LayoutParsingRequest prepareStorage(InputStream fileStream, InputStream cvServiceResponseFileStream, InputStream imageInfoStream) { @@ -147,6 +161,17 @@ public abstract class AbstractTest { return buildDefaultLayoutParsingRequest(LayoutParsingType.REDACT_MANAGER); } + @SneakyThrows + protected LayoutParsingRequest prepareStorage(InputStream fileStream, InputStream cvServiceResponseFileStream, InputStream imageInfoStream, InputStream visualLayoutParsingResponseFileStream) { + + storageService.storeObject(TenantContext.getTenantId(), IMAGE_FILE_ID, imageInfoStream); + storageService.storeObject(TenantContext.getTenantId(), TABLE_FILE_ID, cvServiceResponseFileStream); + storageService.storeObject(TenantContext.getTenantId(), ORIGIN_FILE_ID, fileStream); + storageService.storeObject(TenantContext.getTenantId(),VISUAL_LAYOUT_FILE,visualLayoutParsingResponseFileStream ); + + return buildDefaultLayoutParsingRequest(LayoutParsingType.REDACT_MANAGER); + } + @AfterEach public void cleanupStorage() { diff --git a/layoutparser-service/layoutparser-service-server/src/test/resources/visual_layout_parsing_response/empty.json b/layoutparser-service/layoutparser-service-server/src/test/resources/visual_layout_parsing_response/empty.json new file mode 100644 index 0000000..48a1a98 --- /dev/null +++ b/layoutparser-service/layoutparser-service-server/src/test/resources/visual_layout_parsing_response/empty.json @@ -0,0 +1,8 @@ +{ + "dossierId": "123", + "fileId": "123", + "targetFileExtension": "ORIGIN.pdf.gz", + "responseFileExtension": "EXTRACTED_TABLES.json.gz", + "data": [], + "X_TENANT_ID": "" +}