diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportService.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportService.java index 416cf6fdd698d31657fd1eac79fbf046caa7e9e5..3f5690be1f58840a358a13f484043a279d3ed3ff 100644 --- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportService.java +++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/export/ExportService.java @@ -51,9 +51,10 @@ class ExportService { var abgabe = AbgabeCreator.createAbgabeCreator() .withKopf(exportVorgangService.createKopf(vorgangWithEingang)) .withVorgang(exportVorgangService.createVorgangType(vorgangWithEingang)) - .withDokumentTypes(exportFileService.createDokumentTypes(ozgFiles, vorgangWithEingang.getEingang().getHeader().getFormEngineName())) + .withDokumentTypes( + exportFileService.createDokumentTypes(ozgFiles.stream(), vorgangWithEingang.getEingang().getHeader().getFormEngineName())) .create(); - return ExportData.builder().abgabe(abgabe).exportFilename(buildXmlFilename(filenameId)).exportFiles(ozgFiles).build(); + return ExportData.builder().abgabe(abgabe).exportFilename(buildXmlFilename(filenameId)).exportFiles(ozgFiles.stream()).build(); } String buildXmlFilename(String filenameId) { @@ -93,7 +94,7 @@ class ExportService { exportFileService.writeOzgFile(ozgFile.getId(), zipOutputStream); zipOutputStream.closeEntry(); } catch (IOException e) { - throw new RuntimeException(e); + throw new TechnicalException("Cannot add file to ZIP.", e); } } @@ -101,7 +102,7 @@ class ExportService { try (var fileInputStream = new FileInputStream(file)) { fileInputStream.transferTo(outputStream); } catch (Exception e) { - throw new TechnicalException("Error writting XDomea zip file to output stream", e); + throw new TechnicalException("Error writing XDomea zip file to output stream", e); } } } diff --git a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/file/ExportFileService.java b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/file/ExportFileService.java index c224b6c04fdb5fda786fca7dea4bf3f65a08edab..c196597c3074a43243b137b08a25d2165832fcf9 100644 --- a/alfa-xdomea/src/main/java/de/ozgcloud/alfa/file/ExportFileService.java +++ b/alfa-xdomea/src/main/java/de/ozgcloud/alfa/file/ExportFileService.java @@ -1,6 +1,7 @@ package de.ozgcloud.alfa.file; import java.io.OutputStream; +import java.util.List; import java.util.function.Predicate; import java.util.stream.Stream; @@ -17,7 +18,7 @@ import de.xoev.xdomea.DokumentType; @Service public class ExportFileService { - private static final Predicate<OzgFile> IS_PDF_FILE = file -> file.getContentType().equals(MediaType.APPLICATION_PDF_VALUE); + private static final Predicate<OzgFile> IS_PDF_FILE = file -> MediaType.APPLICATION_PDF_VALUE.equals(file.getContentType()); @Autowired private OzgFileService ozgFileService; @@ -28,10 +29,10 @@ public class ExportFileService { @Autowired private DokumentTypeCreator dokumentTypeCreator; - public Stream<OzgFile> getAllPdfs(String eingangId) { + public List<OzgFile> getAllPdfs(String eingangId) { var representations = ozgFileService.getRepresentationsByEingang(eingangId); var attachments = ozgFileService.getAttachmentsByEingang(eingangId); - return Stream.concat(representations, attachments).filter(IS_PDF_FILE); + return Stream.concat(representations, attachments).filter(IS_PDF_FILE).toList(); } public Stream<DokumentType> createDokumentTypes(Stream<OzgFile> ozgFileStream, String formEngineName) { diff --git a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportServiceTest.java b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportServiceTest.java index 2a09022daa695900b8d0818ec1ff4919727157e3..342b1d2e6d5166a7062787664826cfb032e5bd86 100644 --- a/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportServiceTest.java +++ b/alfa-xdomea/src/test/java/de/ozgcloud/alfa/export/ExportServiceTest.java @@ -9,6 +9,7 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; +import java.util.List; import java.util.UUID; import java.util.stream.Stream; import java.util.zip.ZipEntry; @@ -128,7 +129,9 @@ class ExportServiceTest { when(exportVorgangService.getVorgang(any())).thenReturn(vorgang); when(exportVorgangService.createVorgangType(any())).thenReturn(vorgangType); when(exportVorgangService.createKopf(any())).thenReturn(kopfType); - when(exportFileService.getAllPdfs(any())).thenReturn(ozgFiles); + List<OzgFile> ozgFileList = mock(List.class); + when(ozgFileList.stream()).thenReturn(ozgFiles); + when(exportFileService.getAllPdfs(any())).thenReturn(ozgFileList); when(exportFileService.createDokumentTypes(any(), any())).thenReturn(dokumentTypes); doReturn(FILE_NAME).when(service).buildXmlFilename(any()); abgabeCreatorStatic = mockStatic(AbgabeCreator.class);