diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataMapper.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataMapper.java index 799798b5cc151c199a7b80534d7d834f1fb6c746..58606186dbe3b312b385398a8fbaece81c688c18 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataMapper.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataMapper.java @@ -1,6 +1,7 @@ package de.ozgcloud.eingang.fim; import de.ozgcloud.eingang.common.formdata.FormData; +import de.ozgcloud.eingang.common.formdata.IncomingFile; import de.ozgcloud.eingang.common.formdata.IncomingFileGroup; import lombok.extern.log4j.Log4j2; import org.apache.commons.lang3.function.TriFunction; @@ -11,25 +12,23 @@ import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.dom.Text; -import java.util.Collection; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Optional; +import java.util.*; @Service @Log4j2 -class FimDataMapper implements TriFunction<Document, FimScheme, Collection<IncomingFileGroup>, FormData.FormDataBuilder> { +class FimDataMapper implements TriFunction<Document, FimScheme, FormData, FormData.FormDataBuilder> { private static final String LABEL_KEY = "label"; private static final String VALUE_KEY = "value"; @Override - public FormData.FormDataBuilder apply(final Document document, final FimScheme fimScheme, final Collection<IncomingFileGroup> attachments) { + public FormData.FormDataBuilder apply(final Document document, final FimScheme fimScheme, final FormData initialFormData) { final FormData.FormDataBuilder formDataBuilder = FormData.builder(); Map<String, Object> data = new LinkedHashMap<>(); process(document.getDocumentElement(), fimScheme, data, 0); formDataBuilder.formData(data); - formDataBuilder.attachments(attachments); + formDataBuilder.attachments(initialFormData.getAttachments()); + formDataBuilder.representations(initialFormData.getRepresentations()); return formDataBuilder; } diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java index 692158573ce569c3ad373cbf9d155a2151fb997e..597e7b920f52282cc31355c6cb4a16a50886161b 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java @@ -14,7 +14,6 @@ import org.xml.sax.SAXException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -82,7 +81,7 @@ public class FimService { throw new FimException("XML Document does not provide a scheme"); } final FimScheme scheme = getSchemeForIdentifier(schemeName); - final FormData.FormDataBuilder builder = fimDataMapper.apply(document, scheme, initialFormData.getAttachments()); + final FormData.FormDataBuilder builder = fimDataMapper.apply(document, scheme, initialFormData); final FimSchemeAdapter adapter = scheme.getSchemeAdapter();