Search in sources :

Example 1 with PropertiesFunction

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);
    }
}
Also used : PropertiesParser(org.apache.camel.component.properties.PropertiesParser) PropertiesResolver(org.apache.camel.component.properties.PropertiesResolver) ArrayList(java.util.ArrayList) PropertiesLocation(org.apache.camel.component.properties.PropertiesLocation) PropertiesFunction(org.apache.camel.component.properties.PropertiesFunction) PropertiesComponent(org.apache.camel.component.properties.PropertiesComponent)

Aggregations

ArrayList (java.util.ArrayList)1 PropertiesComponent (org.apache.camel.component.properties.PropertiesComponent)1 PropertiesFunction (org.apache.camel.component.properties.PropertiesFunction)1 PropertiesLocation (org.apache.camel.component.properties.PropertiesLocation)1 PropertiesParser (org.apache.camel.component.properties.PropertiesParser)1 PropertiesResolver (org.apache.camel.component.properties.PropertiesResolver)1