From 562e9d0761ac9f9b7627d1a902397425f037ae09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kilian=20Sch=C3=BCttler?= Date: Thu, 11 Jul 2024 10:44:06 +0200 Subject: [PATCH] Some NPE fixes --- .../service/v1/api/external/resource/SupportResource.java | 3 ++- .../dataexchange/service/EntityTypeImportService.java | 3 +++ .../processor/dataexchange/service/FileImportService.java | 8 +++++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/SupportResource.java b/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/SupportResource.java index 858956d60..84d1e0079 100644 --- a/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/SupportResource.java +++ b/persistence-service-v1/persistence-service-external-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/external/resource/SupportResource.java @@ -20,6 +20,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.FileStatusF import com.iqser.red.service.persistence.service.v1.api.shared.model.FileExchangeExportRequest; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponses; @@ -144,6 +145,6 @@ public interface SupportResource { @PostMapping(value = FILE_EXCHANGE_REST_PATH + IMPORT, consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "Imports a file exchange export zip.", description = "Use this endpoint to import a full export of a given Dossier Template including all its configurations, dossiers, and files.") @ApiResponses(value = {@ApiResponse(responseCode = "200", description = "OK")}) - void importFiles(@RequestPart(name = "file") MultipartFile file); + void importFiles(@Schema(type = "string", format = "binary", name = "file") @RequestPart(name = "file") MultipartFile file); } diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/EntityTypeImportService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/EntityTypeImportService.java index 70e4679ef..2f6a7787a 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/EntityTypeImportService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/EntityTypeImportService.java @@ -96,6 +96,9 @@ public class EntityTypeImportService { @Observed(name = "EntityTypeImportService", contextualName = "import-entity-type") public void importEntityTypes(String dossierTemplateId, String dossierId, EntityTypeImportModel importModel) { + if (importModel == null) { + return; + } enrichObservation(importModel); for (Type type : importModel.getTypes()) { diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/FileImportService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/FileImportService.java index 02945192a..1f5dce244 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/FileImportService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/dataexchange/service/FileImportService.java @@ -50,7 +50,8 @@ public class FileImportService { } - private void importFile(String userId, TemplateImportInfo templateImportInfo, FileExchangeImportModel.FileImport file, String dossierId) { + @Observed(name = "FileImportService", contextualName = "import-file") + public void importFile(String userId, TemplateImportInfo templateImportInfo, FileExchangeImportModel.FileImport file, String dossierId) { // separate service for transactions String fileId = fileImportPersistenceService.saveFileToDb(userId, file, dossierId, templateImportInfo); @@ -64,8 +65,9 @@ public class FileImportService { throw new RuntimeException(e); } }); - - storageService.saveEntityLog(dossierId, fileId, file.getEntityLog()); + if (file.getEntityLog() != null) { + storageService.saveEntityLog(dossierId, fileId, file.getEntityLog()); + } if (file.getComponentLog() != null) { storageService.saveComponentLog(dossierId, fileId, file.getComponentLog()); }