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
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()
......
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");
}
}
......
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);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment