Example usage for org.apache.commons.configuration PropertyConverter interpolate

List of usage examples for org.apache.commons.configuration PropertyConverter interpolate

Introduction

In this page you can find the example usage for org.apache.commons.configuration PropertyConverter interpolate.

Prototype

public static Object interpolate(Object value, AbstractConfiguration config) 

Source Link

Document

Performs interpolation of the specified value.

Usage

From source file:com.dattack.jtoolbox.commons.configuration.ConfigurationUtil.java

/**
 * Interpolates the specified value./* www.j a  va 2  s. c o  m*/
 *
 * @param value
 *            the value to be interpolated
 * @param configuration
 *            the configuration object
 * @return the interpolated value
 * @see PropertyConverter#interpolate
 */
public static String interpolate(final String value, final AbstractConfiguration configuration) {

    if (value == null || configuration == null) {
        return value;
    }

    return PropertyConverter.interpolate(value, configuration).toString();
}

From source file:com.liferay.portal.deploy.auto.exploded.tomcat.BaseExplodedTomcatListener.java

public File getDocBaseDir(File file, String checkXmlFile) throws AutoDeployException {

    if (!isMatchingFileExtension(file)) {
        return null;
    }//from   w  w w  .j a  va  2  s  . com

    String docBase = null;

    try {
        String content = FileUtil.read(file);

        Document document = SAXReaderUtil.read(content);

        Element rootElement = document.getRootElement();

        docBase = rootElement.attributeValue("docBase");

        docBase = String.valueOf(PropertyConverter.interpolate(docBase, _systemConfiguration));
    } catch (Exception e) {
        throw new AutoDeployException(e);
    }

    if (Validator.isNull(docBase)) {
        if (_log.isDebugEnabled()) {
            _log.debug(file.getPath() + " does not have a docBase defined");
        }

        return null;
    }

    File docBaseDir = new File(docBase);

    if (!docBaseDir.exists()) {
        if (_log.isDebugEnabled()) {
            _log.debug(docBase + " does not exist");
        }

        return null;
    }

    if (!docBaseDir.isDirectory()) {
        if (_log.isDebugEnabled()) {
            _log.debug(docBase + " is not a directory");
        }

        return null;
    }

    if (!FileUtil.exists(docBase + "/" + checkXmlFile)) {
        if (_log.isDebugEnabled()) {
            _log.debug(docBase + " does not have " + checkXmlFile);
        }

        return null;
    }

    return docBaseDir;
}

From source file:com.dattack.naming.standalone.StandaloneContextFactory.java

private static String getResourcesDirectory(final CompositeConfiguration configuration)
        throws ConfigurationException {

    final Object configDir = PropertyConverter
            .interpolate(configuration.getProperty(RESOURCES_DIRECTORY_PROPERTY), configuration);

    if (configDir == null) {
        throw new ConfigurationException(
                String.format("JNDI configuration error: missing property '%s'", RESOURCES_DIRECTORY_PROPERTY));
    }//  www  . j  a  v a2 s .c o m

    return configDir.toString();
}

From source file:nl.isaac.dotcms.plugin.configuration.ConfigurationFactory.java

/**
 * Create a configuration via an id (<code>key</code>, only used for logging), the files to load configuration (<code>main</code>), the various property providers (<code>propertyProviders</code>) and configuration providers (<code>configurationProviders</code>).
 * @param key//from   w  ww  .  ja  va  2 s . co  m
 * @param main
 * @param propertyProviders
 * @param configurationProviders
 * @return
 * @throws ConfigurationException
 */
public static CustomConfiguration createConfiguration(String key, String main,
        Map<String, StrLookup> propertyProviders, Map<String, ConfigurationProvider> configurationProviders)
        throws ConfigurationException {
    CustomConfigurationBuilder confBuilder = new CustomConfigurationBuilder();
    confBuilder.setAutoSave(false);

    for (Map.Entry<String, ConfigurationProvider> provider : configurationProviders.entrySet()) {
        confBuilder.addConfigurationProvider(provider.getKey(), provider.getValue());
    }

    for (Map.Entry<String, StrLookup> provider : propertyProviders.entrySet()) {
        confBuilder.getInterpolator().registerLookup(provider.getKey(), provider.getValue());
    }

    main = String.valueOf(PropertyConverter.interpolate(main, confBuilder));
    confBuilder.load(main);

    CustomConfiguration conf = new CustomConfiguration(confBuilder.getConfiguration(false));
    for (FileConfiguration f : conf.getLoadedFileConfigurations()) {
        Logger.debug(ConfigurationService.class, "Loaded configuration file: " + f.getFile() + " for: " + key);
    }
    Logger.debug(ConfigurationService.class, "Loaded " + key + "configuration: " + conf.toStringTree());

    return conf;
}

From source file:org.ssh.comm.conf.CustomConfigurationBuilder.java

/**
 * Performs interpolation. This method will not only take this configuration
 * instance into account (which is the one that loaded the configuration
 * definition file), but also the so far constructed combined configuration.
 * So variables can be used that point to properties that are defined in
 * configuration sources loaded by this builder.
 * //from   w  w  w  .j  av a2s. c o  m
 * @param value
 *            the value to be interpolated
 * @return the interpolated value
 */
@Override
protected Object interpolate(Object value) {
    Object result = super.interpolate(value);
    if (constructedConfiguration != null) {
        result = PropertyConverter.interpolate(value, this);
    }
    return result;
}