Skip to content
Snippets Groups Projects
Commit 39da8d7f authored by OZGCloud's avatar OZGCloud
Browse files

OZG-5156 Mock data for not available header data

parent 04a5c6af
Branches
Tags
No related merge requests found
......@@ -15,6 +15,10 @@
<groupId>de.ozgcloud.eingang</groupId>
<artifactId>common</artifactId>
</dependency>
<dependency>
<groupId>de.ozgcloud.eingang</groupId>
<artifactId>semantik-adapter</artifactId>
</dependency>
<!--spring-->
<dependency>
......@@ -34,6 +38,10 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>de.ozgcloud.eingang</groupId>
<artifactId>semantik-adapter</artifactId>
</dependency>
</dependencies>
<build>
......
......@@ -3,6 +3,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 de.ozgcloud.eingang.semantik.enginebased.EngineBasedMapper;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -19,7 +20,7 @@ import java.util.Optional;
@Log4j2
@Service
public class FimBasedMapper {
public class FimBasedMapper implements EngineBasedMapper {
@Autowired
private FimService fimService = null;
......@@ -66,7 +67,7 @@ public class FimBasedMapper {
}
private Optional<String> getEntryPoint(final IncomingFile incomingFile) {
// TODO sollte über formdata metadaten kommen statt aus dem meta file geparsed zu werden
// FIXME sollte über formdata metadaten kommen statt aus dem meta file geparsed zu werden
return Optional.of("Antrag.xml");
}
......
package de.ozgcloud.eingang.fim.adapter;
import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.fim.FimException;
import de.ozgcloud.eingang.fim.FimSchemeIdentifier;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.NotImplementedException;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
......@@ -10,6 +10,7 @@ import org.w3c.dom.NodeList;
import java.util.Map;
import java.util.Optional;
@Log4j2
public class FimSchemeAdapter {
public FimSchemeIdentifier forIdentifier() {
......@@ -23,7 +24,8 @@ public class FimSchemeAdapter {
final String[] fieldNameParts = fieldName.split(":");
final String fieldNameWithoutNamespace = fieldNameParts[fieldNameParts.length - 1];
if (!fieldIndex.containsKey(fieldNameWithoutNamespace)) {
throw new FimException("Cannot find Field: " + fieldName);
LOG.error("Cannot find Field: " + fieldName);
return Optional.empty();
}
final Element nodeNameElement = fieldIndex.get(fieldNameWithoutNamespace);
final Optional<String> nodeNameOpt = getNameForElement(nodeNameElement);
......
package de.ozgcloud.eingang.fim.adapter;
import de.ozgcloud.eingang.common.formdata.Antragsteller;
import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle;
import de.ozgcloud.eingang.fim.FimSchemeIdentifier;
import org.springframework.stereotype.Service;
import org.w3c.dom.Element;
......@@ -23,10 +25,28 @@ public class VersammlungsAnzeigeAdapter extends FimSchemeAdapter {
@Override
public void extractAntragsteller(final FormData.FormDataBuilder builder, final FormData initialFormData) {
// FIXME sollte über formdata metadaten kommen
builder.antragsteller(Antragsteller.builder()
.anrede("Frau")
.vorname("Erika")
.nachname("Mustermann")
.geburtsdatum("29.02.1996")
.geburtsort("Musterstadt")
.geburtsort("erika.mustermann@gmx.de")
.telefon("0123/567890")
.strasse("Musterstrasse")
.hausnummer("7")
.plz("01234")
.ort("Musterstadt")
.build());
}
@Override
public void extractZustaendigeStelle (final FormData.FormDataBuilder builder, final FormData initialFormData) {
// FIXME sollte über formdata metadaten kommen
builder.zustaendigeStelle(ZustaendigeStelle.builder()
.organisationseinheitenId("vbe:010550120100")
.build());
}
}
package de.ozgcloud.eingang.fim;
import de.ozgcloud.common.test.ITCase;
import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.IncomingFile;
import de.ozgcloud.eingang.common.formdata.IncomingFileGroup;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
......@@ -22,9 +21,9 @@ import java.util.Map;
import static org.junit.Assert.*;
@SpringBootTest
@ActiveProfiles("test")
@ConfigurationProperties
@ActiveProfiles("test")
@ITCase
public class FimServiceTest {
@Autowired
......@@ -47,16 +46,10 @@ public class FimServiceTest {
}
@Test
@Disabled
void shouldNoFindInvalidScheme() {
Exception exception = assertThrows(FimException.class, () -> {
fimService.getSchemeForIdentifier("test");
});
String expectedMessage = "Cannot find schema for: test";
String actualMessage = exception.getMessage();
final FimScheme scheme = fimService.getSchemeForIdentifier("test");
assertEquals(expectedMessage, actualMessage);
assertEquals(FimSchemeIdentifier.fromString("unknown"), scheme.getIdentifier());
}
@Test
......@@ -74,8 +67,13 @@ public class FimServiceTest {
@Test
void shouldTransformSimpleDocument() throws ParserConfigurationException, IOException, SAXException {
final Document document = loadDocument("src/test/resources/test2.xml");
FormData formData = fimService.transformDocument(document, FormData.builder().build());
Assertions.assertEquals("Testvalue", mapValue(formData.getFormData().get("xs:fim.S1235")));
final FormData formData = fimService.transformDocument(document, FormData.builder().build());
final Map<String, Object> expected = Map.of(
"xs:fim.S1235", Map.of("label", "Testkey", "value", "Testvalue"),
"xs:fim.S1236", Map.of("label", "xs:fim.S1236", "value", "Testvalue 2")
);
Assertions.assertEquals(expected, formData.getFormData());
}
@Test
......
<?xml version="1.0" encoding="UTF-8"?>
<xs:fim.S1234 xmlns:xfd="test2">
<xs:fim.S1234 xmlns:xfd="test2" xsi:schemaLocation="test2">
<xs:fim.S1235>Testvalue</xs:fim.S1235>
<xs:fim.S1236>Testvalue 2</xs:fim.S1236>
</xs:fim.S1234>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment