Example usage for org.apache.commons.configuration2.tree OverrideCombiner OverrideCombiner

List of usage examples for org.apache.commons.configuration2.tree OverrideCombiner OverrideCombiner

Introduction

In this page you can find the example usage for org.apache.commons.configuration2.tree OverrideCombiner OverrideCombiner.

Prototype

OverrideCombiner

Source Link

Usage

From source file:com.gs.obevo.api.factory.PlatformConfigReader.java

public ImmutableHierarchicalConfiguration readPlatformProperties(RichIterable<String> configPackages) {
    MutableList<PropertyInput> prioritizedProperties = readConfigPackages(configPackages);

    validate(prioritizedProperties);/*from  ww w .  j a  va 2  s  .  com*/

    // order properties by priority: higher-numbered files will replace properties of lower-numbered files
    prioritizedProperties.sortThisBy(new Function<PropertyInput, Integer>() {
        @Override
        public Integer valueOf(PropertyInput propertyInput1) {
            return propertyInput1.getPriority();
        }
    }).reverseThis(); // needs to be reversed as CombinedConfiguration takes the higher-priority files first

    // merge properties
    CombinedConfiguration combinedConfiguration = new CombinedConfiguration(new OverrideCombiner());
    for (HierarchicalConfiguration<ImmutableNode> properties : prioritizedProperties
            .collect(new Function<PropertyInput, HierarchicalConfiguration<ImmutableNode>>() {
                @Override
                public HierarchicalConfiguration<ImmutableNode> valueOf(PropertyInput propertyInput) {
                    return propertyInput.getProps();
                }
            })) {
        combinedConfiguration.addConfiguration(properties);
    }

    // remove the configPriority property
    combinedConfiguration.clearTree(PROP_CONFIG_PRIORITY);

    return combinedConfiguration;
}

From source file:com.gs.obevo.impl.AbstractEnvironmentEnricher.java

@Override
public ImmutableCollection<E> readSystem(final HierarchicalConfiguration sysCfg, final FileObject sourcePath) {
    final Platform systemDbPlatform = dbPlatformConfiguration.valueOf(sysCfg.getString("type"));

    // Check for dbEnvironments first for backwards-compatibility
    ImmutableList<HierarchicalConfiguration> envConfigs = iterConfigMutable(sysCfg,
            "environments.dbEnvironment");
    if (envConfigs.isEmpty()) {
        envConfigs = iterConfigMutable(sysCfg, "environments.environment");
    }/*from w  w  w  .j a  v  a  2 s.co  m*/

    ImmutableList<E> envList = envConfigs.collect(new Function<HierarchicalConfiguration, E>() {
        @Override
        public E valueOf(HierarchicalConfiguration envCfg) {
            E dbEnv = AbstractEnvironmentEnricher.this.createNewEnv();

            // combining the sys and env configurations before passing to downstream methods so that we can support only having env configs passed in
            CombinedConfiguration combinedConfiguration = new CombinedConfiguration(new OverrideCombiner());
            combinedConfiguration.addConfiguration(envCfg);
            combinedConfiguration.addConfiguration(sysCfg);
            combinedConfiguration.setExpressionEngine(sysCfg.getExpressionEngine());

            AbstractEnvironmentEnricher.this.enrich(dbEnv, combinedConfiguration, sourcePath, systemDbPlatform);
            AbstractEnvironmentEnricher.this.createEnv(dbEnv, combinedConfiguration, systemDbPlatform);
            return dbEnv;
        }
    });

    CollectionUtil.verifyNoDuplicates(envList, new Function<E, Object>() {
        @Override
        public Object valueOf(E e) {
            return e.getName();
        }
    }, "Invalid configuration from " + sourcePath + "; not expecting duplicate env names");
    return envList;
}

From source file:nl.imvertor.common.Configurator.java

/**
 * Prepare a step in the chain process by merging its configuration to the parms file in the work folder, 
 * from which all modules read their parameters.
 *   // w  w  w. j av a  2s.  c  om
 * @throws Exception 
 */
public void prepareStep() throws Exception {

    XmlFile stepFile = getStepConfigFile();
    if (!stepFile.isFile())
        throw new ConfiguratorException(
                "A step configurator file is required, but could not locate " + stepFile.getCanonicalPath());

    stepConfiguration = load(stepFile);

    // Combine work with step configurations
    NodeCombiner combiner = new OverrideCombiner();
    CombinedConfiguration cc = new CombinedConfiguration(combiner);
    cc.addConfiguration(workConfiguration);
    cc.addConfiguration(stepConfiguration);

    // replace the work configuration with the merged configuration.
    workConfiguration = new XMLConfiguration(cc);
    workConfiguration.setExpressionEngine(new XPathExpressionEngine());

    setParm(workConfiguration, "steps", "step-name", currentStepName, false);

}

