jamesfredley commented on code in PR #16732:
URL: https://github.com/apache/grails-core/pull/16732#discussion_r4369531188
##########
grails-core/src/main/groovy/org/grails/config/NavigableMapConfig.java:
##########
@@ -55,13 +59,14 @@ public abstract class NavigableMapConfig implements Config {
protected static final Logger LOG =
LoggerFactory.getLogger(NavigableMapConfig.class);
protected ClassLoader classLoader =
Thread.currentThread().getContextClassLoader();
protected ConfigurableConversionService conversionService = new
DefaultConversionService();
+ private volatile SystemEnvironmentIndex systemEnvironment = new
SystemEnvironmentIndex(System.getenv());
protected NavigableMap configMap = new NavigableMap() {
@Override
- protected Object mergeMapEntry(NavigableMap targetMap, String
sourceKey, Object newValue) {
- if (newValue instanceof CharSequence) {
- newValue = resolvePlaceholders(newValue.toString());
+ protected Object mergedValue(Object value) {
Review Comment:
YAML `app.rows: [{name: '${NAME:row}'}]` now returns the literal
`${NAME:row}` from both `getProperty('app.rows[0].name')` and the list. Merging
the container no longer walks strings inside list elements.
Resolve placeholders in those elements, as the individual entries were
resolved before. Please load that YAML and assert the default `row`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]