diff --git a/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryData.java b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryData.java index ac18bfda3d1d8dc20d0a69e22d78aeff1a06fc22..5fedcbcae2f1aa5fc028dace4634df10794564c6 100644 --- a/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryData.java +++ b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryData.java @@ -1,6 +1,6 @@ package de.ozgcloud.eingang.enterprise.entry; -import java.util.Map; +import java.util.List; import com.fasterxml.jackson.annotation.JsonProperty; @@ -14,7 +14,7 @@ import lombok.extern.jackson.Jacksonized; public class EntryData { private ControlData control; - private Map<String, EntryFormDataItem> formData; + private List<EntryFormDataItem> formData; @Builder @Getter diff --git a/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryFormDataSubForm.java b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryFormDataSubForm.java index 650e6221b28bc1c530ee78607a2750aea8eb7ff5..402f2bc1bdbc8e5af6ae3fc1b4cfa9836c4e5725 100644 --- a/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryFormDataSubForm.java +++ b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/EntryFormDataSubForm.java @@ -1,6 +1,6 @@ package de.ozgcloud.eingang.enterprise.entry; -import java.util.Map; +import java.util.List; import lombok.Builder; import lombok.Getter; @@ -19,7 +19,7 @@ public class EntryFormDataSubForm implements EntryFormDataItem { private String label; @Singular - private Map<String, EntryFormDataItem> formItems; + private List<EntryFormDataItem> formItems; @Override public boolean isSubForm() { diff --git a/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/FormDataMapper.java b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/FormDataMapper.java index 816f12e08852d4b538397e3a3577a4264518762d..287a9e4c71a00c916f70b4c180860111e55047f5 100644 --- a/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/FormDataMapper.java +++ b/enterprise-adapter/src/main/java/de/ozgcloud/eingang/enterprise/entry/FormDataMapper.java @@ -1,5 +1,6 @@ package de.ozgcloud.eingang.enterprise.entry; +import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -42,11 +43,9 @@ public interface FormDataMapper { return ZustaendigeStelle.builder().organisationseinheitenId(organisationsEinheitenId).build(); } - default Map<String, Object> mapFormItems(Map<String, EntryFormDataItem> map) { - return map.entrySet().stream() - .map(entry -> Pair.of(entry.getKey(), - entry.getValue().isFormField() ? mapFormField((EntryFormDataField) entry.getValue()) - : mapSubForm((EntryFormDataSubForm) entry.getValue()))) + default Map<String, Object> mapFormItems(List<EntryFormDataItem> items) { + return items.stream().map(item -> Pair.of(item.getName(), + item.isFormField() ? mapFormField((EntryFormDataField) item) : mapSubForm((EntryFormDataSubForm) item))) .collect(Collectors.toMap(Pair::getKey, Pair::getValue)); } diff --git a/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryFormDataTestFactory.java b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryFormDataTestFactory.java index 6341717161666c3ec516739c502aac806925f492..6e6bf6802c041b764da3a5b53f0bad168c954deb 100644 --- a/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryFormDataTestFactory.java +++ b/enterprise-adapter/src/test/java/de/ozgcloud/eingang/enterprise/entry/EntryFormDataTestFactory.java @@ -2,6 +2,7 @@ package de.ozgcloud.eingang.enterprise.entry; import static de.ozgcloud.eingang.enterprise.entry.FormDataMapper.*; +import java.util.List; import java.util.Map; public class EntryFormDataTestFactory { @@ -17,12 +18,16 @@ public class EntryFormDataTestFactory { public static final String SUB_FORM_FIELD_LABEL = "Nachname"; public static final String SUB_FORM_FIELD_VALUE = "Täst"; - public static Map<String, EntryFormDataItem> create() { - return Map.of( - FORM_FIELD_NAME, EntryFormDataField.builder().label(FORM_FIELD_LABEL).stringValue(FORM_FIELD_VALUE).build(), - SUB_FORM_NAME, EntryFormDataSubForm.builder().label(SUB_FORM_LABEL) - .formItem(SUB_FORM_FIELD_NAME, - EntryFormDataField.builder().label(SUB_FORM_FIELD_LABEL).stringValue(SUB_FORM_FIELD_VALUE).build()) + public static List<EntryFormDataItem> create() { + return List.of( + EntryFormDataField.builder().name(FORM_FIELD_NAME).label(FORM_FIELD_LABEL).stringValue(FORM_FIELD_VALUE).build(), + EntryFormDataSubForm.builder().name(SUB_FORM_NAME).label(SUB_FORM_LABEL) + .formItem( + EntryFormDataField.builder() + .name(SUB_FORM_FIELD_NAME) + .label(SUB_FORM_FIELD_LABEL) + .stringValue(SUB_FORM_FIELD_VALUE) + .build()) .build()); } diff --git a/enterprise-adapter/src/test/resources/request/simple.json b/enterprise-adapter/src/test/resources/request/simple.json index 391ec3420101fc9ae0dfe3d98da56150aea21089..cb55a7580d5924f204ccd0950f68d9a6d6a72dea 100644 --- a/enterprise-adapter/src/test/resources/request/simple.json +++ b/enterprise-adapter/src/test/resources/request/simple.json @@ -12,19 +12,22 @@ "formId": "KFAS_LIVE_KI_10_Haltverbot_befristet", "name": "Anmeldung zur Einrichtung einer zeitlich befristeten Haltverbotszone gem. § 45 Abs. 1 Straßenverkehrsordnung (StVO)" }, - "formData": { - "field_name": { + "formData": [ + { + "name": "field_name", "label": "field_label", "stringValue": "field_string_value" }, - "antragsteller": { + { + "name": "antragsteller", "label": "Antragstellende Person", - "formItems": { - "lastname": { + "formItems": [ + { + "name": "lastname", "label": "Nachname", "stringValue": "Täst" } - } + ] } - } + ] } \ No newline at end of file