parent
95031295b9
commit
b5fe3c3494
|
@ -26,6 +26,8 @@ import java.util.stream.Collectors;
|
|||
import org.yaml.snakeyaml.Yaml;
|
||||
import org.yaml.snakeyaml.constructor.Constructor;
|
||||
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* Thin wrapper to adapt Snake {@link Yaml} to {@link JsonParser}.
|
||||
*
|
||||
|
@ -63,7 +65,9 @@ public class YamlJsonParser extends AbstractJsonParser {
|
|||
|
||||
@Override
|
||||
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
|
||||
public void customTypesAreNotLoaded() throws Exception {
|
||||
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