[config-core-v1] keep preset order
This commit is contained in:
parent
0821ce57c2
commit
fbbb2fb166
|
@ -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
|
||||
|
|
|
@ -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<EntryInfo<?>> entries;
|
||||
private final Map<String, Consumer<ConfigCategory>> presets;
|
||||
private final Map<String, Runnable> presets;
|
||||
private final List<Supplier<List<ConfigInstance>>> referencedConfigs;
|
||||
private final Map<String, ConfigCategory> categories;
|
||||
private final Supplier<ConfigInstance> 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<String, Runnable> getPresets() {
|
||||
return presets.entrySet().stream().collect(Collectors.toMap(
|
||||
Map.Entry::getKey,
|
||||
t -> () -> t.getValue().accept(this)
|
||||
));
|
||||
return presets;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue