in src/main/java/org/apache/sling/caconfig/impl/override/ConfigurationOverrideMultiplexerImpl.java [124:140]
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));
}