Skip to content
Snippets Groups Projects
Commit 895d293c authored by Tobias Bruns's avatar Tobias Bruns
Browse files

OZG-7144 optional read OEID from

parent 1566241d
No related branches found
No related tags found
1 merge request!3OZG-7144 optional read OEID from
Pipeline #2037 passed
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
<description>Semantik-Adapter für AFM/IntelliForm</description> <description>Semantik-Adapter für AFM/IntelliForm</description>
<properties> <properties>
<eingang-manager.version>2.18.0</eingang-manager.version> <eingang-manager.version>2.18.1</eingang-manager.version>
</properties> </properties>
<dependencies> <dependencies>
......
...@@ -33,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -33,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.FormData.FormDataControl;
import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle; import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle;
@Component @Component
...@@ -42,6 +43,8 @@ class AfmZustaendigeStelleMapper implements AfmEngineBasedMapper { ...@@ -42,6 +43,8 @@ class AfmZustaendigeStelleMapper implements AfmEngineBasedMapper {
public static final String EMAIL = "emailadresse"; public static final String EMAIL = "emailadresse";
public static final String ORGANISATIONSEINHEITEN_ID = "OrganisationseinheitenID"; public static final String ORGANISATIONSEINHEITEN_ID = "OrganisationseinheitenID";
public static final String ORGANISATIONSEINHEITEN_ID_ALT = "organisationseinheitid";
public static final String ORGANISATIONSEINHEITEN_ID_PARAMETER = "CUSTOMPARAMETER_ORGANISATIONSEINHEITID";
public static final String TAG_BEZEICHNUNG = "OrganisationseinheitenBEZEICHNUNG"; public static final String TAG_BEZEICHNUNG = "OrganisationseinheitenBEZEICHNUNG";
@Autowired @Autowired
...@@ -78,7 +81,13 @@ class AfmZustaendigeStelleMapper implements AfmEngineBasedMapper { ...@@ -78,7 +81,13 @@ class AfmZustaendigeStelleMapper implements AfmEngineBasedMapper {
} }
String getOrganisationseinheitenId(FormData formData) { String getOrganisationseinheitenId(FormData formData) {
return (String) formData.getFormData().get(ORGANISATIONSEINHEITEN_ID); return Optional.ofNullable((String) formData.getFormData().get(ORGANISATIONSEINHEITEN_ID))
.or(() -> getOeIdFromControl(formData.getControl()))
.orElseGet(() -> (String) formData.getFormData().get(ORGANISATIONSEINHEITEN_ID_ALT));
}
private Optional<String> getOeIdFromControl(FormDataControl control) {
return control.getMetaData().map(metaData -> metaData.getEntry(ORGANISATIONSEINHEITEN_ID_PARAMETER));
} }
Map<String, Object> addMetaDataFlag(FormData formData) { Map<String, Object> addMetaDataFlag(FormData formData) {
......
...@@ -24,10 +24,13 @@ ...@@ -24,10 +24,13 @@
package de.ozgcloud.eingang.semantik.enginebased.afm; package de.ozgcloud.eingang.semantik.enginebased.afm;
import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
...@@ -36,7 +39,10 @@ import org.mockito.Mock; ...@@ -36,7 +39,10 @@ import org.mockito.Mock;
import org.mockito.Spy; import org.mockito.Spy;
import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.FormData.FormDataControl;
import de.ozgcloud.eingang.common.formdata.FormDataTestFactory; import de.ozgcloud.eingang.common.formdata.FormDataTestFactory;
import de.ozgcloud.eingang.common.formdata.FormMetaData;
import de.ozgcloud.eingang.common.formdata.FormMetaDataTestFactory;
import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle; import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle;
class AfmZustaendigeStelleMapperTest { class AfmZustaendigeStelleMapperTest {
...@@ -125,6 +131,56 @@ class AfmZustaendigeStelleMapperTest { ...@@ -125,6 +131,56 @@ class AfmZustaendigeStelleMapperTest {
} }
} }
@Nested
class TestGetOrganisationsEinheitId {
@Test
void shouldGetId() {
var formData = FormData.builder().formData(AfmZustaendigeStelleTestFactory.createZustaendigeStelleMap()).build();
var result = mapper.getOrganisationseinheitenId(formData);
assertThat(result).isEqualTo(AfmZustaendigeStelleTestFactory.ORGANISATIONSEINHEITEN_ID);
}
@Test
void shouldGetIdFromAlternativField() {
var map = AfmZustaendigeStelleTestFactory.createZustaendigeStelleMap();
map.remove(AfmZustaendigeStelleMapper.ORGANISATIONSEINHEITEN_ID);
map.put(AfmZustaendigeStelleMapper.ORGANISATIONSEINHEITEN_ID_ALT, AfmZustaendigeStelleTestFactory.ORGANISATIONSEINHEITEN_ID);
var formData = FormData.builder().formData(map).build();
var result = mapper.getOrganisationseinheitenId(formData);
assertThat(result).isEqualTo(AfmZustaendigeStelleTestFactory.ORGANISATIONSEINHEITEN_ID);
}
@Test
void shouldGetIdFromMetaData() {
FormMetaData metaData = FormMetaDataTestFactory
.create(Map.of("CUSTOMPARAMETER_ORGANISATIONSEINHEITID", AfmZustaendigeStelleTestFactory.ORGANISATIONSEINHEITEN_ID));
var formData = FormDataTestFactory.createBuilder().formData(Collections.emptyMap())
.control(FormDataControl.builder().metaData(Optional.of(metaData)).build())
.build();
var result = mapper.getOrganisationseinheitenId(formData);
assertThat(result).isEqualTo(AfmZustaendigeStelleTestFactory.ORGANISATIONSEINHEITEN_ID);
}
@Test
void shouldReturnNullIfIdMissing() {
var map = AfmZustaendigeStelleTestFactory.createZustaendigeStelleMap();
map.remove(AfmZustaendigeStelleMapper.ORGANISATIONSEINHEITEN_ID);
var formData = FormData.builder().formData(map).build();
var result = mapper.getOrganisationseinheitenId(formData);
assertThat(result).isNull();
}
}
@Nested @Nested
class TestAddMetaDataFlag { class TestAddMetaDataFlag {
......
...@@ -27,8 +27,6 @@ import java.util.HashMap; ...@@ -27,8 +27,6 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import de.ozgcloud.eingang.semantik.enginebased.afm.AfmZustaendigeStelleMapper;
public class AfmZustaendigeStelleTestFactory { public class AfmZustaendigeStelleTestFactory {
public static final String ORGANISATIONSEINHEITEN_ID = UUID.randomUUID().toString(); public static final String ORGANISATIONSEINHEITEN_ID = UUID.randomUUID().toString();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment