From 77457905b6dbb4a85aa1876686cd16a3568b18d2 Mon Sep 17 00:00:00 2001
From: Jan Zickermann <jan.zickermann@dataport.de>
Date: Thu, 5 Sep 2024 14:56:05 +0200
Subject: [PATCH] Revert "OZG-6343 KOP-2584: Use Title as formName"

This reverts commit 882b0c24800bb3c7188845c557557cd4df8638a6.
---
 ...erdermittelEngineBasedSemantikAdapter.java | 20 ++------
 ...rmittelEngineBasedSemantikAdapterTest.java | 32 ++----------
 .../DFoerdermittelFormDataTestFactory.java    | 50 ++-----------------
 3 files changed, 12 insertions(+), 90 deletions(-)

diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapter.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapter.java
index 592fea25b..b3e75f0cd 100644
--- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapter.java
+++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapter.java
@@ -35,9 +35,6 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
 	private static final String KEY_FACHNACHRICHT = "Fachnachricht";
 	private static final String KEY_POSTFACH_ID = "InboxReference";
 	private static final String KEY_ORGANISATIONS_EINHEIT_ID = "MetaText1";
-	private static final String KEY_FORM_NAME = "Title";
-
-	static final String DEFAULT_FORM_NAME = "dFördermittelantrag: Ohne Titel";
 
 	@Autowired
 	private ServiceKontoFactory serviceKontoFactory;
@@ -51,7 +48,9 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
 	}
 
 	FormData processFachnachricht(FormData formData) {
-		Map<String, Object> fachnachricht = getFachnachricht(formData);
+		@SuppressWarnings("unchecked")
+		Map<String, Object> fachnachricht = (Map<String, Object>) MapUtils.getMap(formData.getFormData(), KEY_FACHNACHRICHT,
+				Collections.<String, Object>emptyMap());
 
 		var extendedFormData = addFormName(formData);
 		extendedFormData = addFormEngineName(extendedFormData);
@@ -59,7 +58,6 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
 		return addOrganisationsEinheitId(extendedFormData, fachnachricht);
 	}
 
