From cc2b140d8f44ee0a5733a142ac6dfa1adf9851f5 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 29 Feb 2024 16:21:05 +0100
Subject: [PATCH] OZG-4846 skip null values

---
 .../BayernIdPostfachNachrichtMapper.java      |  7 +++++++
 .../BayernIdPostfachNachrichtMapperTest.java  | 19 +++++++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/BayernIdPostfachNachrichtMapper.java b/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/BayernIdPostfachNachrichtMapper.java
index 1ef3a87..3224a98 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/BayernIdPostfachNachrichtMapper.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/BayernIdPostfachNachrichtMapper.java
@@ -2,10 +2,12 @@ package de.ozgcloud.nachrichten.postfach.bayernid;
 
 import java.time.ZonedDateTime;
 import java.util.GregorianCalendar;
+import java.util.Objects;
 
 import javax.xml.datatype.DatatypeConfigurationException;
 import javax.xml.datatype.DatatypeFactory;
 
+import org.mapstruct.Condition;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
 import org.mapstruct.ReportingPolicy;
@@ -63,4 +65,9 @@ interface BayernIdPostfachNachrichtMapper {
 		return ((StringBasedIdentifier) postfachAddress.getIdentifier()).getPostfachId();
 	}
 
+	@Condition
+	default boolean nonNull(String value) {
+		return Objects.nonNull(value);
+	}
+
 }
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/BayernIdPostfachNachrichtMapperTest.java b/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/BayernIdPostfachNachrichtMapperTest.java
index 241e79e..f8f9dee 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/BayernIdPostfachNachrichtMapperTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/BayernIdPostfachNachrichtMapperTest.java
@@ -250,4 +250,23 @@ class BayernIdPostfachNachrichtMapperTest {
 			assertThat(result.getMessage()).isEqualTo(GrpcSendBayernIdMessageResponseTestFactory.MESSAGE_TEXT);
 		}
 	}
+
+	@Nested
+	class TestSkipNulls {
+
+		@Test
+		void shouldNotSetNull() {
+			var bayernIdMessageMetadata = mapper.toBayernIdMessageMetadata(PostfachNachrichtTestFactory.createBuilder().messageId(null).build(),
+					AbsenderTestFactory.create());
+
+			assertThat(bayernIdMessageMetadata.getMessageId()).isEmpty();
+		}
+
+		@Test
+		void shouldReturnTrueIfNotNull() {
+			var result = mapper.nonNull("test");
+
+			assertThat(result).isTrue();
+		}
+	}
 }
-- 
GitLab