in camel-k-core/support/src/main/java/org/apache/camel/k/support/RuntimeSupport.java [90:134]
public static Map<String, ContextCustomizer> lookupCustomizers(CamelContext context) {
Map<String, ContextCustomizer> customizers = new ConcurrentHashMap<>();
Properties properties = context.getPropertiesComponent().loadProperties(n -> n.startsWith(Constants.CUSTOMIZER_PREFIX) || n.startsWith(Constants.CUSTOMIZER_PREFIX_FALLBACK));
if (properties != null) {
//
// Lookup customizers listed in Constants.ENV_CAMEL_K_CUSTOMIZERS or Constants.PROPERTY_CAMEL_K_CUSTOMIZER
// for backward compatibility
//
for (String customizerId: lookupCustomizerIDs(context)) {
customizers.computeIfAbsent(customizerId, id -> lookupCustomizerByID(context, id));
}
Pattern pattern = Pattern.compile(Constants.ENABLE_CUSTOMIZER_PATTERN);
properties.entrySet().stream()
.filter(entry -> entry.getKey() instanceof String)
.filter(entry -> entry.getValue() != null)
.forEach(entry -> {
final String key = (String)entry.getKey();
final Object val = entry.getValue();
final Matcher matcher = pattern.matcher(key);
if (matcher.matches()) {
String customizerId = null;
if (matcher.groupCount() == 1) {
customizerId = matcher.group(1);
} else if (matcher.groupCount() == 2) {
customizerId = matcher.group(2);
}
if (customizerId != null && Boolean.parseBoolean(String.valueOf(val))) {
//
// Do not override customizers eventually found
// in the registry
//
customizers.computeIfAbsent(customizerId, id -> lookupCustomizerByID(context, id));
}
}
});
}
return customizers;
}