Skip to content
Snippets Groups Projects
Commit 54cd297e authored by OZGCloud's avatar OZGCloud
Browse files

OZG-5156 Accept FIM messages in XTA adapter

hand over representations to new formdata in fim mapper
parent 094c113c
Branches
Tags
No related merge requests found
package de.ozgcloud.eingang.fim; package de.ozgcloud.eingang.fim;
import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.IncomingFile;
import de.ozgcloud.eingang.common.formdata.IncomingFileGroup; import de.ozgcloud.eingang.common.formdata.IncomingFileGroup;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.function.TriFunction; import org.apache.commons.lang3.function.TriFunction;
...@@ -11,25 +12,23 @@ import org.w3c.dom.Node; ...@@ -11,25 +12,23 @@ import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
import org.w3c.dom.Text; import org.w3c.dom.Text;
import java.util.Collection; import java.util.*;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Optional;
@Service @Service
@Log4j2 @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 LABEL_KEY = "label";
private static final String VALUE_KEY = "value"; private static final String VALUE_KEY = "value";
@Override @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(); final FormData.FormDataBuilder formDataBuilder = FormData.builder();
Map<String, Object> data = new LinkedHashMap<>(); Map<String, Object> data = new LinkedHashMap<>();
process(document.getDocumentElement(), fimScheme, data, 0); process(document.getDocumentElement(), fimScheme, data, 0);
formDataBuilder.formData(data); formDataBuilder.formData(data);
formDataBuilder.attachments(attachments); formDataBuilder.attachments(initialFormData.getAttachments());
formDataBuilder.representations(initialFormData.getRepresentations());
return formDataBuilder; return formDataBuilder;
} }
......
...@@ -14,7 +14,6 @@ import org.xml.sax.SAXException; ...@@ -14,7 +14,6 @@ import org.xml.sax.SAXException;
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.ParserConfigurationException;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -82,7 +81,7 @@ public class FimService { ...@@ -82,7 +81,7 @@ public class FimService {
throw new FimException("XML Document does not provide a scheme"); throw new FimException("XML Document does not provide a scheme");
} }
final FimScheme scheme = getSchemeForIdentifier(schemeName); 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(); final FimSchemeAdapter adapter = scheme.getSchemeAdapter();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment