From 7864448fd040b26b5921cfc63afa68ef2cb90c03 Mon Sep 17 00:00:00 2001 From: Thomas <> Date: Fri, 12 Mar 2021 15:43:57 +0100 Subject: refactor some code to Java Stream API --- .../egiz/eaaf/core/impl/utils/KeyValueUtils.java | 39 +++++++++------------- .../core/impl/utils/test/KeyValueUtilsTest.java | 3 +- 2 files changed, 17 insertions(+), 25 deletions(-) (limited to 'eaaf_core_utils/src') diff --git a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/utils/KeyValueUtils.java b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/utils/KeyValueUtils.java index 0c5eeb40..49ef80e9 100644 --- a/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/utils/KeyValueUtils.java +++ b/eaaf_core_utils/src/main/java/at/gv/egiz/eaaf/core/impl/utils/KeyValueUtils.java @@ -28,6 +28,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Properties; import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -154,18 +155,14 @@ public class KeyValueUtils { * null */ public static Map removePrefixFromKeys(final Map keys, - final String prefix) { - final Map result = new HashMap<>(); - final Iterator> interator = keys.entrySet().iterator(); - while (interator.hasNext()) { - final Entry el = interator.next(); - final String newKey = removePrefixFromKey(el.getKey(), prefix); - if (StringUtils.isNotEmpty(newKey)) { - result.put(newKey, el.getValue()); - } - } - - return result; + final String prefix) { + return keys.entrySet().stream() + .filter(el -> StringUtils.isNotEmpty(removePrefixFromKey(el.getKey(), prefix))) + .collect(Collectors.toMap( + el -> removePrefixFromKey(el.getKey(), prefix), + el -> el.getValue())); + + } /** @@ -351,19 +348,13 @@ public class KeyValueUtils { * @return Map of Key / Value pairs, but never null */ public static Map convertListToMap(final List elements) { - final Map map = new HashMap<>(); - for (final String el : elements) { - if (el.contains(KEYVVALUEDELIMITER)) { - final String[] split = el.split(KEYVVALUEDELIMITER); - map.put(split[0], split[1]); - - } else { - log.debug("Key/Value Mapper: '" + el + "' contains NO '='. Ignore it."); - } - - } + return elements.stream() + .filter(el -> el.contains(KEYVVALUEDELIMITER)) + .map(el -> el.split(KEYVVALUEDELIMITER)) + .collect(Collectors.toMap( + el -> el[0], + el -> el[1])); - return map; } /** diff --git a/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/impl/utils/test/KeyValueUtilsTest.java b/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/impl/utils/test/KeyValueUtilsTest.java index 58788392..ca90f05b 100644 --- a/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/impl/utils/test/KeyValueUtilsTest.java +++ b/eaaf_core_utils/src/test/java/at/gv/egiz/eaaf/core/impl/utils/test/KeyValueUtilsTest.java @@ -153,7 +153,8 @@ public class KeyValueUtilsTest { + RandomStringUtils.randomAlphabetic(6) + KeyValueUtils.KEY_DELIMITER + RandomStringUtils.randomAlphabetic(5); final Map testMap = generateTestMap(testPrefix, 5, 5); - + testMap.put(testPrefix, RandomStringUtils.randomAlphabetic(10)); + final Map result = KeyValueUtils.removePrefixFromKeys(testMap, testPrefix); Assert.assertNotNull("Result is null", result); Assert.assertFalse("Result is empty", result.isEmpty()); -- cgit v1.2.3