[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(
|
.collect(Collectors.toMap(
|
||||||
ClassName::simpleNames,
|
ClassName::simpleNames,
|
||||||
seen::get,
|
seen::get,
|
||||||
(u, v) -> u,
|
(u, v) -> v,
|
||||||
() -> new TreeMap<>(StringListComparator.INSTANCE.reversed())
|
() -> new TreeMap<>(StringListComparator.INSTANCE.reversed())
|
||||||
));
|
));
|
||||||
// Generate additional parent classes
|
// 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.*;
|
||||||
import io.gitlab.jfronny.libjf.config.api.v1.dsl.CategoryBuilder;
|
import io.gitlab.jfronny.libjf.config.api.v1.dsl.CategoryBuilder;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
@ -14,7 +13,7 @@ public class DslConfigCategory implements ConfigCategory {
|
||||||
private final String categoryPath;
|
private final String categoryPath;
|
||||||
private final String translationPrefix;
|
private final String translationPrefix;
|
||||||
private final List<EntryInfo<?>> entries;
|
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 List<Supplier<List<ConfigInstance>>> referencedConfigs;
|
||||||
private final Map<String, ConfigCategory> categories;
|
private final Map<String, ConfigCategory> categories;
|
||||||
private final Supplier<ConfigInstance> root;
|
private final Supplier<ConfigInstance> root;
|
||||||
|
@ -33,9 +32,19 @@ public class DslConfigCategory implements ConfigCategory {
|
||||||
this.categoryPath = categoryPath;
|
this.categoryPath = categoryPath;
|
||||||
this.translationPrefix = translationPrefix;
|
this.translationPrefix = translationPrefix;
|
||||||
this.entries = entries;
|
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.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.root = root;
|
||||||
this.verifiers = verifiers;
|
this.verifiers = verifiers;
|
||||||
}
|
}
|
||||||
|
@ -62,10 +71,7 @@ public class DslConfigCategory implements ConfigCategory {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Runnable> getPresets() {
|
public Map<String, Runnable> getPresets() {
|
||||||
return presets.entrySet().stream().collect(Collectors.toMap(
|
return presets;
|
||||||
Map.Entry::getKey,
|
|
||||||
t -> () -> t.getValue().accept(this)
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue