Skip to content
Snippets Groups Projects
Commit fce72824 authored by Jan Zickermann's avatar Jan Zickermann
Browse files

OZG-5415 Mantelantrag: Log warning instead of throwing exception

parent b399b099
No related branches found
No related tags found
No related merge requests found
...@@ -13,9 +13,11 @@ import de.ozgcloud.eingang.common.errorhandling.TechnicalException; ...@@ -13,9 +13,11 @@ import de.ozgcloud.eingang.common.errorhandling.TechnicalException;
import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle; import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
@Log4j2
public class MantelantragFormBasedMapper implements FormBasedMapper { public class MantelantragFormBasedMapper implements FormBasedMapper {
private final Environment environment; private final Environment environment;
...@@ -42,6 +44,15 @@ public class MantelantragFormBasedMapper implements FormBasedMapper { ...@@ -42,6 +44,15 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
@Override @Override
public FormData adaptFormData(FormData formData) { public FormData adaptFormData(FormData formData) {
try {
return adaptFormDataWithPossibleException(formData);
} catch (TechnicalException exception) {
LOG.warn("Mantelantrag is invalid: %s".formatted(exception.getMessage()));
return formData;
}
}
FormData adaptFormDataWithPossibleException(FormData formData) {
var fieldMap = formData.getFormData(); var fieldMap = formData.getFormData();
var slotIndex = findSlotIndex(fieldMap); var slotIndex = findSlotIndex(fieldMap);
UnaryOperator<String> getValueOrEmpty = field -> getFieldByKeyOrEmpty( UnaryOperator<String> getValueOrEmpty = field -> getFieldByKeyOrEmpty(
...@@ -51,7 +62,7 @@ public class MantelantragFormBasedMapper implements FormBasedMapper { ...@@ -51,7 +62,7 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
var organisationseinheitId = getValueOrEmpty.apply(ORGANISATIONSEINHEIT_ID_FIELD); var organisationseinheitId = getValueOrEmpty.apply(ORGANISATIONSEINHEIT_ID_FIELD);
if (organisationseinheitId.isBlank()) { if (organisationseinheitId.isBlank()) {
throw new TechnicalException("OrganistaionseinheitId not found in Mantelantrag!"); throw new TechnicalException("OrganistaionseinheitId not found!");
} }
return formData.toBuilder() return formData.toBuilder()
......
...@@ -76,6 +76,37 @@ class MantelantragFormBasedMapperTest { ...@@ -76,6 +76,37 @@ class MantelantragFormBasedMapperTest {
@Nested @Nested
class TestAdaptFormData { class TestAdaptFormData {
@Mock
private FormData formData;
@Mock
private FormData formData2;
@DisplayName("should return adapted value")
@Test
void shouldReturnAdaptedValue() {
doReturn(formData2).when(mapper).adaptFormDataWithPossibleException(formData);
var resultFormData = mapper.adaptFormData(formData);
assertThat(resultFormData).isEqualTo(formData2);
}
@DisplayName("should return original value with exception")
@Test
void shouldReturnOriginalValueWithException() {
doThrow(new TechnicalException("some error")).when(mapper).adaptFormDataWithPossibleException(formData);
var resultFormData = mapper.adaptFormData(formData);
assertThat(resultFormData).isEqualTo(formData);
}
}
@DisplayName("adapt form data with possible exception")
@Nested
class TestAdaptFormDataWithPossibleException {
private FormData formData; private FormData formData;
private Map<String, Object> fieldMap; private Map<String, Object> fieldMap;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment