use of org.apache.camel.component.properties.PropertiesFunction in project camel by apache.
the class AbstractCamelContextFactoryBean method initPropertyPlaceholder.
protected void initPropertyPlaceholder() throws Exception {
if (getCamelPropertyPlaceholder() != null) {
CamelPropertyPlaceholderDefinition def = getCamelPropertyPlaceholder();
List<PropertiesLocation> locations = new ArrayList<>();
if (def.getLocation() != null) {
ObjectHelper.createIterable(def.getLocation()).forEach(location -> locations.add(new PropertiesLocation((String) location)));
}
if (def.getLocations() != null) {
def.getLocations().forEach(definition -> locations.add(definition.toLocation()));
}
PropertiesComponent pc = new PropertiesComponent();
pc.setLocations(locations);
pc.setEncoding(def.getEncoding());
if (def.isCache() != null) {
pc.setCache(def.isCache());
}
if (def.isIgnoreMissingLocation() != null) {
pc.setIgnoreMissingLocation(def.isIgnoreMissingLocation());
}
// if using a custom resolver
if (ObjectHelper.isNotEmpty(def.getPropertiesResolverRef())) {
PropertiesResolver resolver = CamelContextHelper.mandatoryLookup(getContext(), def.getPropertiesResolverRef(), PropertiesResolver.class);
pc.setPropertiesResolver(resolver);
}
// if using a custom parser
if (ObjectHelper.isNotEmpty(def.getPropertiesParserRef())) {
PropertiesParser parser = CamelContextHelper.mandatoryLookup(getContext(), def.getPropertiesParserRef(), PropertiesParser.class);
pc.setPropertiesParser(parser);
}
pc.setPropertyPrefix(def.getPropertyPrefix());
pc.setPropertySuffix(def.getPropertySuffix());
if (def.isFallbackToUnaugmentedProperty() != null) {
pc.setFallbackToUnaugmentedProperty(def.isFallbackToUnaugmentedProperty());
}
if (def.getDefaultFallbackEnabled() != null) {
pc.setDefaultFallbackEnabled(def.getDefaultFallbackEnabled());
}
pc.setPrefixToken(def.getPrefixToken());
pc.setSuffixToken(def.getSuffixToken());
if (def.getFunctions() != null && !def.getFunctions().isEmpty()) {
for (CamelPropertyPlaceholderFunctionDefinition function : def.getFunctions()) {
String ref = function.getRef();
PropertiesFunction pf = CamelContextHelper.mandatoryLookup(getContext(), ref, PropertiesFunction.class);
pc.addFunction(pf);
}
}
// register the properties component
getContext().addComponent("properties", pc);
}
}
Aggregations