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 1ef661f3e778725c4a5afd95b69c7d67457ce2e8..185d4da30d5cd62d285d6e5f112d89e052c8de3e 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 0dfa769d688d5bab27fce58f4673282a7e86caac..9452cc15bedb56c76297b91858c9f8c6ada5228d 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());