From cb77738f185f98cb10ed172fb4c1da87bf84d94d Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Wed, 14 Aug 2024 13:55:15 +0200 Subject: [PATCH] WIP: OZG-6275 temporary fix for nullpointer because of missing nachrichtId --- .../muk/transfer/ElsterTransferRemoteService.java | 11 +++++++---- .../muk/transfer/ElsterTransferRemoteServiceTest.java | 5 +++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteService.java index 844d00d..a19908b 100644 --- a/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteService.java +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteService.java @@ -92,7 +92,7 @@ public class ElsterTransferRemoteService { bereitstellungAuftrag.setAbsender(getAbsender()); if (anhangNeedToBeUploaded(bereitstellungAuftrag)) { - bereitstellungAuftrag.setAnhaenge(nachricht.getAttachments().stream().map(this::uploadAnhang).toList()); + bereitstellungAuftrag.setAnhaenge(nachricht.getAttachments().stream().map(fileId -> uploadAnhang(fileId, nachricht.getVorgangId())).toList()); } if (isMitteilung(bereitstellungAuftrag)) { @@ -122,11 +122,12 @@ public class ElsterTransferRemoteService { return postfachProperties.getSender(); } - BereitstellungAnhangWithUploadId uploadAnhang(String fileId) { + BereitstellungAnhangWithUploadId uploadAnhang(String fileId, String vorgangId) { var file = attachmentService.getCloudFile(fileId); try { var uploadInfo = uploadFile(file); var bereitstellungAnhang = fileMapper.toBereitstellungAnhangWithUploadId(file); + bereitstellungAnhang.setDateiBezeichnung(vorgangId); bereitstellungAnhang.setUploadId(uploadInfo.getUploadId()); return bereitstellungAnhang; @@ -149,8 +150,9 @@ public class ElsterTransferRemoteService { BereitstellungAntwort createAntwort(PostfachNachricht nachricht) { var antwort = new BereitstellungAntwort(); - antwort.setZuordnungskriterium(ObjectIdToUUIDConverter.toUUID(nachricht.getId())); - antwort.setAntwortBetreffe(Set.of(postfachProperties.getReplySubjectPrefix() + nachricht.getSubject())); + // FIXME: nachricht needs to have a nachricht id already set. Needs to be fixed in de.ozgcloud.nachrichten.postfach.PostfachService or de.ozgcloud.nachrichten.postfach.PostfachEventListener.buildNachricht + antwort.setZuordnungskriterium(ObjectIdToUUIDConverter.toUUID(Objects.isNull(nachricht.getId()) ? ObjectId.get().toHexString() : nachricht.getId())); + antwort.setAntwortBetreffe(Set.of(postfachProperties.getReplySubjectPrefix() + nachricht.getSubject() + " VorgangId: " + nachricht.getVorgangId())); antwort.setAntwortFrist(LocalDate.now().plusDays(postfachProperties.getReplyInDays())); return antwort; } @@ -173,6 +175,7 @@ public class ElsterTransferRemoteService { PostfachNachricht getAntwort(AntwortDetails antwortDetails) { LOG.info("Processing AntwortDetail {} with DownloadDate {}", antwortDetails, antwortDetails.getDownloadZeitpunkt()); + var nachrichtBuilder = PostfachNachricht.builder() .direction(PostfachNachricht.Direction.IN) .mailBody(postfachProperties.getBody()); diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteServiceTest.java index a6cd786..0c9f3f3 100644 --- a/src/test/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteServiceTest.java +++ b/src/test/java/de/ozgcloud/nachrichten/postfach/muk/transfer/ElsterTransferRemoteServiceTest.java @@ -22,6 +22,7 @@ package de.ozgcloud.nachrichten.postfach.muk.transfer; +import static de.ozgcloud.apilib.common.command.grpc.OzgCloudCommandTestFactory.*; import static de.ozgcloud.nachrichten.postfach.muk.BereitstellungAuftragTestFactory.*; import static de.ozgcloud.nachrichten.postfach.muk.PostfachNachrichtTestFactory.*; import static de.ozgcloud.nachrichten.postfach.muk.transfer.AntwortDetailsTestFactory.*; @@ -182,7 +183,7 @@ class ElsterTransferRemoteServiceTest { void shouldCallUploadAnhang() { elsterTransferService.send(PostfachNachrichtTestFactory.create()); - verify(elsterTransferService).uploadAnhang(anyString()); + verify(elsterTransferService).uploadAnhang(anyString(), anyString()); } @Test @@ -379,7 +380,7 @@ class ElsterTransferRemoteServiceTest { doThrow(IOException.class).when(elsterTransferService).uploadFile(any()); var id = OzgCloudFileTestFactory.ID.toString(); - assertThatExceptionOfType(TechnicalException.class).isThrownBy(() -> elsterTransferService.uploadAnhang(id)); + assertThatExceptionOfType(TechnicalException.class).isThrownBy(() -> elsterTransferService.uploadAnhang(id, VORGANG_ID.toString())); } @Test -- GitLab