From 4d952f23cdce5995b2bdb03eda2e25d62982550f Mon Sep 17 00:00:00 2001
From: Jan Zickermann <jan.zickermann@dataport.de>
Date: Thu, 5 Sep 2024 15:01:21 +0200
Subject: [PATCH] Reapply "OZG-6344 Use required default form id"

This reverts commit 6456501c643f506c61a645c2e889c012b3c549bc.
---
 .../DFoerdermittelEngineBasedSemantikAdapter.java        | 8 +++++---
 .../DFoerdermittelEngineBasedSemantikAdapterTest.java    | 9 ++++-----
 2 files changed, 9 insertions(+), 8 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 cdba687ee..a89ba548f 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
@@ -42,6 +42,7 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
 	private static final String KEY_FORM_ID = "ProjectTitle";
 
 	static final String DEFAULT_FORM_NAME = "dFördermittelantrag";
+	static final String DEFAULT_FORM_ID = "dFördermittelantrag";
 
 	@Autowired
 	private ServiceKontoFactory serviceKontoFactory;
@@ -72,9 +73,10 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
 	}
 
 	FormData addFormId(FormData formData) {
-		return getNonEmptyFachnachrichtValueByKey(formData, KEY_FORM_ID)
-				.map(formId -> mapWithModifiedHeader(formData, headerBuilder -> headerBuilder.formId(formId)))
-				.orElse(formData);
+		return mapWithModifiedHeader(formData, headerBuilder -> headerBuilder.formId(
+				getNonEmptyFachnachrichtValueByKey(formData, KEY_FORM_ID)
+						.orElse(DEFAULT_FORM_ID)
+		));
 	}
 
 	private Optional<String> getNonEmptyFachnachrichtValueByKey(FormData formData, String key) {
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 110e80b7d..2445fe3b2 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
@@ -22,7 +22,6 @@ import de.ozgcloud.common.binaryfile.TempFileUtils;
 import de.ozgcloud.common.test.TestUtils;
 import de.ozgcloud.eingang.common.formdata.FormData;
 import de.ozgcloud.eingang.common.formdata.FormDataTestFactory;
-import de.ozgcloud.eingang.common.formdata.FormHeaderTestFactory;
 import de.ozgcloud.eingang.common.formdata.IncomingFile;
 import de.ozgcloud.eingang.common.formdata.PostfachAddressTestFactory;
 import de.ozgcloud.eingang.common.formdata.ServiceKontoTestFactory;
@@ -87,7 +86,7 @@ class DFoerdermittelEngineBasedSemantikAdapterTest {
 		@Nested
 		class HandleFachnachrichtData {
 
-			private Map<String, Object> extracted = Map.of("name", "Theo");
+			private final Map<String, Object> extracted = Map.of("name", "Theo");
 
 			@Test
 			void shouldCallExtractData() {
@@ -186,7 +185,7 @@ class DFoerdermittelEngineBasedSemantikAdapterTest {
 		void shouldHaveServiceKonto() {
 			var formData = adapter.addServiceKonto(DFoerdermittelFormDataTestFactory.create());
 
-			assertThat(formData.getHeader().getServiceKonto().getPostfachAddresses().get(0).getIdentifier())
+			assertThat(formData.getHeader().getServiceKonto().getPostfachAddresses().getFirst().getIdentifier())
 					.asInstanceOf(type(StringBasedIdentifier.class)).extracting(StringBasedIdentifier::getPostfachId)
 					.isEqualTo(PostfachAddressTestFactory.POSTFACH_ID);
 		}
@@ -277,7 +276,7 @@ class DFoerdermittelEngineBasedSemantikAdapterTest {
 		void shouldKeepFormIdIfProjectTitleIsEmpty() {
 			var formData = adapter.addFormId(createFormDataWithProjectTitle(""));
 
-			assertThat(formData.getHeader().getFormId()).isEqualTo(FormHeaderTestFactory.FORM_ID);
+			assertThat(formData.getHeader().getFormId()).isEqualTo(DEFAULT_FORM_ID);
 		}
 
 		@DisplayName("should keep form id if project title is null")
@@ -285,7 +284,7 @@ class DFoerdermittelEngineBasedSemantikAdapterTest {
 		void shouldKeepFormIdIfProjectTitleIsNull() {
 			var formData = adapter.addFormId(createFormDataWithProjectTitle(null));
 
-			assertThat(formData.getHeader().getFormId()).isEqualTo(FormHeaderTestFactory.FORM_ID);
+			assertThat(formData.getHeader().getFormId()).isEqualTo(DEFAULT_FORM_ID);
 		}
 
 		FormData createFormDataWithProjectTitle(String projectTitle) {
-- 
GitLab