diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/AntragstellerMapper.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/AntragstellerMapper.java index 9dfc1519007b4f0bd2807f90cda31413ae8a28d9..0c65466d79e1fdb5f0f5e5472fbd2bed4b013536 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/AntragstellerMapper.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/AntragstellerMapper.java @@ -33,7 +33,7 @@ class AntragstellerMapper implements FimEngineBasedMapper { } Map<String, Object> getAntragsteller(Map<String, Object> formData) { - return FimDataUtil.getSubmap(formData, ANTRAGSTELLER_KEY); + return FimDataUtil.getValueMapByKey(formData, ANTRAGSTELLER_KEY); } Antragsteller mapAntragsteller(Map<String, Object> antragsteller) { @@ -51,6 +51,6 @@ class AntragstellerMapper implements FimEngineBasedMapper { } private Map<String, Object> getAnschrift(Map<String, Object> antragsteller) { - return FimDataUtil.getSubmap(antragsteller, ANSCHRIFT_KEY); + return FimDataUtil.getValueMapByKey(antragsteller, ANSCHRIFT_KEY); } } \ No newline at end of file diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimBasedAdapter.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimBasedAdapter.java index b6d20b0c80782e4ed3f1e6cfef3b8f213ef01bde..296f4efff44fbbbe24eb898d644164db9c029a42 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimBasedAdapter.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimBasedAdapter.java @@ -75,7 +75,7 @@ public class FimBasedAdapter implements EngineBasedSemantikAdapter { return processData(DocumentHelper.parse(file.getContentStream())); } catch (Exception e) { LOG.warn("Error on parsing Document.", e); - return Collections.<String, Object>emptyMap(); + return Collections.emptyMap(); } } diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataUtil.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataUtil.java index 6d932ed9ee5642ad0010892cc2e5dc7f116124e0..6d527356735d785b8f113da8d22473e8d200611c 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataUtil.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataUtil.java @@ -1,12 +1,11 @@ package de.ozgcloud.eingang.fim; -import java.util.Arrays; +import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; import org.apache.commons.collections4.MapUtils; -import org.apache.commons.lang3.ArrayUtils; import lombok.AccessLevel; import lombok.NoArgsConstructor; @@ -16,16 +15,20 @@ class FimDataUtil { static final String VALUE_KEY = "value"; - public static Optional<String> getValue(Map<String, Object> data, String key, String... path) { - var current = FimDataUtil.getSubmap(data, ArrayUtils.subarray(path, 0, path.length)); + public static Optional<String> getValue(Map<String, Object> data, List<String> pathKeys, String key) { + var current = FimDataUtil.getSubmap(data, pathKeys); if (Objects.isNull(current)) { return Optional.empty(); } return FimDataUtil.getValueByKey(current, key); } - public static Map<String, Object> getSubmap(Map<String, Object> data, String... path) { - return Arrays.stream(path).reduce(data, FimDataUtil::getValueMapByKey, (accumulator, combiner) -> combiner); + private static Map<String, Object> getSubmap(Map<String, Object> data, List<String> pathKeys) { + var current = data; + for (var pathKey : pathKeys) { + current = FimDataUtil.getValueMapByKey(current, pathKey); + } + return current; } static Map<String, Object> getValueMapByKey(Map<String, Object> obj, String key) { diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDocumentReader.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDocumentReader.java index c629f7dd8d0ccc88aa4dfa3ad280b14399d79e84..de7e3961ccb4ae9b99eedf79c8c25beccc4d4abb 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDocumentReader.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDocumentReader.java @@ -65,7 +65,7 @@ class FimDocumentHelper { } private Map<String, Object> buildFieldMap(String fieldName, Object obj) { - return Map.<String, Object>of(LABEL_KEY, fieldName, VALUE_KEY, obj); + return Map.of(LABEL_KEY, fieldName, VALUE_KEY, obj); } } } \ No newline at end of file diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapter.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapter.java index 0886cc943962e25b02739688a1c4449d42788bcd..e7cece5c74865223a9ffb491cc856b505f2c42c9 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapter.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapter.java @@ -40,7 +40,7 @@ public abstract class FimSchemeAdapter { var fieldNameWithoutNamespace = DocumentHelper.getFieldNameWithoutNamespace(fieldName); if (!fieldIndex.containsKey(fieldNameWithoutNamespace)) { - LOG.error("Cannot find Field: " + fieldName); + LOG.error("Cannot find Field: {}", fieldName); return Optional.empty(); } return getNameForElement(fieldIndex.get(fieldNameWithoutNamespace)); diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java index 24693d0fea81de1e61481da1bd46e32859e2a5f0..436b4cf677b40d547fc3b37d691a65312ee30b4d 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java @@ -68,7 +68,7 @@ public class FimService { var fimScheme = schemeHelper.getScheme(fimSchemaName); if (Objects.isNull(fimScheme)) { - LOG.error("Cannot find schema for: " + fimSchemaName); + LOG.error("Cannot find schema for: {}", fimSchemaName); return schemeHelper.getDefaultScheme(); } return fimScheme; diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/HeaderMapper.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/HeaderMapper.java index 9309107809f45f4e177f440b4647df4120675e2c..63befb6637b368805c57cfe354df8d4974ad74ba 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/HeaderMapper.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/HeaderMapper.java @@ -1,5 +1,6 @@ package de.ozgcloud.eingang.fim; +import java.util.List; import java.util.Map; import java.util.Optional; @@ -22,7 +23,7 @@ class HeaderMapper implements FimEngineBasedMapper { } Optional<String> getFormName(Map<String, Object> formData) { - return FimDataUtil.getValue(formData, FORM_NAME_KEY, "G17003529", "G05001479", "G05001480"); + return FimDataUtil.getValue(formData, List.of("G17003529", "G05001479", "G05001480"), FORM_NAME_KEY); } private FormData addFormName(FormData formData, String formName) { diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/common/xml/DocumentHelper.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/common/xml/DocumentHelper.java index 0e410f64de2854a09777ef948e7cd9417a2e2581..2368cd4ddd96ed23fe11e3c8553391d78fd19e22 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/common/xml/DocumentHelper.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/common/xml/DocumentHelper.java @@ -50,8 +50,8 @@ public class DocumentHelper { .map(Element.class::cast); } - public static boolean isTextNode(Node child) { - return child.getChildNodes().getLength() == 1 && child.getChildNodes().item(0) instanceof Text; + public static boolean isTextNode(Node node) { + return node.getChildNodes().getLength() == 1 && node.getChildNodes().item(0) instanceof Text; } public static String getFieldNameWithoutNamespace(String nodeName) { diff --git a/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/HeaderMapperTest.java b/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/HeaderMapperTest.java index f44c281882ae7a26d33fa4690e42c22fe801950b..eef87830a7eaa9b3760d037b07cb9d24dc692315 100644 --- a/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/HeaderMapperTest.java +++ b/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/HeaderMapperTest.java @@ -4,6 +4,7 @@ import static org.assertj.core.api.Assertions.*; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; +import java.util.List; import java.util.Optional; import org.junit.jupiter.api.BeforeEach; @@ -82,14 +83,15 @@ class HeaderMapperTest { mapper.getFormName(FormDataTestFactory.FORM_DATA); helper.verify( - () -> FimDataUtil.getValue(FormDataTestFactory.FORM_DATA, HeaderMapper.FORM_NAME_KEY, "G17003529", "G05001479", "G05001480")); + () -> FimDataUtil.getValue(FormDataTestFactory.FORM_DATA, List.of("G17003529", "G05001479", "G05001480"), + HeaderMapper.FORM_NAME_KEY)); } } @Test void shouldReturnValue() { try (var helper = mockStatic(FimDataUtil.class)) { - helper.when(() -> FimDataUtil.getValue(any(), any(), any(), any(), any())).thenReturn(Optional.of(FormHeaderTestFactory.FORM_NAME)); + helper.when(() -> FimDataUtil.getValue(any(), any(), any())).thenReturn(Optional.of(FormHeaderTestFactory.FORM_NAME)); var formNameOpt = mapper.getFormName(FormDataTestFactory.FORM_DATA);