diff --git a/src/main/java/com/navi/infra/portal/util/FlatMapUtil.java b/src/main/java/com/navi/infra/portal/util/FlatMapUtil.java index f3c1e95c..d5e3f0d6 100644 --- a/src/main/java/com/navi/infra/portal/util/FlatMapUtil.java +++ b/src/main/java/com/navi/infra/portal/util/FlatMapUtil.java @@ -34,6 +34,9 @@ public final class FlatMapUtil { final var root = entry.getKey(); if (entry.getValue() instanceof Map) { Map properties = (Map) entry.getValue(); + if (properties.isEmpty()) { + return Stream.of(new SimpleEntry<>(root, Map.of())); + } return properties.entrySet() .stream() .map(e -> mapToEntry(root, e)) @@ -42,6 +45,9 @@ public final class FlatMapUtil { if (entry.getValue() instanceof List) { List list = (List) entry.getValue(); + if (list.isEmpty()) { + return Stream.of(new SimpleEntry<>(root, List.of())); + } return IntStream.range(0, list.size()) .mapToObj(i -> mapToEntry(root, list.get(i), i)) .flatMap(FlatMapUtil::flatten); @@ -54,8 +60,10 @@ public final class FlatMapUtil { return new SimpleEntry<>(getKey(root, e), e.getValue()); } - private static SimpleEntry mapToEntry(final String root, final Object value, - final int i) { + private static SimpleEntry mapToEntry( + final String root, final Object value, + final int i + ) { return new SimpleEntry<>(getKey(root, i), value); } diff --git a/src/main/java/com/navi/infra/portal/util/MapDiffUtil.java b/src/main/java/com/navi/infra/portal/util/MapDiffUtil.java index 575c3713..90d1ded2 100644 --- a/src/main/java/com/navi/infra/portal/util/MapDiffUtil.java +++ b/src/main/java/com/navi/infra/portal/util/MapDiffUtil.java @@ -110,7 +110,7 @@ public class MapDiffUtil { final var result = new HashMap(); for (var e : map.entrySet()) { Entry entry = e; - if (e.getKey().contains("environmentVariables")) { + if (e.getKey().contains("environmentVariables/")) { entry = mapEnvVarToKey(map).apply(e); } result.put(entry.getKey(), entry.getValue());