From 81b74f81c2f631a139b53e47e0f7b31de935f7b5 Mon Sep 17 00:00:00 2001
From: Evgeny Bardin <evgeny.bardin@external.mgm-cp.com>
Date: Thu, 30 Jan 2025 09:02:27 +0100
Subject: [PATCH] OZG-7426 handle empty/missing file content

---
 .../ozgcloud/vorgang/files/OzgCloudFileRepository.java   | 3 +++
 .../vorgang/files/OzgCloudFileRepositoryITCase.java      | 9 +++++++++
 2 files changed, 12 insertions(+)

diff --git a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/files/OzgCloudFileRepository.java b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/files/OzgCloudFileRepository.java
index d9ec33225..dd291f5db 100644
--- a/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/files/OzgCloudFileRepository.java
+++ b/vorgang-manager-server/src/main/java/de/ozgcloud/vorgang/files/OzgCloudFileRepository.java
@@ -89,6 +89,9 @@ class OzgCloudFileRepository {
 	}
 
 	private long getContentSize(String contentId) {
+		if (Objects.isNull(contentId)) {
+			return 0;
+		}
 		var contentGridFsFile = gridFsTemplate.find(queryByObjectId(contentId)).first();
 		if (Objects.isNull(contentGridFsFile)) {
 			throw new NotFoundException(GridFSFile.class, contentId);
diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/files/OzgCloudFileRepositoryITCase.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/files/OzgCloudFileRepositoryITCase.java
index 6efa60a53..757f47304 100644
--- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/files/OzgCloudFileRepositoryITCase.java
+++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/files/OzgCloudFileRepositoryITCase.java
@@ -100,6 +100,15 @@ class OzgCloudFileRepositoryITCase {
 			assertThat(result.getSize()).isEqualTo(OzgCloudFileTestFactory.SIZE);
 		}
 
+		@Test
+		void shouldSetContentSizeToZero() {
+			var ozgCloudFile = OzgCloudFileTestFactory.createBuilder().id(null).version(0).contentId(null).build();
+
+			var result = repository.save(ozgCloudFile);
+
+			assertThat(result.getSize()).isZero();
+		}
+
 		@Test
 		void shouldFailIfContentMissing() {
 			var ozgCloudFile = OzgCloudFileTestFactory.createBuilder().id(null).version(0).contentId("missing").build();
-- 
GitLab