-
 	FormData addServiceKonto(FormData formData, Map<String, Object> fachnachricht) {
 		return Optional.ofNullable((String) fachnachricht.get(KEY_POSTFACH_ID))
 				.map(this::extractPrefix)
@@ -90,20 +88,12 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
 	FormData addFormName(FormData formData) {
 		return formData.toBuilder()
 				.header(formData.getHeader().toBuilder()
-						.formName(getFormName(formData).orElse(DEFAULT_FORM_NAME))
+						// TODO replace formName with actual name <Title> from Fachnachricht (KOP-2239)
+						.formName("dFördermittelantrag")
 						.build()
 				)
 				.build();
 	}
-	private Optional<String> getFormName(FormData formData) {
-		return Optional.ofNullable((String) getFachnachricht(formData).get(KEY_FORM_NAME))
-				.filter(StringUtils::isNotBlank);
-	}
-
-	@SuppressWarnings("unchecked")
-	private Map<String, Object> getFachnachricht(FormData formData) {
-		return (Map<String, Object>) MapUtils.getMap(formData.getFormData(), KEY_FACHNACHRICHT, Collections.<String, Object>emptyMap());
-	}
 
 	FormData addFormEngineName(FormData formData) {
 		return formData.toBuilder()
diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapterTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapterTest.java
index 8f3bcec4c..054737938 100644
--- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapterTest.java
+++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelEngineBasedSemantikAdapterTest.java
@@ -1,7 +1,5 @@
 package de.ozgcloud.eingang.semantik.enginebased.dfoerdermittel;
 
-import static de.ozgcloud.eingang.semantik.enginebased.dfoerdermittel.DFoerdermittelEngineBasedSemantikAdapter.*;
-import static de.ozgcloud.eingang.semantik.enginebased.dfoerdermittel.DFoerdermittelFormDataTestFactory.*;
 import static org.assertj.core.api.Assertions.*;
 import static org.assertj.core.api.InstanceOfAssertFactories.*;
 import static org.mockito.ArgumentMatchers.*;
@@ -11,7 +9,6 @@ import java.util.Collections;
 import java.util.Map;
 
 import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
@@ -223,39 +220,18 @@ class DFoerdermittelEngineBasedSemantikAdapterTest {
 					DFoerdermittelFormDataTestFactory.createFachnachrichtMap());
 
 			assertThat(formData.getZustaendigeStelle()).isNotNull().extracting(ZustaendigeStelle::getOrganisationseinheitenId)
-					.isEqualTo(ORGANISATIONS_EINHEIT_ID);
+					.isEqualTo(DFoerdermittelFormDataTestFactory.ORGANISATIONS_EINHEIT_ID);
 		}
 	}
 
 	@Nested
 	class TestAddFormName {
 
-		@DisplayName("should have form name from title")
 		@Test
-		void shouldHaveFormNameFromTitle() {
-			var formData = adapter.addFormName(createFormDataWithTitle(FORM_NAME));
+		void shouldHaveFormName() {
+			var formData = adapter.addFormName(DFoerdermittelFormDataTestFactory.create());
 
-			assertThat(formData.getHeader().getFormName()).isEqualTo(FORM_NAME);
-		}
-
-		@DisplayName("should have default form name for empty title")
-		@Test
-		void shouldHaveDefaultFormNameForEmptyTitle() {
-			var formData = adapter.addFormName(createFormDataWithTitle(""));
-
-			assertThat(formData.getHeader().getFormName()).isEqualTo(DEFAULT_FORM_NAME);
-		}
-
-		@DisplayName("should have default form name for missing title")
-		@Test
-		void shouldHaveDefaultFormNameForMissingTitle() {
-			var formData = adapter.addFormName(createFormDataWithTitle(null));
-
-			assertThat(formData.getHeader().getFormName()).isEqualTo(DEFAULT_FORM_NAME);
-		}
-
-		FormData createFormDataWithTitle(String title) {
-			return createFachnachrichtBuilder().title(title).build().createFormData();
+			assertThat(formData.getHeader().getFormName()).isEqualTo("dFördermittelantrag");
 		}
 
 	}
diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelFormDataTestFactory.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelFormDataTestFactory.java
index 969f4a635..b99c66e48 100644
--- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelFormDataTestFactory.java
+++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/dfoerdermittel/DFoerdermittelFormDataTestFactory.java
@@ -1,69 +1,25 @@
 package de.ozgcloud.eingang.semantik.enginebased.dfoerdermittel;
 
-import static java.util.stream.Collectors.*;
-
 import java.util.Map;
-import java.util.Objects;
-import java.util.function.Predicate;
-import java.util.stream.IntStream;
 
 import de.ozgcloud.eingang.common.formdata.FormData;
-import lombok.Builder;
 
 class DFoerdermittelFormDataTestFactory {
 
-	static final String FORM_NAME = "Name of form";
 	static final String POSTFACH_ID = "4dd01647-b9d9-4775-1b50-08da3d83800a";
 	static final String ORGANISATIONS_EINHEIT_ID = "9795669";
 
-	static Fachnachricht.FachnachrichtBuilder createFachnachrichtBuilder() {
-		return Fachnachricht.builder()
-				.title(FORM_NAME)
-				.postfachId(POSTFACH_ID)
-				.organisationsEinheitId(ORGANISATIONS_EINHEIT_ID);
-	}
-
 	static FormData create() {
 		return createBuilder().build();
 	}
 
 	static FormData.FormDataBuilder createBuilder() {
-		return createBuilderWithFachnachricht(createFachnachrichtBuilder().build());
-	}
-
-	static FormData.FormDataBuilder createBuilderWithFachnachricht(Fachnachricht fachnachricht) {
 		return FormData.builder()
-				.formData(Map.of("Fachnachricht", createFachnachrichtMapWithFachnachricht(fachnachricht)));
+				.formData(Map.of("Fachnachricht", createFachnachrichtMap()));
 	}
 
 	static Map<String, Object> createFachnachrichtMap() {
-		return createFachnachrichtMapWithFachnachricht(createFachnachrichtBuilder().build());
-	}
-
-	static Map<String, Object> createFachnachrichtMapWithFachnachricht(Fachnachricht fachnachricht) {
-		return createMapWithValueFilter(
-				Objects::nonNull,
-				"Title", fachnachricht.title(),
-				"InboxReference", "sh/sh/" + fachnachricht.postfachId(),
-				"MetaText1", fachnachricht.organisationsEinheitId()
-		);
-	}
-
-	private static Map<String, Object> createMapWithValueFilter(Predicate<String> valuePredicate, String... keyValuePairs) {
-		if (keyValuePairs.length % 2 != 0) {
-			throw new IllegalArgumentException("Array length must be even to form key-value pairs.");
-		}
-
-		return IntStream.range(0, keyValuePairs.length / 2)
-				.boxed()
-				.filter(i -> valuePredicate.test(keyValuePairs[2 * i + 1]))
-				.collect(toMap(i -> keyValuePairs[2 * i], i -> keyValuePairs[2 * i + 1]));
-	}
-
-	@Builder
-	record Fachnachricht(String title, String postfachId, String organisationsEinheitId) {
-		FormData createFormData() {
-			return createBuilderWithFachnachricht(this).build();
-		}
+		return Map.of("InboxReference", "sh/sh/4dd01647-b9d9-4775-1b50-08da3d83800a",
+				"MetaText1", ORGANISATIONS_EINHEIT_ID);
 	}
 }
-- 
GitLab