Skip to content
Snippets Groups Projects
Commit 77457905 authored by Jan Zickermann's avatar Jan Zickermann
Browse files

Revert "OZG-6343 KOP-2584: Use Title as formName"

This reverts commit 882b0c24.
parent 9a280f28
No related branches found
No related tags found
No related merge requests found
...@@ -35,9 +35,6 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema ...@@ -35,9 +35,6 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
private static final String KEY_FACHNACHRICHT = "Fachnachricht"; private static final String KEY_FACHNACHRICHT = "Fachnachricht";
private static final String KEY_POSTFACH_ID = "InboxReference"; private static final String KEY_POSTFACH_ID = "InboxReference";
private static final String KEY_ORGANISATIONS_EINHEIT_ID = "MetaText1"; 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 @Autowired
private ServiceKontoFactory serviceKontoFactory; private ServiceKontoFactory serviceKontoFactory;
...@@ -51,7 +48,9 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema ...@@ -51,7 +48,9 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
} }
FormData processFachnachricht(FormData formData) { 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); var extendedFormData = addFormName(formData);
extendedFormData = addFormEngineName(extendedFormData); extendedFormData = addFormEngineName(extendedFormData);
...@@ -59,7 +58,6 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema ...@@ -59,7 +58,6 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
return addOrganisationsEinheitId(extendedFormData, fachnachricht); return addOrganisationsEinheitId(extendedFormData, fachnachricht);
} }
FormData addServiceKonto(FormData formData, Map<String, Object> fachnachricht) { FormData addServiceKonto(FormData formData, Map<String, Object> fachnachricht) {
return Optional.ofNullable((String) fachnachricht.get(KEY_POSTFACH_ID)) return Optional.ofNullable((String) fachnachricht.get(KEY_POSTFACH_ID))
.map(this::extractPrefix) .map(this::extractPrefix)
...@@ -90,20 +88,12 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema ...@@ -90,20 +88,12 @@ public class DFoerdermittelEngineBasedSemantikAdapter implements EngineBasedSema
FormData addFormName(FormData formData) { FormData addFormName(FormData formData) {
return formData.toBuilder() return formData.toBuilder()
.header(formData.getHeader().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()
) )
.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) { FormData addFormEngineName(FormData formData) {
return formData.toBuilder() return formData.toBuilder()
......
package de.ozgcloud.eingang.semantik.enginebased.dfoerdermittel; 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.Assertions.*;
import static org.assertj.core.api.InstanceOfAssertFactories.*; import static org.assertj.core.api.InstanceOfAssertFactories.*;
import static org.mockito.ArgumentMatchers.*; import static org.mockito.ArgumentMatchers.*;
...@@ -11,7 +9,6 @@ import java.util.Collections; ...@@ -11,7 +9,6 @@ import java.util.Collections;
import java.util.Map; import java.util.Map;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks; import org.mockito.InjectMocks;
...@@ -223,39 +220,18 @@ class DFoerdermittelEngineBasedSemantikAdapterTest { ...@@ -223,39 +220,18 @@ class DFoerdermittelEngineBasedSemantikAdapterTest {
DFoerdermittelFormDataTestFactory.createFachnachrichtMap()); DFoerdermittelFormDataTestFactory.createFachnachrichtMap());
assertThat(formData.getZustaendigeStelle()).isNotNull().extracting(ZustaendigeStelle::getOrganisationseinheitenId) assertThat(formData.getZustaendigeStelle()).isNotNull().extracting(ZustaendigeStelle::getOrganisationseinheitenId)
.isEqualTo(ORGANISATIONS_EINHEIT_ID); .isEqualTo(DFoerdermittelFormDataTestFactory.ORGANISATIONS_EINHEIT_ID);
} }
} }
@Nested @Nested
class TestAddFormName { class TestAddFormName {
@DisplayName("should have form name from title")
@Test @Test
void shouldHaveFormNameFromTitle() { void shouldHaveFormName() {
var formData = adapter.addFormName(createFormDataWithTitle(FORM_NAME)); var formData = adapter.addFormName(DFoerdermittelFormDataTestFactory.create());
assertThat(formData.getHeader().getFormName()).isEqualTo(FORM_NAME); assertThat(formData.getHeader().getFormName()).isEqualTo("dFördermittelantrag");
}
@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();
} }
} }
......
package de.ozgcloud.eingang.semantik.enginebased.dfoerdermittel; package de.ozgcloud.eingang.semantik.enginebased.dfoerdermittel;
import static java.util.stream.Collectors.*;
import java.util.Map; 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 de.ozgcloud.eingang.common.formdata.FormData;
import lombok.Builder;
class DFoerdermittelFormDataTestFactory { class DFoerdermittelFormDataTestFactory {
static final String FORM_NAME = "Name of form";
static final String POSTFACH_ID = "4dd01647-b9d9-4775-1b50-08da3d83800a"; static final String POSTFACH_ID = "4dd01647-b9d9-4775-1b50-08da3d83800a";
static final String ORGANISATIONS_EINHEIT_ID = "9795669"; 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() { static FormData create() {
return createBuilder().build(); return createBuilder().build();
} }
static FormData.FormDataBuilder createBuilder() { static FormData.FormDataBuilder createBuilder() {
return createBuilderWithFachnachricht(createFachnachrichtBuilder().build());
}
static FormData.FormDataBuilder createBuilderWithFachnachricht(Fachnachricht fachnachricht) {
return FormData.builder() return FormData.builder()
.formData(Map.of("Fachnachricht", createFachnachrichtMapWithFachnachricht(fachnachricht))); .formData(Map.of("Fachnachricht", createFachnachrichtMap()));
} }
static Map<String, Object> createFachnachrichtMap() { static Map<String, Object> createFachnachrichtMap() {
return createFachnachrichtMapWithFachnachricht(createFachnachrichtBuilder().build()); return Map.of("InboxReference", "sh/sh/4dd01647-b9d9-4775-1b50-08da3d83800a",
} "MetaText1", ORGANISATIONS_EINHEIT_ID);
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();
}
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment