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

OZG-5412 mantelantrag: Split up large method

parent 1004c459
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,6 @@ import java.util.Optional;
import java.util.function.UnaryOperator;
import java.util.stream.IntStream;
import de.ozgcloud.eingang.semantik.formbased.FormBasedMapper;
import org.apache.commons.collections.MapUtils;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
......@@ -13,6 +12,7 @@ import org.springframework.stereotype.Component;
import de.ozgcloud.eingang.common.errorhandling.TechnicalException;
import de.ozgcloud.eingang.common.formdata.FormData;
import de.ozgcloud.eingang.common.formdata.ZustaendigeStelle;
import de.ozgcloud.eingang.semantik.formbased.FormBasedMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
......@@ -53,19 +53,16 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
FormData adaptFormDataWithPossibleException(FormData formData) {
var fieldMap = formData.getFormData();
var slotIndex = findSlotIndex(fieldMap);
UnaryOperator<String> getValueOrEmpty = field -> getFieldByKeyOrEmpty(
return adaptFormDataWithValueGetter(formData, field -> getFieldByKeyOrEmpty(
fieldMap,
getNameForSlotIndex(field, slotIndex)
);
var organisationseinheitId = getValueOrEmpty.apply(ORGANISATIONSEINHEIT_ID_FIELD);
if (organisationseinheitId.isBlank()) {
throw new TechnicalException("OrganistaionseinheitId not found!");
}
));
}
private FormData adaptFormDataWithValueGetter(FormData formData, UnaryOperator<String> getValueOrEmpty) {
return formData.toBuilder()
.zustaendigeStelle(ZustaendigeStelle.builder()
.organisationseinheitenId(organisationseinheitId)
.organisationseinheitenId(getOrganisationseinheitId(getValueOrEmpty))
.bezeichnung(getValueOrEmpty.apply(BEZEICHNUNG_FIELD))
.email(getValueOrEmpty.apply(EMAIL_FIELD))
.hausanschriftStrasse(getValueOrEmpty.apply(HAUSANSCHRIFT_STRASSE_FIELD))
......@@ -76,6 +73,16 @@ public class MantelantragFormBasedMapper implements FormBasedMapper {
.build();
}
private String getOrganisationseinheitId(UnaryOperator<String> getValueOrEmpty) {
var organisationseinheitId = getValueOrEmpty.apply(ORGANISATIONSEINHEIT_ID_FIELD);
if (organisationseinheitId.isBlank()) {
throw new TechnicalException("OrganistaionseinheitId not found!");
}
return organisationseinheitId;
}
int findSlotIndex(Map<String, Object> fieldMap) {
var identifier = environment.getProperty("ozgcloud.xta.identifier");
return IntStream.range(0, 3)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment