diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapper.java index 27371e1ed37818aa7e1f9d63c83e8fc47438b316..a8d133be63359eca9db5d610c01f4bfd144f1a96 100644 --- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapper.java +++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapper.java @@ -4,6 +4,7 @@ import java.util.Map; import java.util.Optional; import org.apache.commons.collections4.MapUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import de.ozgcloud.eingang.common.formdata.Antragsteller; @@ -15,7 +16,7 @@ public class FormcycleAntragstellerMapper implements FormcycleEngineBasedMapper static final String KEY_ANTRAGSTELLER = "fsBKAllDaten"; static final String KEY_ANREDE = "tfAntragstellerAnrede"; static final String KEY_VORNAME = "tfAntragstellerVorname"; - static final String KEY_NACHNAME = "tfAntragstellerNachname"; + static final String KEY_NACHNAME = "tfAntragstellerName"; static final String KEY_GEBURTSNAME = "tfAntragstellerGeburtsname"; static final String KEY_GEBURTSDATUM = "tfAntragstellerGeburtsdatum"; static final String KEY_GEBURTSORT = "tfAntragstellerGeburtsort"; @@ -36,22 +37,26 @@ public class FormcycleAntragstellerMapper implements FormcycleEngineBasedMapper @SuppressWarnings("unchecked") Optional<Map<String, Object>> getAntragstellerData(Map<String, Object> formDataMap) { var antragstellerData = (Map<String, Object>) MapUtils.getMap(formDataMap, KEY_ANTRAGSTELLER); - return Optional.ofNullable(antragstellerData); + return Optional.ofNullable(antragstellerData).map(map -> (Map<String, Object>) map.get("value")); } Antragsteller buildAntragsteller(Map<String, Object> antragstellerData) { return Antragsteller.builder() - .anrede(MapUtils.getString(antragstellerData, KEY_ANREDE)) - .vorname(MapUtils.getString(antragstellerData, KEY_VORNAME)) - .nachname(MapUtils.getString(antragstellerData, KEY_NACHNAME)) - .geburtsname(MapUtils.getString(antragstellerData, KEY_GEBURTSNAME)) - .geburtsdatum(MapUtils.getString(antragstellerData, KEY_GEBURTSDATUM)) - .geburtsort(MapUtils.getString(antragstellerData, KEY_GEBURTSORT)) - .email(MapUtils.getString(antragstellerData, KEY_EMAIL)) - .telefon(MapUtils.getString(antragstellerData, KEY_TELEFON)) - .strasse(MapUtils.getString(antragstellerData, KEY_ADDRESS)) - .plz(MapUtils.getString(antragstellerData, KEY_PLZ)) - .ort(MapUtils.getString(antragstellerData, KEY_ORT)) + .anrede(getValue(antragstellerData, KEY_ANREDE)) + .vorname(getValue(antragstellerData, KEY_VORNAME)) + .nachname(getValue(antragstellerData, KEY_NACHNAME)) + .geburtsname(getValue(antragstellerData, KEY_GEBURTSNAME)) + .geburtsdatum(getValue(antragstellerData, KEY_GEBURTSDATUM)) + .geburtsort(getValue(antragstellerData, KEY_GEBURTSORT)) + .email(getValue(antragstellerData, KEY_EMAIL)) + .telefon(getValue(antragstellerData, KEY_TELEFON)) + .strasse(getValue(antragstellerData, KEY_ADDRESS)) + .plz(getValue(antragstellerData, KEY_PLZ)) + .ort(getValue(antragstellerData, KEY_ORT)) .build(); } + + String getValue(Map<String, Object> formDataMap, String key) { + return Optional.ofNullable(MapUtils.getMap(formDataMap, key)).map(map -> map.get("value")).map(String::valueOf).orElse(StringUtils.EMPTY); + } } diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapperTest.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapperTest.java index 36b93bf3bbce2b79629c92bb05da6795f01c9136..5e10b5235948afd74a25a4c20774f09daf085022 100644 --- a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapperTest.java +++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/formcycle/FormcycleAntragstellerMapperTest.java @@ -26,22 +26,24 @@ class FormcycleAntragstellerMapperTest { @InjectMocks private FormcycleAntragstellerMapper mapper; + private static final String VALUE_KEY = "value"; + private static final String LABEL_KEY = "label"; private static final Map<String, Object> ANTRAGSTELLER_DATA = new HashMap<>(); - private static final Map<String, Object> ANTRAGSTELLER_MAP = Map.of("fsBKAllDaten", ANTRAGSTELLER_DATA); + private static final Map<String, Object> ANTRAGSTELLER_MAP = Map.of("fsBKAllDaten", Map.of(VALUE_KEY, ANTRAGSTELLER_DATA)); @BeforeAll static void fillAntragstellerData() { - ANTRAGSTELLER_DATA.put("tfAntragstellerAnrede", AntragstellerTestFactory.ANREDE); - ANTRAGSTELLER_DATA.put("tfAntragstellerVorname", AntragstellerTestFactory.VORNAME); - ANTRAGSTELLER_DATA.put("tfAntragstellerNachname", AntragstellerTestFactory.NACHNAME); - ANTRAGSTELLER_DATA.put("tfAntragstellerGeburtsname", AntragstellerTestFactory.GEBURTSNAME); - ANTRAGSTELLER_DATA.put("tfAntragstellerGeburtsdatum", AntragstellerTestFactory.GEBURTSDATUM); - ANTRAGSTELLER_DATA.put("tfAntragstellerGeburtsort", AntragstellerTestFactory.GEBURTSORT); - ANTRAGSTELLER_DATA.put("tfAntragstellerEmail", AntragstellerTestFactory.EMAIL); - ANTRAGSTELLER_DATA.put("tfAntragstellerTelefon", AntragstellerTestFactory.TELEFON); - ANTRAGSTELLER_DATA.put("tfAntragstellerAdresse", AntragstellerTestFactory.STRASSE + " " + AntragstellerTestFactory.HAUSNUMMER); - ANTRAGSTELLER_DATA.put("tfAntragstellerPLZ", AntragstellerTestFactory.PLZ); - ANTRAGSTELLER_DATA.put("tfAntragstellerOrt", AntragstellerTestFactory.ORT); + ANTRAGSTELLER_DATA.put("tfAntragstellerAnrede", Map.of(VALUE_KEY, AntragstellerTestFactory.ANREDE, LABEL_KEY, "Anrede")); + ANTRAGSTELLER_DATA.put("tfAntragstellerVorname", Map.of(LABEL_KEY, "Vorname", VALUE_KEY, AntragstellerTestFactory.VORNAME)); + ANTRAGSTELLER_DATA.put("tfAntragstellerName", Map.of(VALUE_KEY, AntragstellerTestFactory.NACHNAME, LABEL_KEY, "Nachname")); + ANTRAGSTELLER_DATA.put("tfAntragstellerGeburtsname", Map.of(VALUE_KEY, AntragstellerTestFactory.GEBURTSNAME, LABEL_KEY, "Geburtsname")); + ANTRAGSTELLER_DATA.put("tfAntragstellerGeburtsdatum", Map.of(VALUE_KEY, AntragstellerTestFactory.GEBURTSDATUM, LABEL_KEY, "Geburtsdatum")); + ANTRAGSTELLER_DATA.put("tfAntragstellerGeburtsort", Map.of(VALUE_KEY, AntragstellerTestFactory.GEBURTSORT, LABEL_KEY, "Geburtsort")); + ANTRAGSTELLER_DATA.put("tfAntragstellerEmail", Map.of(VALUE_KEY, AntragstellerTestFactory.EMAIL, LABEL_KEY, "E-Mail")); + ANTRAGSTELLER_DATA.put("tfAntragstellerTelefon", Map.of(VALUE_KEY, AntragstellerTestFactory.TELEFON, LABEL_KEY, "Telefon")); + ANTRAGSTELLER_DATA.put("tfAntragstellerAdresse", Map.of(LABEL_KEY, "Adresse", VALUE_KEY, AntragstellerTestFactory.STRASSE + " " + AntragstellerTestFactory.HAUSNUMMER)); + ANTRAGSTELLER_DATA.put("tfAntragstellerPLZ", Map.of(LABEL_KEY, "PLZ", VALUE_KEY, AntragstellerTestFactory.PLZ)); + ANTRAGSTELLER_DATA.put("tfAntragstellerOrt", Map.of(LABEL_KEY, "Ort", VALUE_KEY, AntragstellerTestFactory.ORT)); } @Nested