From source file:org.craftercms.deployer.impl.DeploymentResolverImpl.java

protected HierarchicalConfiguration loadConfiguration(File customConfigFile) throws IOException {
    String customConfigFilename = customConfigFile.getPath();

    logger.debug("Loading custom deployment YAML config at {}", customConfigFilename);

    HierarchicalConfiguration customConfig = ConfigurationUtils.loadYamlConfiguration(customConfigFile);

    if (baseDeploymentYamlConfigResource.exists() || baseDeploymentYamlConfigOverrideResource.exists()) {
        CombinedConfiguration combinedConfig = new CombinedConfiguration(new OverrideCombiner());

        combinedConfig.addConfiguration(customConfig);

        if (baseDeploymentYamlConfigOverrideResource.exists()) {
            logger.debug("Loading base deployment YAML config override at {}",
                    baseDeploymentYamlConfigOverrideResource);

            combinedConfig.addConfiguration(
                    ConfigurationUtils.loadYamlConfiguration(baseDeploymentYamlConfigOverrideResource));
        }/*from   ww  w  . j av  a  2s  . c om*/
        if (baseDeploymentYamlConfigResource.exists()) {
            logger.debug("Loading base deployment YAML config at {}", baseDeploymentYamlConfigResource);

            combinedConfig.addConfiguration(
                    ConfigurationUtils.loadYamlConfiguration(baseDeploymentYamlConfigResource));
        }

        return combinedConfig;
    } else {
        return customConfig;
    }
}

From source file:org.craftercms.deployer.impl.TargetResolverImpl.java

protected HierarchicalConfiguration loadConfiguration(File customConfigFile)
        throws IOException, DeploymentException {
    String customConfigFilename = customConfigFile.getPath();

    logger.debug("Loading custom target YAML config at {}", customConfigFilename);

    HierarchicalConfiguration customConfig = ConfigurationUtils.loadYamlConfiguration(customConfigFile);

    if (baseTargetYamlConfigResource.exists() || baseTargetYamlConfigOverrideResource.exists()) {
        CombinedConfiguration combinedConfig = new CombinedConfiguration(new OverrideCombiner());

        combinedConfig.addConfiguration(customConfig);

        if (baseTargetYamlConfigOverrideResource.exists()) {
            logger.debug("Loading base target YAML config override at {}",
                    baseTargetYamlConfigOverrideResource);

            combinedConfig.addConfiguration(
                    ConfigurationUtils.loadYamlConfiguration(baseTargetYamlConfigOverrideResource));
        }/*from   w w w .jav  a  2 s. c o  m*/
        if (baseTargetYamlConfigResource.exists()) {
            logger.debug("Loading base target YAML config at {}", baseTargetYamlConfigResource);

            combinedConfig
                    .addConfiguration(ConfigurationUtils.loadYamlConfiguration(baseTargetYamlConfigResource));
        }

        return combinedConfig;
    } else {
        return customConfig;
    }
}

From source file:org.craftercms.deployer.impl.TargetServiceImpl.java

protected HierarchicalConfiguration loadConfiguration(File configFile) throws DeployerConfigurationException {
    String configFilename = configFile.getPath();

    logger.debug("Loading target YAML config at {}", configFilename);

    HierarchicalConfiguration config = ConfigUtils.loadYamlConfiguration(configFile);

    if (baseTargetYamlConfigResource.exists() || baseTargetYamlConfigOverrideResource.exists()) {
        CombinedConfiguration combinedConfig = new CombinedConfiguration(new OverrideCombiner());

        combinedConfig.addConfiguration(config);

        if (baseTargetYamlConfigOverrideResource.exists()) {
            logger.debug("Loading base target YAML config override at {}",
                    baseTargetYamlConfigOverrideResource);

            combinedConfig/*from  w  w w  .j  ava 2 s . c  o m*/
                    .addConfiguration(ConfigUtils.loadYamlConfiguration(baseTargetYamlConfigOverrideResource));
        }
        if (baseTargetYamlConfigResource.exists()) {
            logger.debug("Loading base target YAML config at {}", baseTargetYamlConfigResource);

            combinedConfig.addConfiguration(ConfigUtils.loadYamlConfiguration(baseTargetYamlConfigResource));
        }

        return combinedConfig;
    } else {
        return config;
    }
}