parent
95031295b9
commit
b5fe3c3494
|
@ -26,6 +26,8 @@ import java.util.stream.Collectors;
|
||||||
import org.yaml.snakeyaml.Yaml;
|
import org.yaml.snakeyaml.Yaml;
|
||||||
import org.yaml.snakeyaml.constructor.Constructor;
|
import org.yaml.snakeyaml.constructor.Constructor;
|
||||||
|
|
||||||
|
import org.springframework.util.Assert;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Thin wrapper to adapt Snake {@link Yaml} to {@link JsonParser}.
|
* Thin wrapper to adapt Snake {@link Yaml} to {@link JsonParser}.
|
||||||
*
|
*
|
||||||
|
@ -63,7 +65,9 @@ public class YamlJsonParser extends AbstractJsonParser {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Class<?> getClassForName(String name) throws ClassNotFoundException {
|
protected Class<?> getClassForName(String name) throws ClassNotFoundException {
|
||||||
return (SUPPORTED_TYPES.contains(name)) ? super.getClassForName(name) : null;
|
Assert.state(SUPPORTED_TYPES.contains(name),
|
||||||
|
() -> "Unsupported '" + name + "' type encountered in YAML document");
|
||||||
|
return super.getClassForName(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,8 @@ public class YamlJsonParserTests extends AbstractJsonParserTests {
|
||||||
@Test
|
@Test
|
||||||
public void customTypesAreNotLoaded() throws Exception {
|
public void customTypesAreNotLoaded() throws Exception {
|
||||||
assertThatExceptionOfType(ConstructorException.class)
|
assertThatExceptionOfType(ConstructorException.class)
|
||||||
.isThrownBy(() -> getParser().parseMap("{value: !!java.net.URL [\"http://localhost:9000/\"]}"));
|
.isThrownBy(() -> getParser().parseMap("{value: !!java.net.URL [\"http://localhost:9000/\"]}"))
|
||||||
|
.withCauseInstanceOf(IllegalStateException.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue