in src/main/java/org/apache/sling/caconfig/impl/override/ConfigurationOverrideMultiplexerImpl.java [130:152]
public Resource overrideProperties(
@NotNull String contextPath,
@NotNull String configName,
@Nullable Resource configResource,
@NotNull ResourceResolver resourceResolver) {
Map<String, Object> overrideProperties = overrideProperties(
contextPath, configName, configResource != null ? configResource.getValueMap() : ValueMap.EMPTY);
if (overrideProperties == null) {
return configResource;
}
Resource configResourceToUse = configResource;
if (configResourceToUse == null) {
// build synthetic resource if override properties exist
configResourceToUse = new SyntheticResource(resourceResolver, (String) null, (String) null);
}
if (log.isTraceEnabled()) {
log.trace("! Override properties for context path " + contextPath + ", name '" + configName + "', "
+ (configResource != null ? "config path " + configResource.getPath() : "no config path") + ": "
+ (configResource != null ? MapUtil.traceOutput(configResource.getValueMap()) : "empty") + " -> "
+ MapUtil.traceOutput(overrideProperties));
}
return new ConfigurationResourceWrapper(configResourceToUse, new ValueMapDecorator(overrideProperties));
}