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
Branches
Tags
No related merge requests found
......@@ -13,9 +13,11 @@ import de.ozgcloud.eingang.common.errorhandling.TechnicalException;
import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
@Component
@RequiredArgsConstructor
@Log4j2
public class MantelantragFormBasedMapper implements FormBasedMapper {
private final Environment environment;
......@@ -42,6 +44,15 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
@Override
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 slotIndex = findSlotIndex(fieldMap);
UnaryOperator<String> getValueOrEmpty = field -> getFieldByKeyOrEmpty(
......@@ -51,7 +62,7 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
var organisationseinheitId = getValueOrEmpty.apply(ORGANISATIONSEINHEIT_ID_FIELD);
if (organisationseinheitId.isBlank()) {
throw new TechnicalException("OrganistaionseinheitId not found in Mantelantrag!");
throw new TechnicalException("OrganistaionseinheitId not found!");
}
return formData.toBuilder()
......
......@@ -76,6 +76,37 @@ class MantelantragFormBasedMapperTest {
@Nested
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 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