mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-07-15 01:07:30 +08:00
Adapt to new Placeholder resolution API
See gh-41177
This commit is contained in:
parent
762434c85f
commit
2053e13c09
@ -157,6 +157,7 @@ public class DataSourceAutoConfiguration {
|
|||||||
return StringUtils.hasText(environment.getProperty(DATASOURCE_URL_PROPERTY));
|
return StringUtils.hasText(environment.getProperty(DATASOURCE_URL_PROPERTY));
|
||||||
}
|
}
|
||||||
catch (IllegalArgumentException ex) {
|
catch (IllegalArgumentException ex) {
|
||||||
|
// NOTE: This should be PlaceholderResolutionException
|
||||||
// Ignore unresolvable placeholder errors
|
// Ignore unresolvable placeholder errors
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,9 +27,10 @@ import org.springframework.core.env.MapPropertySource;
|
|||||||
import org.springframework.core.env.MutablePropertySources;
|
import org.springframework.core.env.MutablePropertySources;
|
||||||
import org.springframework.mock.env.MockEnvironment;
|
import org.springframework.mock.env.MockEnvironment;
|
||||||
import org.springframework.test.context.support.TestPropertySourceUtils;
|
import org.springframework.test.context.support.TestPropertySourceUtils;
|
||||||
|
import org.springframework.util.PlaceholderResolutionException;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
|
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link SpringBootTestRandomPortEnvironmentPostProcessor}.
|
* Tests for {@link SpringBootTestRandomPortEnvironmentPostProcessor}.
|
||||||
@ -169,7 +170,7 @@ class SpringBootTestRandomPortEnvironmentPostProcessorTests {
|
|||||||
addTestPropertySource("0", null);
|
addTestPropertySource("0", null);
|
||||||
this.propertySources
|
this.propertySources
|
||||||
.addLast(new MapPropertySource("other", Collections.singletonMap("management.server.port", "${port}")));
|
.addLast(new MapPropertySource("other", Collections.singletonMap("management.server.port", "${port}")));
|
||||||
assertThatIllegalArgumentException()
|
assertThatExceptionOfType(PlaceholderResolutionException.class)
|
||||||
.isThrownBy(() -> this.postProcessor.postProcessEnvironment(this.environment, null))
|
.isThrownBy(() -> this.postProcessor.postProcessEnvironment(this.environment, null))
|
||||||
.withMessage("Could not resolve placeholder 'port' in value \"${port}\"");
|
.withMessage("Could not resolve placeholder 'port' in value \"${port}\"");
|
||||||
}
|
}
|
||||||
@ -196,7 +197,7 @@ class SpringBootTestRandomPortEnvironmentPostProcessorTests {
|
|||||||
source.put("server.port", "${port}");
|
source.put("server.port", "${port}");
|
||||||
source.put("management.server.port", "9090");
|
source.put("management.server.port", "9090");
|
||||||
this.propertySources.addLast(new MapPropertySource("other", source));
|
this.propertySources.addLast(new MapPropertySource("other", source));
|
||||||
assertThatIllegalArgumentException()
|
assertThatExceptionOfType(PlaceholderResolutionException.class)
|
||||||
.isThrownBy(() -> this.postProcessor.postProcessEnvironment(this.environment, null))
|
.isThrownBy(() -> this.postProcessor.postProcessEnvironment(this.environment, null))
|
||||||
.withMessage("Could not resolve placeholder 'port' in value \"${port}\"");
|
.withMessage("Could not resolve placeholder 'port' in value \"${port}\"");
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,8 @@ class ConfigDataEnvironmentContributorPlaceholdersResolver implements Placeholde
|
|||||||
this.failOnResolveFromInactiveContributor = failOnResolveFromInactiveContributor;
|
this.failOnResolveFromInactiveContributor = failOnResolveFromInactiveContributor;
|
||||||
this.conversionService = conversionService;
|
this.conversionService = conversionService;
|
||||||
this.helper = new PropertyPlaceholderHelper(SystemPropertyUtils.PLACEHOLDER_PREFIX,
|
this.helper = new PropertyPlaceholderHelper(SystemPropertyUtils.PLACEHOLDER_PREFIX,
|
||||||
SystemPropertyUtils.PLACEHOLDER_SUFFIX, SystemPropertyUtils.VALUE_SEPARATOR, true);
|
SystemPropertyUtils.PLACEHOLDER_SUFFIX, SystemPropertyUtils.VALUE_SEPARATOR,
|
||||||
|
SystemPropertyUtils.ESCAPE_CHARACTER, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2012-2022 the original author or authors.
|
* Copyright 2012-2024 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.
|
||||||
@ -47,8 +47,10 @@ public class PropertySourcesPlaceholdersResolver implements PlaceholdersResolver
|
|||||||
|
|
||||||
public PropertySourcesPlaceholdersResolver(Iterable<PropertySource<?>> sources, PropertyPlaceholderHelper helper) {
|
public PropertySourcesPlaceholdersResolver(Iterable<PropertySource<?>> sources, PropertyPlaceholderHelper helper) {
|
||||||
this.sources = sources;
|
this.sources = sources;
|
||||||
this.helper = (helper != null) ? helper : new PropertyPlaceholderHelper(SystemPropertyUtils.PLACEHOLDER_PREFIX,
|
this.helper = (helper != null) ? helper
|
||||||
SystemPropertyUtils.PLACEHOLDER_SUFFIX, SystemPropertyUtils.VALUE_SEPARATOR, true);
|
: new PropertyPlaceholderHelper(SystemPropertyUtils.PLACEHOLDER_PREFIX,
|
||||||
|
SystemPropertyUtils.PLACEHOLDER_SUFFIX, SystemPropertyUtils.VALUE_SEPARATOR,
|
||||||
|
SystemPropertyUtils.ESCAPE_CHARACTER, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user