Skip to content

Commit ebd6b06

Browse files
authored
[YAML config] Fix YAML loading to handle elements in file original order (#5010)
Change the implementation of the method listToMap Signed-off-by: Laurent Garnier <lg.hc@free.fr>
1 parent b7c742f commit ebd6b06

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

bundles/org.openhab.core.model.yaml/src/main/java/org/openhab/core/model/yaml/internal/YamlModelRepositoryImpl.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import java.util.Set;
3333
import java.util.concurrent.ConcurrentHashMap;
3434
import java.util.concurrent.CopyOnWriteArrayList;
35-
import java.util.stream.Collectors;
3635
import java.util.stream.Stream;
3736

3837
import org.eclipse.jdt.annotation.NonNullByDefault;
@@ -607,7 +606,11 @@ private List<YamlModelListener<?>> getElementListeners(String elementName, int v
607606
}
608607

609608
private Map<String, ? extends YamlElement> listToMap(List<? extends YamlElement> elements) {
610-
return elements.stream().collect(Collectors.toMap(YamlElement::getId, e -> e));
609+
LinkedHashMap<String, YamlElement> result = new LinkedHashMap<>(elements.size());
610+
for (YamlElement element : elements) {
611+
result.put(element.getId(), element);
612+
}
613+
return result;
611614
}
612615

613616
private <T extends YamlElement> List<T> parseJsonMapNode(@Nullable JsonNode mapNode, Class<T> elementClass,

0 commit comments

Comments
 (0)