diff --git a/nachrichten-manager-server/pom.xml b/nachrichten-manager-server/pom.xml index 140a4addb41482826ee8561064eb7e15c4afed19..72e0c00aa74a1139eac88d01e2fbf11a98fbb5fc 100644 --- a/nachrichten-manager-server/pom.xml +++ b/nachrichten-manager-server/pom.xml @@ -45,7 +45,7 @@ <jaxb-maven-plugin.version>3.0.1</jaxb-maven-plugin.version> <ozg-info-manager-interface.version>0.1.0-SNAPSHOT</ozg-info-manager-interface.version> <bayernid-proxy-interface.version>0.1.0</bayernid-proxy-interface.version> - <vorgang-manager.version>2.6.0</vorgang-manager.version> + <vorgang-manager.version>2.8.0-SNAPSHOT</vorgang-manager.version> </properties> <dependencies> diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/FindVorgangIterator.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/FindVorgangIterator.java index 6bd263bfb3e43ed744bc76e08057c49844203574..5f9bdd3652d323911096ed93f74f9e39faa64bc8 100644 --- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/FindVorgangIterator.java +++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/FindVorgangIterator.java @@ -62,7 +62,7 @@ public class FindVorgangIterator implements Iterator<GrpcVorgangHeader> { } boolean shouldRequestNext() { - return isNull(vorgangHeaderIterator) || !vorgangHeaderIterator.hasNext() || lastTotal == LIMIT; + return isNull(vorgangHeaderIterator) || (!vorgangHeaderIterator.hasNext() && lastTotal == LIMIT); } @Override 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 20bd8e08709a7861700cf2502a182a51e7f02071..780e100abcc0d767d61445a7de5a8b600f057ed0 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 @@ -24,6 +24,7 @@ package de.ozgcloud.nachrichten.postfach; import java.time.ZonedDateTime; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; @@ -135,7 +136,14 @@ public abstract class PostfachNachrichtMapper { @SuppressWarnings("unchecked") private List<String> getAsList(Map<String, Object> mailMap, String fieldName) { - return (List<String>) mailMap.getOrDefault(fieldName, Collections.emptyList()); + var valueObject = mailMap.get(fieldName); + if (valueObject instanceof Collection<?> values) { + return (List<String>) values; + } + if (valueObject instanceof String value) { + return List.of(value); + } + return Collections.emptyList(); } PostfachAddress buildPostfachAddress(Map<String, Object> postfachAddressMap) { diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapperTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapperTest.java index 4a4460d1b123b5389530f09646616ce056145600..ad4c9544f7cf39b6f5f22ffa9e13444e5b520b71 100644 --- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapperTest.java +++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/postfach/PostfachNachrichtMapperTest.java @@ -143,9 +143,19 @@ class PostfachNachrichtMapperTest { Assertions.assertThat(mail).usingRecursiveComparison().isEqualTo(PostfachNachrichtTestFactory.create()); } + @Test + void shouldMapSingleAttachment() { + var mailMap = PostfachNachrichtTestFactory.asMap(); + mailMap.put(PostfachNachricht.FIELD_ATTACHMENTS, PostfachNachrichtTestFactory.ATTACHMENT_FILE_ID); + + var mail = fromMapToPostfachMail(mailMap); + + assertThat(mail.getAttachments()).containsExactly(PostfachNachrichtTestFactory.ATTACHMENT_FILE_ID); + } + @DisplayName("with missing postfachAddress") @Nested - class TestWithMissinPostfachAddress { + class TestWithMissingPostfachAddress { @Test void shouldMapAsNull() { @@ -182,7 +192,7 @@ class PostfachNachrichtMapperTest { @Mock private GrpcObject grpcObject; - private Map<String, Object> itemMap = PostfachNachrichtTestFactory.asMap(); + private final Map<String, Object> itemMap = PostfachNachrichtTestFactory.asMap(); @BeforeEach void init() {