|
|
|
@ -23,6 +23,7 @@ import java.util.regex.Pattern;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import org.yaml.snakeyaml.DumperOptions;
|
|
|
|
|
import org.yaml.snakeyaml.LoaderOptions;
|
|
|
|
|
import org.yaml.snakeyaml.Yaml;
|
|
|
|
|
import org.yaml.snakeyaml.constructor.BaseConstructor;
|
|
|
|
|
import org.yaml.snakeyaml.constructor.Constructor;
|
|
|
|
@ -64,7 +65,9 @@ class OriginTrackedYamlLoader extends YamlProcessor {
|
|
|
|
|
Representer representer = new Representer();
|
|
|
|
|
DumperOptions dumperOptions = new DumperOptions();
|
|
|
|
|
LimitedResolver resolver = new LimitedResolver();
|
|
|
|
|
return new Yaml(constructor, representer, dumperOptions, resolver);
|
|
|
|
|
LoaderOptions loaderOptions = new LoaderOptions();
|
|
|
|
|
loaderOptions.setAllowDuplicateKeys(false);
|
|
|
|
|
return new Yaml(constructor, representer, dumperOptions, loaderOptions, resolver);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<Map<String, Object>> load() {
|
|
|
|
@ -76,7 +79,7 @@ class OriginTrackedYamlLoader extends YamlProcessor {
|
|
|
|
|
/**
|
|
|
|
|
* {@link Constructor} that tracks property origins.
|
|
|
|
|
*/
|
|
|
|
|
private class OriginTrackingConstructor extends StrictMapAppenderConstructor {
|
|
|
|
|
private class OriginTrackingConstructor extends Constructor {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected Object constructObject(Node node) {
|
|
|
|
|