commit
df99ad17bd
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2012-2021 the original author or authors.
|
* Copyright 2012-2022 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -72,7 +72,7 @@ public class Binder {
|
||||||
* @param sources the sources used for binding
|
* @param sources the sources used for binding
|
||||||
*/
|
*/
|
||||||
public Binder(ConfigurationPropertySource... sources) {
|
public Binder(ConfigurationPropertySource... sources) {
|
||||||
this(Arrays.asList(sources), null, null, null);
|
this((sources != null) ? Arrays.asList(sources) : null, null, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -182,6 +182,9 @@ public class Binder {
|
||||||
List<ConversionService> conversionServices, Consumer<PropertyEditorRegistry> propertyEditorInitializer,
|
List<ConversionService> conversionServices, Consumer<PropertyEditorRegistry> propertyEditorInitializer,
|
||||||
BindHandler defaultBindHandler, BindConstructorProvider constructorProvider) {
|
BindHandler defaultBindHandler, BindConstructorProvider constructorProvider) {
|
||||||
Assert.notNull(sources, "Sources must not be null");
|
Assert.notNull(sources, "Sources must not be null");
|
||||||
|
for (ConfigurationPropertySource source : sources) {
|
||||||
|
Assert.notNull(source, "Sources must not contain null elements");
|
||||||
|
}
|
||||||
this.sources = sources;
|
this.sources = sources;
|
||||||
this.placeholdersResolver = (placeholdersResolver != null) ? placeholdersResolver : PlaceholdersResolver.NONE;
|
this.placeholdersResolver = (placeholdersResolver != null) ? placeholdersResolver : PlaceholdersResolver.NONE;
|
||||||
this.bindConverter = BindConverter.get(conversionServices, propertyEditorInitializer);
|
this.bindConverter = BindConverter.get(conversionServices, propertyEditorInitializer);
|
||||||
|
|
|
@ -69,11 +69,29 @@ class BinderTests {
|
||||||
private Binder binder = new Binder(this.sources);
|
private Binder binder = new Binder(this.sources);
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void createWhenSourcesIsNullShouldThrowException() {
|
void createWhenSourcesIsNullArrayShouldThrowException() {
|
||||||
|
assertThatIllegalArgumentException().isThrownBy(() -> new Binder((ConfigurationPropertySource[]) null))
|
||||||
|
.withMessageContaining("Sources must not be null");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void creatWhenSourcesIsNullIterableShouldThrowException() {
|
||||||
assertThatIllegalArgumentException().isThrownBy(() -> new Binder((Iterable<ConfigurationPropertySource>) null))
|
assertThatIllegalArgumentException().isThrownBy(() -> new Binder((Iterable<ConfigurationPropertySource>) null))
|
||||||
.withMessageContaining("Sources must not be null");
|
.withMessageContaining("Sources must not be null");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void createWhenArraySourcesContainsNullElementShouldThrowException() {
|
||||||
|
assertThatIllegalArgumentException().isThrownBy(() -> new Binder(new ConfigurationPropertySource[] { null }))
|
||||||
|
.withMessageContaining("Sources must not contain null elements");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void createWhenIterableSourcesContainsNullElementShouldThrowException() {
|
||||||
|
assertThatIllegalArgumentException().isThrownBy(() -> new Binder(Collections.singletonList(null)))
|
||||||
|
.withMessageContaining("Sources must not contain null elements");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void bindWhenNameIsNullShouldThrowException() {
|
void bindWhenNameIsNullShouldThrowException() {
|
||||||
assertThatIllegalArgumentException().isThrownBy(() -> this.binder.bind((ConfigurationPropertyName) null,
|
assertThatIllegalArgumentException().isThrownBy(() -> this.binder.bind((ConfigurationPropertyName) null,
|
||||||
|
|
Loading…
Reference in New Issue