Example usage for org.apache.commons.configuration MapConfiguration getInterpolator

List of usage examples for org.apache.commons.configuration MapConfiguration getInterpolator

Introduction

In this page you can find the example usage for org.apache.commons.configuration MapConfiguration getInterpolator.

Prototype

public ConfigurationInterpolator getInterpolator() 

Source Link

Document

Returns the ConfigurationInterpolator object that manages the lookup objects for resolving variables.

Usage

From source file:org.seedstack.seed.core.internal.application.ApplicationPlugin.java

private Configuration buildConfiguration(Props props, Props propsOverride,
        Map<String, Class<? extends StrLookup>> configurationLookups, String... profiles) {
    Map<String, String> finalConfiguration = new HashMap<String, String>();
    Map<String, String> configurationMap = new HashMap<String, String>();
    Map<String, String> configurationOverrideMap = new HashMap<String, String>();

    // Extract props to maps
    props.extractProps(configurationMap, profiles);
    propsOverride.extractProps(configurationOverrideMap, profiles);

    // Put defaults to final configuration
    finalConfiguration.putAll(defaultConfiguration);

    // Put nominal to final configuration
    finalConfiguration.putAll(configurationMap);

    // Apply removal behavior
    Iterator<Map.Entry<String, String>> overrideIterator = configurationOverrideMap.entrySet().iterator();
    while (overrideIterator.hasNext()) {
        String overrideKey = overrideIterator.next().getKey();
        if (overrideKey.startsWith("-")) {
            finalConfiguration.remove(overrideKey.substring(1));
            overrideIterator.remove();//from   ww w  . java  2  s. c o m
        }
    }

    // Put override to final configuration
    finalConfiguration.putAll(configurationOverrideMap);

    // Convert final configuration to an immutable Apache Commons Configuration
    MapConfiguration mapConfiguration = new MapConfiguration(
            new ImmutableMap.Builder<String, Object>().putAll(finalConfiguration).build());

    // Register configuration lookups
    for (Entry<String, Class<? extends StrLookup>> configurationLookup : configurationLookups.entrySet()) {
        mapConfiguration.getInterpolator().registerLookup(configurationLookup.getKey(),
                buildStrLookup(configurationLookup.getValue(), mapConfiguration));
    }

    return mapConfiguration;
}

From source file:org.seedstack.seed.core.internal.application.SeedConfigLoader.java

private Configuration buildBootstrapConfiguration() {
    Set<String> resources = Sets.newHashSet(SEED_BOOTSTRAP_PROPS_PATH, SEED_BOOTSTRAP_PROPERTIES_PATH);
    MapConfiguration globalConfiguration = buildApplicationConfig(resources, null).getValue0();
    globalConfiguration.getInterpolator().registerLookup("env", new EnvLookup());
    return new MapConfiguration(
            new ImmutableMap.Builder<String, Object>().putAll(globalConfiguration.getMap()).build());
}

From source file:org.seedstack.seed.core.internal.SeedConfigLoader.java

private Configuration buildBootstrapConfiguration() {
    Set<String> resources = Sets.newHashSet(SEED_BOOTSTRAP_PROPS_PATH, SEED_BOOTSTRAP_PROPERTIES_PATH);
    MapConfiguration globalConfiguration = buildConfiguration(resources, null).getValue0();
    globalConfiguration.getInterpolator().registerLookup("env", new EnvLookup());
    return new MapConfiguration(
            new ImmutableMap.Builder<String, Object>().putAll(globalConfiguration.getMap()).build());
}