diff --git a/common/src/test/java/de/itvsh/kop/eingangsadapter/common/formdata/FormSolutionsTestFactory.java b/common/src/test/java/de/itvsh/kop/eingangsadapter/common/formdata/FormSolutionsTestFactory.java index 072b5f876d898043f672f6d55423dea9825b965d..f7b544448e2cf338371618cfa74f38a9c8be6c0b 100644 --- a/common/src/test/java/de/itvsh/kop/eingangsadapter/common/formdata/FormSolutionsTestFactory.java +++ b/common/src/test/java/de/itvsh/kop/eingangsadapter/common/formdata/FormSolutionsTestFactory.java @@ -41,8 +41,11 @@ public class FormSolutionsTestFactory { public static final String DATE_COMPONENT_ID = "Datums- / Uhrzeitfeld"; public static final String DATE_COMPONENT_VALUE = "22.05.1996"; public static final String ZIP_VALUE = "TG9yZW0gaXBzdW0="; + public static final String ZIP_VALUE_DECODED = "Lorem ipsum"; public static final String PDF_VALUE = "TG9yZW0gaXBzdW0="; + public static final String PDF_VALUE_DECODED = "Lorem ipsum"; public static final String ZUSTAENDIGE_STELLE_VALUE = "zustaendigeStelle"; + public static final String ZUSTAENDIGE_STELLE = "5678"; public static final String POSTFACH_ID_STELLE = "51522620-03d2-4507-b1f0-08d86920efed"; public static final String FORM_ID_VALUE = "KFAS_KOP_TEST-yCkgCdqG"; // TODO vereinfachen und in Dateien packen diff --git a/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FileDataDeserializer.java b/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FileDataDeserializer.java new file mode 100644 index 0000000000000000000000000000000000000000..f19dd12123dcd1d9fd29562b9e9703bfee909f2e --- /dev/null +++ b/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FileDataDeserializer.java @@ -0,0 +1,34 @@ +package de.itvsh.kop.eingangsadapter.formsolutions; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; + +import com.fasterxml.jackson.core.JacksonException; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; + +import de.itvsh.kop.eingangsadapter.common.file.TempFileUtils; +import lombok.SneakyThrows; + +public class FileDataDeserializer extends StdDeserializer<File> { + + protected FileDataDeserializer() { + super(File.class); + } + + @SneakyThrows + @Override + public File deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JacksonException { + var tempFile = TempFileUtils.createTmpFile(); + + try (var out = new FileOutputStream(tempFile.toFile())) { + p.readBinaryValue(out); + out.flush(); + } + + return tempFile.toFile(); + } + +} diff --git a/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsAttachmentsMapper.java b/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsAttachmentsMapper.java index 3c55f9a4782c5d7e8d6ffd28b00e8ecb1c729e13..43e8508acbfc68834d3d3e26f27d8011334e0396 100644 --- a/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsAttachmentsMapper.java +++ b/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsAttachmentsMapper.java @@ -23,13 +23,10 @@ */ package de.itvsh.kop.eingangsadapter.formsolutions; -import java.util.ArrayList; +import java.io.File; +import java.util.Collections; import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.UUID; -import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import de.itvsh.kop.eingangsadapter.common.formdata.IncomingFile; @@ -43,16 +40,11 @@ class FormSolutionsAttachmentsMapper { public static final String ZIP_CONTENT_TYPE = "application/zip"; public static final String FILE_GROUP_ZIP_NAME = "gezippte Anhänge"; - List<IncomingFileGroup> mapAttachments(Map<String, Object> data) { - return mapZipRepresentation(Optional.ofNullable((String) data.get(ZIP))); - } - - List<IncomingFileGroup> mapZipRepresentation(Optional<String> encodedZip) { - return encodedZip.filter(StringUtils::isNoneEmpty) - .map(this::buildZipFile) - .map(this::buildFileGroup) - .map(this::buildMutableList) - .orElseGet(ArrayList::new); + public List<IncomingFileGroup> mapAttachments(File zipFile) { + if (zipFile.length() > 0) { + return Collections.singletonList(buildFileGroup(buildZipFile(zipFile))); + } + return Collections.emptyList(); } private IncomingFileGroup buildFileGroup(IncomingFile zipFile) { @@ -62,18 +54,11 @@ class FormSolutionsAttachmentsMapper { .build(); } - private IncomingFile buildZipFile(String content) { + private IncomingFile buildZipFile(File zipFile) { return IncomingFile.builder() - .id(UUID.randomUUID().toString()) - .file(FormSolutionsFileMapperUtils.decodeBase64Content(content)) + .file(zipFile) .contentType(ZIP_CONTENT_TYPE) .name(FILE_NAME_ZIP_ATTACHMENT) .build(); } - - private List<IncomingFileGroup> buildMutableList(IncomingFileGroup fileGroup) { - var list = new ArrayList<IncomingFileGroup>(); - list.add(fileGroup); - return list; - } } \ No newline at end of file diff --git a/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsEingang.java b/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsEingang.java new file mode 100644 index 0000000000000000000000000000000000000000..9cbc0b409e89691242ab8375410481fccdd05b1f --- /dev/null +++ b/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsEingang.java @@ -0,0 +1,29 @@ +package de.itvsh.kop.eingangsadapter.formsolutions; + +import java.io.File; +import java.util.Map; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +import lombok.Builder; +import lombok.Getter; +import lombok.extern.jackson.Jacksonized; + +@Getter +@Builder +@Jacksonized +public class FormSolutionsEingang { + + private Map<String, Object> assistant; + + private String postkorbhandle; + private String transactionId; + private String zustaendigeStelle; + @JsonProperty("gemeindeschlüssel") + private String gemeindeSchluessel; + + private File pdf; + @JsonDeserialize(using = FileDataDeserializer.class) + private File zip; +} diff --git a/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRepresentationsMapper.java b/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRepresentationsMapper.java deleted file mode 100644 index 7293fb0f6399b0b56f3e8d16bf146013ced93ead..0000000000000000000000000000000000000000 --- a/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRepresentationsMapper.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -package de.itvsh.kop.eingangsadapter.formsolutions; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Optional; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.http.MediaType; -import org.springframework.stereotype.Component; - -import de.itvsh.kop.eingangsadapter.common.formdata.IncomingFile; - -@Component -class FormSolutionsRepresentationsMapper { - - public static final String PDF = "pdf"; - public static final String FILE_NAME_PDF_REP = "eingang.pdf"; - public static final String PDF_CONTENT_TYPE = MediaType.APPLICATION_PDF_VALUE; - - public static final String JSON = "json"; - public static final String FILE_NAME_JSON_REP = "form-data.json"; - public static final String JSON_CONTENT_TYPE = MediaType.APPLICATION_JSON_VALUE; - - public static final String TMP_FILE_PREFIX = "filecached-inputstream-fs"; - public static final String TMP_FILE_SUFFIX = ".ozg-cloud.tmp"; - - List<IncomingFile> mapRepresentations(Map<String, Object> plainMap, File jsonFile) { - List<IncomingFile> representations = new ArrayList<>(); - - Optional.ofNullable((String) plainMap.get(PDF)) - .filter(StringUtils::isNoneEmpty) - .ifPresent(data -> representations.add(buildPdfFile(data))); - - representations.add(buildJsonFile(jsonFile)); - - return representations; - } - - private IncomingFile buildJsonFile(File jsonFile) { - return IncomingFile.builder() - .file(jsonFile) - .contentType(JSON_CONTENT_TYPE) - .name(FILE_NAME_JSON_REP) - .size(jsonFile.length()) - .build(); - } - - private IncomingFile buildPdfFile(String data) { - File file = FormSolutionsFileMapperUtils.decodeBase64Content(data); - - return IncomingFile.builder() - .file(file) - .contentType(PDF_CONTENT_TYPE) - .name(FILE_NAME_PDF_REP) - .size(file.length()) - .build(); - } - -} \ No newline at end of file diff --git a/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapper.java b/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapper.java index 4d81e93066165ff6fffc5e69cf3c9977a6d9dc39..a3e77e7357232b4c07de9df263bac614594c4453 100644 --- a/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapper.java +++ b/formsolutions-adapter/src/main/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapper.java @@ -27,8 +27,10 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Map; +import java.util.Objects; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; import org.springframework.stereotype.Component; import com.fasterxml.jackson.core.type.TypeReference; @@ -36,51 +38,59 @@ import com.fasterxml.jackson.databind.ObjectMapper; import de.itvsh.kop.common.errorhandling.TechnicalException; import de.itvsh.kop.eingangsadapter.common.formdata.FormData; -import de.itvsh.kop.eingangsadapter.common.formdata.FormDataUtils; -import de.itvsh.kop.eingangsadapter.semantik.enginebased.FilesMapperHelper; +import de.itvsh.kop.eingangsadapter.common.formdata.IncomingFile; @Component class FormSolutionsRequestMapper { static final TypeReference<Map<String, Object>> VALUE_TYPE_REF = new TypeReference<Map<String, Object>>() { }; + static final String FILE_NAME_JSON_REPRESENTATION = "form-data.json"; + static final String FILE_NAME_PDF_REPRESENTATION = "eingang.pdf"; + @Autowired private FormSolutionsAttachmentsMapper attachmentMapper; @Autowired - private FormSolutionsRepresentationsMapper representationMapper; - @Autowired private ObjectMapper objectMapper; public FormData map(File jsonFile) { - var formData = buildFormData(jsonFile); + var eingang = mapEingang(jsonFile); - return mapFiles(formData, jsonFile); - } + var builder = FormData.builder() + .formData(Map.of("assistant", eingang.getAssistant())) + .attachments(attachmentMapper.mapAttachments(eingang.getZip())) + .representation(buildJsonFile(jsonFile)); - private FormData buildFormData(File jsonFile) { - return FormData.builder().formData(mapFormData(jsonFile)).build(); + if (Objects.nonNull(eingang.getPdf())) { + builder.representation(buildPdfFile(eingang.getPdf())); + } + + return builder.build(); } - Map<String, Object> mapFormData(File jsonFile) { + FormSolutionsEingang mapEingang(File jsonFile) { try (var in = new FileInputStream(jsonFile)) { - return objectMapper.readValue(in, VALUE_TYPE_REF); + return objectMapper.readValue(in, FormSolutionsEingang.class); } catch (IOException e) { throw new TechnicalException("Error parsing JSON from FormSolutions-Server", e); } } - FormData mapFiles(FormData formData, File jsonFile) { - return FormDataUtils.from(formData) - .put(FilesMapperHelper.FIELD_NAME_MAPPED_FILES, buildMappedFiles(formData, jsonFile)) - .remove(FormSolutionsAttachmentsMapper.ZIP) - .remove(FormSolutionsRepresentationsMapper.PDF) + private IncomingFile buildJsonFile(File jsonFile) { + return IncomingFile.builder() + .file(jsonFile) + .contentType(MediaType.APPLICATION_JSON_VALUE) + .name(FILE_NAME_JSON_REPRESENTATION) + .size(jsonFile.length()) .build(); - } - private Map<String, Object> buildMappedFiles(FormData formData, File jsonFile) { - return Map.of( - FilesMapperHelper.ATTACHMENTS, attachmentMapper.mapAttachments(formData.getFormData()), - FilesMapperHelper.REPRESENTATIONS, representationMapper.mapRepresentations(formData.getFormData(), jsonFile)); + private IncomingFile buildPdfFile(File pdfFile) { + return IncomingFile.builder() + .file(pdfFile) + .contentType(MediaType.APPLICATION_PDF_VALUE) + .name(FILE_NAME_PDF_REPRESENTATION) + .size(pdfFile.length()) + .build(); } } \ No newline at end of file diff --git a/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsAttachmentsMapperTest.java b/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsAttachmentsMapperTest.java index 35bf7169cdb3057e00c13f0ae8ae35b9d30cb16e..a9190021e214ab7b008f084679e13b6cbde065ad 100644 --- a/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsAttachmentsMapperTest.java +++ b/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsAttachmentsMapperTest.java @@ -27,46 +27,65 @@ import static de.itvsh.kop.eingangsadapter.formsolutions.FormSolutionsAttachment import static de.itvsh.kop.eingangsadapter.formsolutions.FormSolutionsFilesTestFactory.*; import static org.assertj.core.api.Assertions.*; +import java.io.File; import java.util.List; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; +import org.mockito.InjectMocks; import de.itvsh.kop.common.test.TestUtils; +import de.itvsh.kop.eingangsadapter.common.file.TempFileUtils; import de.itvsh.kop.eingangsadapter.common.formdata.IncomingFile; import de.itvsh.kop.eingangsadapter.common.formdata.IncomingFileGroup; import lombok.SneakyThrows; class FormSolutionsAttachmentsMapperTest { - private FormSolutionsAttachmentsMapper mapper = new FormSolutionsAttachmentsMapper(); + + @InjectMocks + private FormSolutionsAttachmentsMapper mapper; + + private File zipFile; + + @BeforeEach + void writeZipFile() { + zipFile = TempFileUtils.writeTmpFile(ZIP_DECODED); + } + + @AfterEach + void delZipFile() { + zipFile.delete(); + } @Nested class TestAttachmentsMapping { @Test @SneakyThrows void shouldParseZip() { - var map = mapper.mapAttachments(FormSolutionsFilesTestFactory.create().getFormData()); + var map = mapper.mapAttachments(zipFile); assertThat(TestUtils.contentStreamToByteArray(getAttachment(map).getContentStream())).isEqualTo(ZIP_DECODED); } @Test void shouldSetContentType() { - var map = mapper.mapAttachments(FormSolutionsFilesTestFactory.create().getFormData()); + var map = mapper.mapAttachments(zipFile); assertThat(getAttachment(map).getContentType()).isEqualTo(ZIP_CONTENT_TYPE); } @Test void shouldSetFileName() { - var map = mapper.mapAttachments(FormSolutionsFilesTestFactory.create().getFormData()); + var map = mapper.mapAttachments(zipFile); assertThat(getAttachment(map).getName()).isEqualTo(FILE_NAME_ZIP_ATTACHMENT); } @Test void shouldSetGroupName() { - var map = mapper.mapAttachments(FormSolutionsFilesTestFactory.create().getFormData()); + var map = mapper.mapAttachments(zipFile); assertThat(map.get(0).getName()).isEqualTo(FILE_GROUP_ZIP_NAME); } diff --git a/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsEingangTestFactory.java b/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsEingangTestFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..6ccca7c662a2bfff58efe9dfe71507b570883b98 --- /dev/null +++ b/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsEingangTestFactory.java @@ -0,0 +1,18 @@ +package de.itvsh.kop.eingangsadapter.formsolutions; + +import static de.itvsh.kop.eingangsadapter.common.formdata.FormSolutionsTestFactory.*; + +public class FormSolutionsEingangTestFactory { + + public static FormSolutionsEingang create() { + return createBuilder().build(); + } + + public static FormSolutionsEingang.FormSolutionsEingangBuilder createBuilder() { + return FormSolutionsEingang.builder() + .zustaendigeStelle(ZUSTAENDIGE_STELLE) + .postkorbhandle(POSTFACH_ID_STELLE) + .transactionId(FORM_ID_VALUE); + + } +} diff --git a/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsFilesTestFactory.java b/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsFilesTestFactory.java index 48a89328939273f56fce9efc4a18ac3da42724a5..9abc61f7327c87c4b2272dbde812f84b79434a91 100644 --- a/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsFilesTestFactory.java +++ b/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsFilesTestFactory.java @@ -24,7 +24,6 @@ package de.itvsh.kop.eingangsadapter.formsolutions; import static de.itvsh.kop.eingangsadapter.formsolutions.FormSolutionsAttachmentsMapper.*; -import static de.itvsh.kop.eingangsadapter.formsolutions.FormSolutionsRepresentationsMapper.*; import java.util.Base64; import java.util.Map; @@ -40,8 +39,6 @@ public class FormSolutionsFilesTestFactory { public static final String JSON_CONTENT = "{}"; - public static final FormData REPRESENTATIONS = FormSolutionsFilesTestFactory.createBuilder().formData(Map.of(PDF, PDF_ENCODED)).build(); - public static FormData create() { return FormSolutionsFilesTestFactory.createBuilder().build(); } diff --git a/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRepresentationsMapperTest.java b/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRepresentationsMapperTest.java deleted file mode 100644 index 928aed3a3b980b7f150dc07ef596f3b84e5ca8fe..0000000000000000000000000000000000000000 --- a/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRepresentationsMapperTest.java +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Copyright (C) 2022-2023 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ -package de.itvsh.kop.eingangsadapter.formsolutions; - -import static de.itvsh.kop.eingangsadapter.common.formdata.FormSolutionsTestFactory.*; -import static de.itvsh.kop.eingangsadapter.formsolutions.FormSolutionsFilesTestFactory.*; -import static de.itvsh.kop.eingangsadapter.formsolutions.FormSolutionsRepresentationsMapper.*; -import static org.assertj.core.api.Assertions.*; - -import java.io.File; -import java.util.List; -import java.util.Map; - -import org.junit.jupiter.api.AfterEach; -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.Spy; - -import de.itvsh.kop.common.test.TestUtils; -import de.itvsh.kop.eingangsadapter.common.file.TempFileUtils; -import de.itvsh.kop.eingangsadapter.common.formdata.FormSolutionsTestFactory; -import de.itvsh.kop.eingangsadapter.common.formdata.IncomingFile; -import lombok.SneakyThrows; - -class FormSolutionsRepresentationsMapperTest { - - @Spy - private FormSolutionsRepresentationsMapper mapper = new FormSolutionsRepresentationsMapper(); - - private File simpleJsonFile; - - @BeforeEach - void writeJsonFile() { - simpleJsonFile = TempFileUtils.writeTmpFile(SIMPLE_JSON_DATA); - } - - @AfterEach - void delJsonFile() { - simpleJsonFile.delete(); - } - - @DisplayName("Map representations") - @Nested - class TestMapRepresentations { - - @DisplayName("pdf") - @Nested - class TestPdfRepresentations { - - @Test - @SneakyThrows - void shouldSetContentStrean() { - var representation = mapRepresentationPdf(); - - assertThat(TestUtils.contentStreamToByteArray(representation.getContentStream())).isEqualTo(PDF_DECODED); - } - - @Test - void shouldSetHaveContentType() { - var representation = mapRepresentationPdf(); - - assertThat(representation.getContentType()).isEqualTo(PDF_CONTENT_TYPE); - } - - @Test - void shouldSetName() { - var representation = mapRepresentationPdf(); - - assertThat(representation.getName()).isEqualTo(FILE_NAME_PDF_REP); - } - - @Test - void shouldSetSize() { - var representation = mapRepresentationPdf(); - - assertThat(representation.getSize()).isEqualTo(FormSolutionsFilesTestFactory.PDF_DECODED.length); - } - - private IncomingFile mapRepresentationPdf() { - return mapRepresentation().get(0); - } - } - - @DisplayName("json") - @Nested - class TestJsonRepresentation { - - @Test - void shouldHaveSize() { - var map = mapRepresentation(); - - assertThat(map).hasSize(2); - } - - @Test - @SneakyThrows - void shouldSetContentStream() { - var representation = mapRepresentationJson(); - - assertThat(TestUtils.contentStreamToByteArray(representation.getContentStream())) - .isEqualTo(FormSolutionsTestFactory.SIMPLE_JSON_DATA.getBytes()); - } - - @Test - void shouldSetContentType() { - var representation = mapRepresentationJson(); - - assertThat(representation.getContentType()).isEqualTo(JSON_CONTENT_TYPE); - } - - @Test - void shouldSetName() { - var representation = mapRepresentationJson(); - - assertThat(representation.getName()).isEqualTo(FILE_NAME_JSON_REP); - } - - @Test - void shouldSetSize() { - var representation = mapRepresentationJson(); - - assertThat(representation.getSize()).isEqualTo(SIMPLE_JSON_DATA.getBytes().length); - } - - @Test - void shouldParseJsonOnly() { - var map = mapper.mapRepresentations( - FormSolutionsFilesTestFactory.createBuilder().formData(Map.of()).build().getFormData(), - simpleJsonFile); - - assertThat(map).hasSize(1); - assertThat(map.get(0).getContentType()).isEqualTo(JSON_CONTENT_TYPE); - } - - private IncomingFile mapRepresentationJson() { - return mapRepresentation().get(1); - } - } - - private List<IncomingFile> mapRepresentation() { - return mapper.mapRepresentations(REPRESENTATIONS.getFormData(), simpleJsonFile); - } - } - -} diff --git a/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapperITCase.java b/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapperITCase.java index 68b8319759d08b52c1adaab23f3f9abaebbf6ade..3f19ad2d92b23e05cb1eeb218d25d1174a3d452b 100644 --- a/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapperITCase.java +++ b/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapperITCase.java @@ -83,7 +83,7 @@ class FormSolutionsRequestMapperITCase { void shouldHaveIdentifier() { var panel = parseAndGetPanel(); - assertThat(panel.get(FormSolutionsEngineBasedAdapter.IDENTIFIER)).isNotNull(); + assertThat(panel.get(FormSolutionsEngineBasedAdapter.IDENTIFIER_KEY)).isNotNull(); } @Test @@ -123,7 +123,7 @@ class FormSolutionsRequestMapperITCase { void shouldHaveIdentifier() { var component = parseAndGetComponent(); - assertThat(component).containsEntry(FormSolutionsEngineBasedAdapter.IDENTIFIER, OBJEKTGRUPPE_0); + assertThat(component).containsEntry(FormSolutionsEngineBasedAdapter.IDENTIFIER_KEY, OBJEKTGRUPPE_0); } @Test diff --git a/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapperTest.java b/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapperTest.java index 4c8f7428ed245913a44409b37312f9222e0c0001..2ea67b6a7773e28d3a05011439288c839715a92a 100644 --- a/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapperTest.java +++ b/formsolutions-adapter/src/test/java/de/itvsh/kop/eingangsadapter/formsolutions/FormSolutionsRequestMapperTest.java @@ -31,6 +31,7 @@ import static org.mockito.Mockito.*; import java.io.File; import java.io.InputStream; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -39,30 +40,27 @@ 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.ArgumentCaptor; +import org.mockito.Captor; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.Mockito; import org.mockito.Spy; import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import de.itvsh.kop.common.errorhandling.TechnicalException; import de.itvsh.kop.eingangsadapter.common.file.TempFileUtils; -import de.itvsh.kop.eingangsadapter.common.formdata.FormDataTestFactory; -import de.itvsh.kop.eingangsadapter.semantik.enginebased.FilesMapperHelper; +import de.itvsh.kop.eingangsadapter.common.formdata.IncomingFileGroup; +import de.itvsh.kop.eingangsadapter.common.formdata.IncomingFileGroupTestFactory; import lombok.SneakyThrows; class FormSolutionsRequestMapperTest { - private static final String TRANSACTION_ID = "transactionId"; private static final String COMPONENTS = "components"; private static final String STRING_VALUE = "stringValue"; private static final String PANELS = "panels"; - private static final String ZUSTAENDIGE_STELLE = "zustaendigeStelle"; - private static final String POSTKORBHANDLE = "postkorbhandle"; @Spy @InjectMocks @@ -70,8 +68,8 @@ class FormSolutionsRequestMapperTest { @Mock private FormSolutionsAttachmentsMapper attachmentMapper; - @Mock - private FormSolutionsRepresentationsMapper representationsMapper; +// @Mock +// private FormSolutionsRepresentationsMapper representationsMapper; @Spy private ObjectMapper objectMapper = new ObjectMapper(); @@ -92,100 +90,76 @@ class FormSolutionsRequestMapperTest { } @Nested - class TestJsonToMapMapping { - - @Test - void shouldMap() { - var dataMap = mapper.mapFormData(simpleJsonFile); - - assertThat(dataMap).isNotNull(); - } - - @Test - void shouldContainZustaendigeStelle() { - var dataMap = mapper.mapFormData(simpleJsonFile); - - assertThat((String) dataMap.get(ZUSTAENDIGE_STELLE)).isEqualTo(ORGANISATIONSEINHEITEN_ID); - } - - @Test - void shouldContainsPostfachId() { - var dataMap = mapper.mapFormData(simpleJsonFile); - - assertThat((String) dataMap.get(POSTKORBHANDLE)).isEqualTo(POSTFACH_ID); - } + class TestJsonToEingangMapping { @Test - void shouldContainRequestId() { - var dataMap = mapper.mapFormData(simpleJsonFile); + void shouldMapControlValues() { + var eingang = mapper.mapEingang(simpleJsonFile); - assertThat((String) dataMap.get(TRANSACTION_ID)).isEqualTo(FORM_ID_VALUE); + assertThat(eingang).isNotNull().usingRecursiveComparison() + .ignoringFields("zip", "pdf", "assistant").isEqualTo(FormSolutionsEingangTestFactory.create()); } @Test - void shouldContainAssitant() { - var dataMap = mapper.mapFormData(simpleJsonFile); + void shouldHaveAssistantData() { + var eingang = mapper.mapEingang(simpleJsonFile); - assertThat(dataMap.get(ASSISTANT)).isNotNull(); + assertThat(eingang.getAssistant()).isNotEmpty(); } @Test @SneakyThrows void shouldHandleJsonException() throws JsonMappingException, JsonProcessingException { - doThrow(JsonProcessingException.class).when(objectMapper).readValue(any(InputStream.class), - Mockito.<TypeReference<Map<String, Object>>>any()); + doThrow(JsonProcessingException.class).when(objectMapper).readValue(any(InputStream.class), eq(FormSolutionsEingang.class)); - assertThatThrownBy(() -> mapper.mapFormData(simpleJsonFile)).isInstanceOf(TechnicalException.class); + assertThatThrownBy(() -> mapper.mapEingang(simpleJsonFile)).isInstanceOf(TechnicalException.class); } @Test - @SuppressWarnings("unchecked") void shouldContainFormIdentifier() { - var dataMap = mapper.mapFormData(simpleJsonFile); + var eingang = mapper.mapEingang(simpleJsonFile); - assertThat((String) ((Map<String, Object>) dataMap.get(ASSISTANT)) - .get(IDENTIFIER)) - .isEqualTo(IDENTIFIER_VALUE); + assertThat(eingang.getAssistant()).containsEntry(IDENTIFIER_KEY, IDENTIFIER_VALUE); } @Nested class TestPanels { @Test void shouldContainPanels() { - var dataMap = mapper.mapFormData(simpleJsonFile); + var eingang = mapper.mapEingang(simpleJsonFile); - assertThat(getPanels(dataMap)).isNotNull(); + assertThat(getPanels(eingang)).isNotNull(); } @Test void shouldContainPanelIdentifier() { - var dataMap = mapper.mapFormData(simpleJsonFile); + var eingang = mapper.mapEingang(simpleJsonFile); - assertThat(getPanels(dataMap).get(0)).containsEntry(IDENTIFIER, PANEL_ID); + assertThat(getPanels(eingang).get(0)).containsEntry(IDENTIFIER_KEY, PANEL_ID); } @Test void shouldContainPanelComponets() { - var dataMap = mapper.mapFormData(simpleJsonFile); + var eingang = mapper.mapEingang(simpleJsonFile); - assertThat(getPanels(dataMap).get(0).get(COMPONENTS)).isNotNull(); + assertThat(getPanels(eingang).get(0).get(COMPONENTS)).isNotNull(); } @Test void shouldContainTextComponets() { - var dataMap = mapper.mapFormData(simpleJsonFile); + var eingang = mapper.mapEingang(simpleJsonFile); - assertThat(getComponents(dataMap).get(0)) - .containsEntry(IDENTIFIER, COMPONENT_ID) + assertThat(getComponents(eingang).get(0)) + .containsEntry(IDENTIFIER_KEY, COMPONENT_ID) .containsEntry(STRING_VALUE, COMPONENT_VALUE); } @Test void shouldContainDateComponets() { - var dataMap = mapper.mapFormData(simpleJsonFile); + var eingang = mapper.mapEingang(simpleJsonFile); - assertThat(getComponents(dataMap).get(1)) - .containsEntry(IDENTIFIER, DATE_COMPONENT_ID) + assertThat(getComponents(eingang).get(1)) + .containsEntry(IDENTIFIER_KEY, DATE_COMPONENT_ID) .containsEntry(STRING_VALUE, DATE_COMPONENT_VALUE); } @@ -193,35 +167,35 @@ class FormSolutionsRequestMapperTest { class TestNestedPanels { @Test void shouldContainGroup() { - var dataMap = mapper.mapFormData(nestedComponenetJsonFile); + var eingang = mapper.mapEingang(nestedComponenetJsonFile); - assertThat(getComponents(dataMap).get(0)).containsEntry(IDENTIFIER, OBJEKTGRUPPE_0); + assertThat(getComponents(eingang).get(0)).containsEntry(IDENTIFIER_KEY, OBJEKTGRUPPE_0); } @Test void shouldContainDateField() { - var dataMap = mapper.mapFormData(nestedComponenetJsonFile); + var eingang = mapper.mapEingang(nestedComponenetJsonFile); - assertThat(getNestedComponents(dataMap).get(0)) - .containsEntry(IDENTIFIER, DATE_COMPONENT_ID) + assertThat(getNestedComponents(eingang).get(0)) + .containsEntry(IDENTIFIER_KEY, DATE_COMPONENT_ID) .containsEntry(STRING_VALUE, DATE_COMPONENT_VALUE); } } } @SuppressWarnings("unchecked") - private List<Map<String, Object>> getComponents(Map<String, Object> dataMap) { - return (List<Map<String, Object>>) getPanels(dataMap).get(0).get(COMPONENTS); + private List<Map<String, Object>> getComponents(FormSolutionsEingang eingang) { + return (List<Map<String, Object>>) getPanels(eingang).get(0).get(COMPONENTS); } @SuppressWarnings("unchecked") - private List<Map<String, Object>> getNestedComponents(Map<String, Object> dataMap) { - return (List<Map<String, Object>>) ((List<Map<String, Object>>) getPanels(dataMap).get(0).get(COMPONENTS)).get(0).get(COMPONENTS); + private List<Map<String, Object>> getNestedComponents(FormSolutionsEingang eingang) { + return (List<Map<String, Object>>) ((List<Map<String, Object>>) getPanels(eingang).get(0).get(COMPONENTS)).get(0).get(COMPONENTS); } @SuppressWarnings("unchecked") - private List<Map<String, Object>> getPanels(Map<String, Object> dataMap) { - return (List<Map<String, Object>>) ((Map<String, Object>) dataMap.get(ASSISTANT)).get(PANELS); + private List<Map<String, Object>> getPanels(FormSolutionsEingang eingang) { + return (List<Map<String, Object>>) eingang.getAssistant().getOrDefault(PANELS, Collections.emptyList()); } } @@ -232,6 +206,8 @@ class FormSolutionsRequestMapperTest { class TestMapFiles { private File jsonFile; + @Captor + private ArgumentCaptor<File> fileCaptor; @BeforeEach void writeJsonFile() { @@ -244,44 +220,38 @@ class FormSolutionsRequestMapperTest { } @Test - void shouldCallAttachmentMappers() { - mapper.mapFiles(FormDataTestFactory.create(), jsonFile); + void shouldMapZipFile() { + var eingang = mapper.mapEingang(jsonFile); - verify(attachmentMapper).mapAttachments(Mockito.<Map<String, Object>>any()); + assertThat(eingang.getZip()).exists().content().isEqualTo(ZIP_VALUE_DECODED); } - @DisplayName("result should have mapped files field") @Test - void shouldHaveMappedFilesField() { - var result = mapper.mapFiles(FormDataTestFactory.create(), jsonFile); - - assertThat(result.getFormData()).containsKey(FilesMapperHelper.FIELD_NAME_MAPPED_FILES); - } - - @Test - void shouldCallRepresentationMapper() { - mapper.mapFiles(FormDataTestFactory.create(), jsonFile); + void shouldCallAttachmentMappers() { + mapper.map(jsonFile); - verify(representationsMapper).mapRepresentations(Mockito.<Map<String, Object>>any(), eq(jsonFile)); + verify(attachmentMapper).mapAttachments(fileCaptor.capture()); + assertThat(fileCaptor.getValue()).content().isEqualTo(ZIP_VALUE_DECODED); } + @DisplayName("result should have mapped files field") @Test - void shouldRemoveZip() { - var formData = FormDataTestFactory.withFormDataMaps(Map.of(FormSolutionsAttachmentsMapper.ZIP, "test")); + void shouldHaveMappedFilesField() { + IncomingFileGroup fileGroup = IncomingFileGroupTestFactory.create(); + when(attachmentMapper.mapAttachments(any())).thenReturn(List.of(fileGroup)); - var dataMap = mapper.mapFiles(formData, jsonFile); + var result = mapper.map(jsonFile); - assertThat(dataMap.getFormData()).doesNotContainKey(FormSolutionsAttachmentsMapper.ZIP); + assertThat(result.getAttachments()).containsExactly(fileGroup); } @Test - void shouldRemovePdf() { - var formData = FormDataTestFactory.withFormDataMaps(Map.of(FormSolutionsRepresentationsMapper.PDF, "test")); - - var dataMap = mapper.mapFiles(formData, jsonFile); + void shouldAddRepresentations() { + var result = mapper.map(jsonFile); - assertThat(dataMap.getFormData()).doesNotContainKey(FormSolutionsRepresentationsMapper.PDF); + assertThat(result.getRepresentations()).hasSize(2); } + } } diff --git a/pom.xml b/pom.xml index 498c8c66400d24c1978579b4bf4f2ff41ffa0961..6fc246a67537eb4756daa635c5a8fc937895c72c 100644 --- a/pom.xml +++ b/pom.xml @@ -31,7 +31,7 @@ <parent> <groupId>de.itvsh.kop.common</groupId> <artifactId>kop-common-parent</artifactId> - <version>2.1.0</version> + <version>2.2.0-SNAPSHOT</version> <relativePath/> <!-- lookup parent from repository --> </parent> diff --git a/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsEngineBasedAdapter.java b/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsEngineBasedAdapter.java index 529f5a947ba26ba343c8af0a364bffcb973a734a..ebdce78e8567c20d789ace1162662ba47f73ab4d 100644 --- a/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsEngineBasedAdapter.java +++ b/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsEngineBasedAdapter.java @@ -33,7 +33,7 @@ import de.itvsh.kop.eingangsadapter.semantik.enginebased.EngineBasedSemantikAdap public class FormSolutionsEngineBasedAdapter implements EngineBasedSemantikAdapter { - public static final String IDENTIFIER = "identifier"; + public static final String IDENTIFIER_KEY = "identifier"; public static final String ASSISTANT = "assistant"; public static final String ANLIEGEN_ID = "anliegenId"; diff --git a/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsHeaderMapper.java b/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsHeaderMapper.java index b9990e7663eae32144e32c036f252d5daa72a291..304ddb05dbc812f62b758f8ce9e04e6fa0b25e1b 100644 --- a/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsHeaderMapper.java +++ b/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsHeaderMapper.java @@ -72,7 +72,7 @@ class FormSolutionsHeaderMapper implements FormSolutionsEngineBasedMapper { } private String getIdentifier(FormData formData) { - return (String) getAssistant(formData).get(IDENTIFIER); + return (String) getAssistant(formData).get(IDENTIFIER_KEY); } private Map<String, Object> getAssistant(FormData formData) { diff --git a/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsPanelMapper.java b/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsPanelMapper.java index 9b3e683458f91d7bd8254105e8b6e3c9dfd72667..87d837ef972e19bf1d9f8a88c068e15a7270dc65 100644 --- a/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsPanelMapper.java +++ b/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsPanelMapper.java @@ -55,7 +55,7 @@ class FormSolutionsPanelMapper implements FormSolutionsEngineBasedMapper { } var resultMap = new HashMap<String, Object>(); for (Map<String, Object> panel : panels) { - var identifier = (String) panel.get(IDENTIFIER); + var identifier = (String) panel.get(IDENTIFIER_KEY); if (isNull(identifier)) { continue; } diff --git a/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/IdentifierValueParser.java b/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/IdentifierValueParser.java index 59eb0465c6d227969ee3a3f1f7904a2ea22c2563..bfc638327d7710c91779f48908da68f2b861c343 100644 --- a/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/IdentifierValueParser.java +++ b/semantik-adapter/src/main/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/IdentifierValueParser.java @@ -54,7 +54,7 @@ class IdentifierValueParser { } for (Map<String, Object> panel : panels) { parse(FormSolutionsPanelMapper.getComponentList(panel)); - var identifier = (String) panel.get(FormSolutionsEngineBasedAdapter.IDENTIFIER); + var identifier = (String) panel.get(FormSolutionsEngineBasedAdapter.IDENTIFIER_KEY); var value = (String) panel.get(FormSolutionsPanelMapper.STRING_VALUE); if (nonNull(identifier) && nonNull(value)) { resultMap.put(identifier, value); diff --git a/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsAntragstellerMapperTest.java b/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsAntragstellerMapperTest.java index b6fc00d00628bc85b20fd71366be3a5a3f958b37..4bc71654dad38bc2a0f2b487fb194475f4856ad7 100644 --- a/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsAntragstellerMapperTest.java +++ b/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsAntragstellerMapperTest.java @@ -54,13 +54,13 @@ class FormSolutionsAntragstellerMapperTest { class TestParseFormData { private static final String ANTRAGSTELLER_NAME_PANEL_IDENTIFIER = "AS_Name1"; private static final List<Map<String, Object>> ANTRAGSTELLER_PANEL_CONTENT_LIST = List.of( - Map.of(IDENTIFIER, ANTRAGSTELLER_NAME_PANEL_IDENTIFIER), + Map.of(IDENTIFIER_KEY, ANTRAGSTELLER_NAME_PANEL_IDENTIFIER), Map.of(COMPONENTS, List.of( - Map.of(IDENTIFIER, VORNAME_KEY, STRING_VALUE, VORNAME), - Map.of(IDENTIFIER, NACHNAME_KEY, STRING_VALUE, NACHNAME)))); + Map.of(IDENTIFIER_KEY, VORNAME_KEY, STRING_VALUE, VORNAME), + Map.of(IDENTIFIER_KEY, NACHNAME_KEY, STRING_VALUE, NACHNAME)))); private static final Map<String, Object> ASSISTANT_MAP = Map.of(PANELS, List.of( - Map.of(IDENTIFIER, ANTRAGSTELLER_PANEL_IDENTIFIER), + Map.of(IDENTIFIER_KEY, ANTRAGSTELLER_PANEL_IDENTIFIER), Map.of(COMPONENTS, ANTRAGSTELLER_PANEL_CONTENT_LIST))); private final FormData formData = FormDataTestFactory.createBuilder().antragsteller(null) diff --git a/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsHeaderTestFactory.java b/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsHeaderTestFactory.java index 57ad22fc93bfc57cebae4c6919cb00f51792577d..44335bea8ece31261121b1bcf366eb1b69d0cf1e 100644 --- a/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsHeaderTestFactory.java +++ b/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsHeaderTestFactory.java @@ -44,7 +44,7 @@ public class FormSolutionsHeaderTestFactory { public static FormData.FormDataBuilder createBuilder() { return FormData.builder() .formData(Map.of( - ASSISTANT, Map.of(IDENTIFIER, FORM_NAME), + ASSISTANT, Map.of(IDENTIFIER_KEY, FORM_NAME), TRANSACTION_ID, REQUEST_ID, FormSolutionsHeaderMapper.POSTKORBHANDLE, POSTKORBHANDLE_VALUE)); } diff --git a/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsPanelTestFactory.java b/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsPanelTestFactory.java index 8c492a71bf4f7bda0dd17bb511341a78774e2d29..ce098747e8923772e946d10fecabdf2f73fa0aa2 100644 --- a/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsPanelTestFactory.java +++ b/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/FormSolutionsPanelTestFactory.java @@ -41,47 +41,47 @@ public class FormSolutionsPanelTestFactory { public static final String FORM = "AS_123"; public static final List<Map<String, Object>> COMPONENT_LIST = List.of( Map.of( - IDENTIFIER, TEXT_FIELD, + IDENTIFIER_KEY, TEXT_FIELD, STRING_VALUE, STRING_VALUE_CONTENT), Map.of( - IDENTIFIER, DATE_FIELD, + IDENTIFIER_KEY, DATE_FIELD, STRING_VALUE, DATE_VALUE_CONTENT)); public static final List<Map<String, Object>> EMPTY_COMPONENT_LIST = List.of( - Map.of(IDENTIFIER, TEXT_FIELD, "needed", false)); + Map.of(IDENTIFIER_KEY, TEXT_FIELD, "needed", false)); public static final List<Map<String, Object>> NESTED_COMPONENT_LIST = List.of( Map.of( - IDENTIFIER, GROUP_IDENTIFIER, + IDENTIFIER_KEY, GROUP_IDENTIFIER, COMPONENTS, List.of(Map.of( - IDENTIFIER, DATE_FIELD, + IDENTIFIER_KEY, DATE_FIELD, STRING_VALUE, DATE_VALUE_CONTENT)))); public static final List<Map<String, Object>> PANEL_LIST = List.of(Map.of( - IDENTIFIER, PANEL_0, + IDENTIFIER_KEY, PANEL_0, COMPONENTS, COMPONENT_LIST)); public static final List<Map<String, Object>> PANEL_LIST_EMPTY = List.of(Map.of( - IDENTIFIER, PANEL_0, + IDENTIFIER_KEY, PANEL_0, COMPONENTS, EMPTY_COMPONENT_LIST)); public static final List<Map<String, Object>> NESTED_PANEL_LIST = List.of(Map.of( - IDENTIFIER, PANEL_0, + IDENTIFIER_KEY, PANEL_0, COMPONENTS, NESTED_COMPONENT_LIST)); public static final Map<String, Object> PANEL_FORM = Map.of( ASSISTANT, Map.of( - IDENTIFIER, FORM, + IDENTIFIER_KEY, FORM, PANELS, PANEL_LIST)); public static final Map<String, Object> NESTED_PANEL_FORM = Map.of( ASSISTANT, Map.of( - IDENTIFIER, FORM, + IDENTIFIER_KEY, FORM, PANELS, NESTED_PANEL_LIST)); public static final Map<String, Object> PANEL_FORM_EMPTY = Map.of( ASSISTANT, Map.of( - IDENTIFIER, FORM, + IDENTIFIER_KEY, FORM, PANELS, PANEL_LIST_EMPTY)); public static FormData create() { diff --git a/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/IdentifierValueParserTest.java b/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/IdentifierValueParserTest.java index d01c5e792317772d9b35418f8aaca08818f37b1a..db8051ea44f7d19f997b0118e88f0f34d2151b92 100644 --- a/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/IdentifierValueParserTest.java +++ b/semantik-adapter/src/test/java/de/itvsh/kop/eingangsadapter/semantik/enginebased/formsolutions/IdentifierValueParserTest.java @@ -42,13 +42,13 @@ class IdentifierValueParserTest { private static final String ANTRAGSTELLER_NAME_PANEL_IDENTIFIER = "AS_Name1"; private static final List<Map<String, Object>> ANTRAGSTELLER_PANEL_CONTENT_LIST = List.of( - Map.of(IDENTIFIER, ANTRAGSTELLER_NAME_PANEL_IDENTIFIER), + Map.of(IDENTIFIER_KEY, ANTRAGSTELLER_NAME_PANEL_IDENTIFIER), Map.of(COMPONENTS, List.of( - Map.of(IDENTIFIER, VORNAME_KEY, STRING_VALUE, VORNAME), - Map.of(IDENTIFIER, NACHNAME_KEY, STRING_VALUE, NACHNAME)))); + Map.of(IDENTIFIER_KEY, VORNAME_KEY, STRING_VALUE, VORNAME), + Map.of(IDENTIFIER_KEY, NACHNAME_KEY, STRING_VALUE, NACHNAME)))); private static final Map<String, Object> ASSISTANT_MAP = Map.of(PANELS, List.of( - Map.of(IDENTIFIER, ANTRAGSTELLER_PANEL_IDENTIFIER), Map.of(COMPONENTS, ANTRAGSTELLER_PANEL_CONTENT_LIST))); + Map.of(IDENTIFIER_KEY, ANTRAGSTELLER_PANEL_IDENTIFIER), Map.of(COMPONENTS, ANTRAGSTELLER_PANEL_CONTENT_LIST))); private FormData formData = FormDataTestFactory.createBuilder() .formData(Map.of(SIMPLE_VALUE_KEY, SIMPLE_VALUE,