From cbd3ed19ab536a26d94a8429093c85036ae21944 Mon Sep 17 00:00:00 2001 From: Martin <git@mail.de> Date: Thu, 9 Jan 2025 09:46:00 +0100 Subject: [PATCH] OZG-6735 impl PR comments --- .../ozgcloud/eingang/fim/AntragstellerMapper.java | 4 ++-- .../de/ozgcloud/eingang/fim/FimBasedAdapter.java | 2 +- .../java/de/ozgcloud/eingang/fim/FimDataUtil.java | 15 +++++++++------ .../ozgcloud/eingang/fim/FimDocumentReader.java | 2 +- .../de/ozgcloud/eingang/fim/FimSchemeAdapter.java | 2 +- .../java/de/ozgcloud/eingang/fim/FimService.java | 2 +- .../de/ozgcloud/eingang/fim/HeaderMapper.java | 3 ++- .../eingang/fim/common/xml/DocumentHelper.java | 4 ++-- .../de/ozgcloud/eingang/fim/HeaderMapperTest.java | 6 ++++-- 9 files changed, 23 insertions(+), 17 deletions(-) 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 9dfc15190..0c65466d7 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 b6d20b0c8..296f4efff 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 6d932ed9e..6d5273567 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 c629f7dd8..de7e3961c 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 0886cc943..e7cece5c7 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 24693d0fe..436b4cf67 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 930910780..63befb663 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 0e410f64d..2368cd4dd 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 f44c28188..eef87830a 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); -- GitLab