From 3348345baa459ae427bd64dc13f3af22ad00718c Mon Sep 17 00:00:00 2001
From: Lukas Malte Monnerjahn <lukasmalte.monnerjahn@dataport.de>
Date: Mon, 12 Aug 2024 15:49:07 +0200
Subject: [PATCH] =?UTF-8?q?OZG-6340=20UUID-Pr=C3=A4fix=20von=20Dateien=20i?=
 =?UTF-8?q?n=20XTA-Eingang=20entfernen?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../eingang/xta/XtaIncomingFilesMapper.java         |  6 +++++-
 .../eingang/xta/XtaIncomingFilesMapperTest.java     | 13 ++++++++++++-
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaIncomingFilesMapper.java b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaIncomingFilesMapper.java
index 1ef661f3e..185d4da30 100644
--- a/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaIncomingFilesMapper.java
+++ b/xta-adapter/src/main/java/de/ozgcloud/eingang/xta/XtaIncomingFilesMapper.java
@@ -58,7 +58,7 @@ class XtaIncomingFilesMapper {
 
 	IncomingFile toIncomingFile(XtaFile messageFile) {
 		return IncomingFile.builder()
-				.name(messageFile.name())
+				.name(removeLeadingUUID(messageFile.name()))
 				.contentType(messageFile.contentType())
 				.file(messageFile.file())
 				.size(messageFile.file().length())
@@ -78,4 +78,8 @@ class XtaIncomingFilesMapper {
 			return Stream.of(incomingFile);
 		}
 	}
+
+	private String removeLeadingUUID(String name) {
+		return name.replaceAll("^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}_", "");
+	}
 }
diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaIncomingFilesMapperTest.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaIncomingFilesMapperTest.java
index 0dfa769d6..9452cc15b 100644
--- a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaIncomingFilesMapperTest.java
+++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaIncomingFilesMapperTest.java
@@ -27,6 +27,7 @@ import static org.assertj.core.api.Assertions.*;
 import static org.mockito.Mockito.*;
 
 import java.util.List;
+import java.util.UUID;
 import java.util.stream.Stream;
 
 import org.junit.jupiter.api.Nested;
@@ -57,7 +58,7 @@ class XtaIncomingFilesMapperTest {
 			var xtaFile = XtaFileTestFactory.create();
 			var incomingFile = IncomingFileTestFactory.create();
 			when(mapper.toIncomingFile(xtaFile)).thenReturn(incomingFile);
-			when(mapper.extractZip(incomingFile)).thenAnswer((x) -> Stream.of(incomingFile));
+			when(mapper.extractZip(incomingFile)).thenAnswer(x -> Stream.of(incomingFile));
 
 			mapper.toIncomingFiles(List.of(xtaFile, xtaFile));
 
@@ -89,6 +90,16 @@ class XtaIncomingFilesMapperTest {
 			assertThat(inFile.getName()).isEqualTo(XtaFileTestFactory.NAME);
 		}
 
+		@Test
+		void shouldRemoveLeadingUUID() {
+			String nameWithLeadingUUID = UUID.randomUUID() + "_" + XtaFileTestFactory.NAME;
+			var xtaFile = XtaFileTestFactory.createBuilder().name(nameWithLeadingUUID).build();
+
+			var inFile = mapper.toIncomingFile(xtaFile);
+
+			assertThat(inFile.getName()).isEqualTo(XtaFileTestFactory.NAME);
+		}
+
 		@Test
 		void shouldHaveZipContentType() {
 			var inFile = mapper.toIncomingFile(XtaFileTestFactory.create());
-- 
GitLab