From b314ea13f522508648bf14ebcfb4af3e30f0ed9e Mon Sep 17 00:00:00 2001
From: "Zickermann, Jan" <jan.zickermann@dataport.de>
Date: Thu, 2 May 2024 12:38:58 +0200
Subject: [PATCH] OZG-5415 mantelantrag: Cleanup mapper

---
 .../formbased/MantelantragFormBasedMapper.java    | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapper.java
index a70263b2a..e0b943c70 100644
--- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapper.java
+++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapper.java
@@ -44,10 +44,10 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
 	public FormData adaptFormData(FormData formData) {
 		var fieldMap = formData.getFormData();
 		var slotIndex = findSlotIndex(fieldMap);
-		UnaryOperator<String> getValueOrEmpty = field -> getFieldByKey(
+		UnaryOperator<String> getValueOrEmpty = field -> getFieldByKeyOrEmpty(
 				fieldMap,
 				getNameForSlotIndex(field, slotIndex)
-		).orElse("");
+		);
 		var organisationseinheitId = getValueOrEmpty.apply(ORGANISATIONSEINHEIT_ID_FIELD);
 
 		if (organisationseinheitId.isBlank()) {
@@ -70,12 +70,10 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
 	int findSlotIndex(Map<String, Object> fieldMap) {
 		var identifier = environment.getProperty("ozgcloud.xta.identifier");
 		return IntStream.range(0, 3)
-				.filter(slotIndex -> getFieldByKey(
+				.filter(slotIndex -> getFieldByKeyOrEmpty(
 								fieldMap,
 								getNameForSlotIndex(ZUSTELLUNG_NACHRICHTENBROKER_FIELD, slotIndex)
-						)
-								.map(value -> value.equals(identifier))
-								.orElse(false)
+						).equals(identifier)
 				)
 				.findFirst()
 				.orElseThrow(() -> new TechnicalException("No matching nachrichtenbroker address '%s' found!".formatted(identifier)));
@@ -85,9 +83,10 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
 		return slotIndex > 0 ? "%s%d".formatted(name, slotIndex + 1) : name;
 	}
 
-	private Optional<String> getFieldByKey(Map<String, Object> fieldMap, String key) {
+	private String getFieldByKeyOrEmpty(Map<String, Object> fieldMap, String key) {
 		return Optional.ofNullable(MapUtils.getString(fieldMap, key))
-				.map(String::trim);
+				.map(String::trim)
+				.orElse("");
 	}
 
 }
-- 
GitLab