From 29e8530fdd4de3a609771bfcd1b33d17b215af34 Mon Sep 17 00:00:00 2001
From: "Zickermann, Jan" <jan.zickermann@dataport.de>
Date: Mon, 13 May 2024 14:44:26 +0200
Subject: [PATCH] OZG-5412 mantelantrag: Split up large method

---
 .../MantelantragFormBasedMapper.java          | 25 ++++++++++++-------
 1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragFormBasedMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragFormBasedMapper.java
index 27fb3cd14..0c10729d0 100644
--- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragFormBasedMapper.java
+++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/mantelantrag/MantelantragFormBasedMapper.java
@@ -5,7 +5,6 @@ import java.util.Optional;
 import java.util.function.UnaryOperator;
 import java.util.stream.IntStream;
 
-import de.ozgcloud.eingang.semantik.formbased.FormBasedMapper;
 import org.apache.commons.collections.MapUtils;
 import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Component;
@@ -13,6 +12,7 @@ import org.springframework.stereotype.Component;
 import de.ozgcloud.eingang.common.errorhandling.TechnicalException;
 import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle;
+import de.ozgcloud.eingang.semantik.formbased.FormBasedMapper;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.log4j.Log4j2;
 
@@ -53,19 +53,16 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
 	FormData adaptFormDataWithPossibleException(FormData formData) {
 		var fieldMap = formData.getFormData();
 		var slotIndex = findSlotIndex(fieldMap);
-		UnaryOperator<String> getValueOrEmpty = field -> getFieldByKeyOrEmpty(
+		return adaptFormDataWithValueGetter(formData, field -> getFieldByKeyOrEmpty(
 				fieldMap,
 				getNameForSlotIndex(field, slotIndex)
-		);
-		var organisationseinheitId = getValueOrEmpty.apply(ORGANISATIONSEINHEIT_ID_FIELD);
-
-		if (organisationseinheitId.isBlank()) {
-			throw new TechnicalException("OrganistaionseinheitId not found!");
-		}
+		));
+	}
 
+	private FormData adaptFormDataWithValueGetter(FormData formData, UnaryOperator<String> getValueOrEmpty) {
 		return formData.toBuilder()
 				.zustaendigeStelle(ZustaendigeStelle.builder()
-						.organisationseinheitenId(organisationseinheitId)
+						.organisationseinheitenId(getOrganisationseinheitId(getValueOrEmpty))
 						.bezeichnung(getValueOrEmpty.apply(BEZEICHNUNG_FIELD))
 						.email(getValueOrEmpty.apply(EMAIL_FIELD))
 						.hausanschriftStrasse(getValueOrEmpty.apply(HAUSANSCHRIFT_STRASSE_FIELD))
@@ -76,6 +73,16 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
 				.build();
 	}
 
+	private String getOrganisationseinheitId(UnaryOperator<String> getValueOrEmpty) {
+		var organisationseinheitId = getValueOrEmpty.apply(ORGANISATIONSEINHEIT_ID_FIELD);
+
+		if (organisationseinheitId.isBlank()) {
+			throw new TechnicalException("OrganistaionseinheitId not found!");
+		}
+
+		return organisationseinheitId;
+	}
+
 	int findSlotIndex(Map<String, Object> fieldMap) {
 		var identifier = environment.getProperty("ozgcloud.xta.identifier");
 		return IntStream.range(0, 3)
-- 
GitLab