From a53fc2c14e2c94deb528002ff9d90b8d5c6de181 Mon Sep 17 00:00:00 2001
From: Evgeny Bardin <evgeny.bardin@external.mgm-cp.com>
Date: Fri, 17 Jan 2025 15:12:17 +0100
Subject: [PATCH] OZG-7426 handle empty file

---
 vorgang-manager-server/pom.xml                           | 2 +-
 .../ozgcloud/vorgang/files/OzgCloudFileRepository.java   | 3 +++
 .../vorgang/files/OzgCloudFileRepositoryITCase.java      | 9 +++++++++
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/vorgang-manager-server/pom.xml b/vorgang-manager-server/pom.xml
index 9c9753333..7ab016718 100644
--- a/vorgang-manager-server/pom.xml
+++ b/vorgang-manager-server/pom.xml
@@ -32,7 +32,7 @@
 	<parent>
 		<groupId>de.ozgcloud.common</groupId>
 		<artifactId>ozgcloud-common-parent</artifactId>
-		<version>4.8.0</version>
+		<version>4.9.0-SNAPSHOT</version>
 		<relativePath />
 	</parent>
 
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