diff --git a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapper.java b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapper.java index a70263b2acc1215ed495c94698401bc9a814db8f..e0b943c707fe2346ccc383406a2ac8db6425be13 100644 --- a/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapper.java +++ b/semantik-adapter/src/main/java/de/ozgcloud/eingang/semantik/formbased/MantelantragFormBasedMapper.java @@ -44,10 +44,10 @@ public class MantelantragFormBasedMapper implements FormBasedMapper { public FormData adaptFormData(FormData formData) { var fieldMap = formData.getFormData(); var slotIndex = findSlotIndex(fieldMap); - UnaryOperator<String> getValueOrEmpty = field -> getFieldByKey( + UnaryOperator<String> getValueOrEmpty = field -> getFieldByKeyOrEmpty( fieldMap, getNameForSlotIndex(field, slotIndex) - ).orElse(""); + ); var organisationseinheitId = getValueOrEmpty.apply(ORGANISATIONSEINHEIT_ID_FIELD); if (organisationseinheitId.isBlank()) { @@ -70,12 +70,10 @@ public class MantelantragFormBasedMapper implements FormBasedMapper { int findSlotIndex(Map<String, Object> fieldMap) { var identifier = environment.getProperty("ozgcloud.xta.identifier"); return IntStream.range(0, 3) - .filter(slotIndex -> getFieldByKey( + .filter(slotIndex -> getFieldByKeyOrEmpty( fieldMap, getNameForSlotIndex(ZUSTELLUNG_NACHRICHTENBROKER_FIELD, slotIndex) - ) - .map(value -> value.equals(identifier)) - .orElse(false) + ).equals(identifier) ) .findFirst() .orElseThrow(() -> new TechnicalException("No matching nachrichtenbroker address '%s' found!".formatted(identifier))); @@ -85,9 +83,10 @@ public class MantelantragFormBasedMapper implements FormBasedMapper { return slotIndex > 0 ? "%s%d".formatted(name, slotIndex + 1) : name; } - private Optional<String> getFieldByKey(Map<String, Object> fieldMap, String key) { + private String getFieldByKeyOrEmpty(Map<String, Object> fieldMap, String key) { return Optional.ofNullable(MapUtils.getString(fieldMap, key)) - .map(String::trim); + .map(String::trim) + .orElse(""); } }