diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java index 64a5e09354e0aac20407b0f7a57fd077d2d21995..28365c34793bf7e58cd938809bb65afc9d7184d9 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java @@ -139,14 +139,14 @@ public class AntragraumService { return postfachNachrichtService.findAnswers(BAYERN_ID_SERVICE_KONTO_TYPE, getPostfachId(samlToken), rueckfrageId); } - String getPostfachId(String samlToken) { - return decrypter.decryptPostfachId(parser.parse(samlToken)); - } - void verifyToken(String token) { var errors = verifier.verify(token); if (CollectionUtils.isNotEmpty(errors)) { throw new SecurityException("SAML Token verification failed. Errors: %s".formatted(errors)); } } + + String getPostfachId(String samlToken) { + return decrypter.decryptPostfachId(parser.parse(samlToken)); + } } diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapper.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapper.java index 76cdd643ac8a6f1056e263418484053d079ce9a2..c2783a9fbe16fea8bf94b4740b5f304e937d3547 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapper.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapper.java @@ -88,8 +88,7 @@ public abstract class PostfachNachrichtMapper { .setReplyOption(MapUtils.getString(mailMap, PostfachNachricht.FIELD_REPLY_OPTION)); Optional.ofNullable(mailMap.get(PostfachNachricht.FIELD_ATTACHMENTS)) - .map(String.class::cast) - .map(StringUtils::trimToNull) + .filter(this::doesAttachmentsExists) .map(this::getAttachments) .ifPresent(postfachMailBuilder::addAllAttachment); @@ -101,6 +100,10 @@ public abstract class PostfachNachrichtMapper { return postfachMailBuilder.build(); } + private boolean doesAttachmentsExists(Object attachments) { + return (attachments instanceof String attachment && StringUtils.isNotBlank(attachment)) || attachments instanceof Collection; + } + private Iterable<String> getAttachments(Object attachments) { if (attachments instanceof String attachment) { return Collections.singletonList(attachment);