diff --git a/libjf-config-compiler-plugin-v2/src/main/java/io/gitlab/jfronny/libjf/config/plugin/ConfigProcessor.java b/libjf-config-compiler-plugin-v2/src/main/java/io/gitlab/jfronny/libjf/config/plugin/ConfigProcessor.java index e288bae..573a392 100644 --- a/libjf-config-compiler-plugin-v2/src/main/java/io/gitlab/jfronny/libjf/config/plugin/ConfigProcessor.java +++ b/libjf-config-compiler-plugin-v2/src/main/java/io/gitlab/jfronny/libjf/config/plugin/ConfigProcessor.java @@ -54,7 +54,7 @@ public class ConfigProcessor extends AbstractProcessor2 { .collect(Collectors.toMap( ClassName::simpleNames, seen::get, - (u, v) -> u, + (u, v) -> v, () -> new TreeMap<>(StringListComparator.INSTANCE.reversed()) )); // Generate additional parent classes diff --git a/libjf-config-core-v1/src/main/java/io/gitlab/jfronny/libjf/config/impl/dsl/DslConfigCategory.java b/libjf-config-core-v1/src/main/java/io/gitlab/jfronny/libjf/config/impl/dsl/DslConfigCategory.java index 0178266..5cf9bba 100644 --- a/libjf-config-core-v1/src/main/java/io/gitlab/jfronny/libjf/config/impl/dsl/DslConfigCategory.java +++ b/libjf-config-core-v1/src/main/java/io/gitlab/jfronny/libjf/config/impl/dsl/DslConfigCategory.java @@ -3,8 +3,7 @@ package io.gitlab.jfronny.libjf.config.impl.dsl; import io.gitlab.jfronny.libjf.config.api.v1.*; import io.gitlab.jfronny.libjf.config.api.v1.dsl.CategoryBuilder; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.function.Consumer; import java.util.function.Supplier; import java.util.stream.Collectors; @@ -14,7 +13,7 @@ public class DslConfigCategory implements ConfigCategory { private final String categoryPath; private final String translationPrefix; private final List> entries; - private final Map> presets; + private final Map presets; private final List>> referencedConfigs; private final Map categories; private final Supplier root; @@ -33,9 +32,19 @@ public class DslConfigCategory implements ConfigCategory { this.categoryPath = categoryPath; this.translationPrefix = translationPrefix; this.entries = entries; - this.presets = presets; + this.presets = presets.entrySet().stream().collect(Collectors.toMap( + Map.Entry::getKey, + t -> () -> t.getValue().accept(this), + (u, v) -> v, + LinkedHashMap::new + )); this.referencedConfigs = referencedConfigs; - this.categories = categories.stream().collect(Collectors.toMap(CategoryBuilder::getId, b -> b.build(root))); + this.categories = categories.stream().collect(Collectors.toMap( + CategoryBuilder::getId, + b -> b.build(root), + (u, v) -> v, + LinkedHashMap::new + )); this.root = root; this.verifiers = verifiers; } @@ -62,10 +71,7 @@ public class DslConfigCategory implements ConfigCategory { @Override public Map getPresets() { - return presets.entrySet().stream().collect(Collectors.toMap( - Map.Entry::getKey, - t -> () -> t.getValue().accept(this) - )); + return presets; } @Override