From 7803d3e7b4ae212e82406ead801ccb85f3ffe7ad Mon Sep 17 00:00:00 2001 From: erabii Date: Tue, 2 Apr 2024 23:54:40 +0300 Subject: [PATCH] Some cleanup for config server 4 (#1618) --- .../config/SourceDataEntriesProcessor.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/SourceDataEntriesProcessor.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/SourceDataEntriesProcessor.java index a73c8508..a52c362a 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/SourceDataEntriesProcessor.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/config/SourceDataEntriesProcessor.java @@ -24,6 +24,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.function.Predicate; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -47,6 +48,9 @@ public class SourceDataEntriesProcessor extends MapPropertySource { private static final Log LOG = LogFactory.getLog(SourceDataEntriesProcessor.class); + private static Predicate ENDS_IN_EXTENSION = x -> x.endsWith(".yml") || + x.endsWith(".yaml") || x.endsWith(".properties"); + public SourceDataEntriesProcessor(SourceData sourceData) { super(sourceData.sourceName(), sourceData.sourceData()); } @@ -92,7 +96,7 @@ public class SourceDataEntriesProcessor extends MapPropertySource { * 3. then plain properties * */ - static List> sorted(Map input, Environment environment, + static List> sorted(Map rawData, Environment environment, boolean includeDefaultProfileData) { record WeightedEntry(Map.Entry entry, int weight) { @@ -124,16 +128,17 @@ public class SourceDataEntriesProcessor extends MapPropertySource { int current = orderedFileNames.size() - 1; List weightedEntries = new ArrayList<>(); - if (input.entrySet().stream().noneMatch(entry -> entry.getKey().endsWith(".yml") - || entry.getKey().endsWith(".yaml") || entry.getKey().endsWith(".properties"))) { - for (Map.Entry entry : input.entrySet()) { + boolean plainEntriesOnly = rawData.keySet().stream().noneMatch(ENDS_IN_EXTENSION); + + if (plainEntriesOnly) { + for (Map.Entry entry : rawData.entrySet()) { weightedEntries.add(new WeightedEntry(entry, ++current)); } } else { - for (Map.Entry entry : input.entrySet()) { + for (Map.Entry entry : rawData.entrySet()) { String key = entry.getKey(); - if (key.endsWith(".yml") || key.endsWith(".yaml") || key.endsWith(".properties")) { + if (ENDS_IN_EXTENSION.test(key)) { String withoutExtension = key.split("\\.", 2)[0]; int index = orderedFileNames.indexOf(withoutExtension); if (index >= 0) {