in src/main/java/org/apache/sling/installer/factories/configuration/impl/ConfigUtil.java [235:271]
public static Configuration getLegacyFactoryConfig(final ConfigurationAdmin ca,
final String factoryPid,
final String aliasPid,
final String pid)
throws IOException, InvalidSyntaxException {
final String configPid = (aliasPid != null ? aliasPid.substring(factoryPid.length() + 1) : pid);
Configuration result = null;
Configuration configs[] = null;
if ( configPid != null ) {
configs = ca.listConfigurations("(&("
+ ConfigurationAdmin.SERVICE_FACTORYPID + "=" + encode(factoryPid)
+ ")(" + Constants.SERVICE_PID + "=" + encode(configPid)
+ "))");
}
if (configs == null || configs.length == 0) {
configs = ca.listConfigurations("(&("
+ ConfigurationAdmin.SERVICE_FACTORYPID + "=" + encode(factoryPid)
+ ")(" + Constants.SERVICE_PID + "=" + encode(factoryPid + "." + configPid)
+ "))");
}
if (configs == null || configs.length == 0) {
// check for old style with alias pid
configs = ca.listConfigurations(
"(&(" + ConfigurationAdmin.SERVICE_FACTORYPID
+ "=" + factoryPid + ")(" + ALIAS_KEY + "=" + encode(configPid)
+ "))");
if (configs != null && configs.length > 0) {
result = configs[0];
}
} else {
result = configs[0];
}
return result;
}