Example usage for org.apache.commons.configuration HierarchicalConfiguration setExpressionEngine

List of usage examples for org.apache.commons.configuration HierarchicalConfiguration setExpressionEngine

Introduction

In this page you can find the example usage for org.apache.commons.configuration HierarchicalConfiguration setExpressionEngine.

Prototype

public void setExpressionEngine(ExpressionEngine expressionEngine) 

Source Link

Document

Sets the expression engine to be used by this configuration.

Usage

From source file:com.servioticy.queueclient.QueueClient.java

private static QueueClient createInstance(String configPath) throws QueueClientException {
    QueueClient instance;//from   w  w  w . java2s . c om
    File f = new File(configPath);
    if (!f.exists()) {
        if (Thread.currentThread().getContextClassLoader().getResource(configPath) == null) {
            return createInstance(configPath, "kestrel", "localhost:22133", "services");
        }
    }

    String type;
    HierarchicalConfiguration config;

    try {
        config = new XMLConfiguration(configPath);

        config.setExpressionEngine(new XPathExpressionEngine());

        if (!config.containsKey("defaultQueue/queueType")) {
            String errMsg = "No default queue. Fix your configuration file.";
            logger.error(errMsg);
            throw new QueueClientException(errMsg);
        }
        type = config.getString("defaultQueue/queueType");
        instance = createInstance(configPath, type,
                config.getString("defaultQueue/baseAddress", "localhost:22133"),
                config.getString("defaultQueue/relativeAddress", "services"));
    } catch (ConfigurationException e) {
        String errMsg = "'" + configPath + "' configuration file is malformed (" + e.getMessage() + ").";
        logger.error(errMsg);
        throw new QueueClientException(errMsg);
    }

    return instance;
}

From source file:com.servioticy.queueclient.QueueClient.java

private static QueueClient createInstance(String configPath, String type, String baseAddress,
        String relativeAddress) throws QueueClientException {

    QueueClient instance;//w w  w.j a va 2 s  . c  o  m

    try {
        File f = new File(configPath);
        if (!f.exists()) {
            if (Thread.currentThread().getContextClassLoader().getResource(configPath) == null) {
                KestrelMemcachedClient kInstance = new KestrelMemcachedClient();
                kInstance.setBaseAddress(baseAddress);
                kInstance.setRelativeAddress(relativeAddress);
                kInstance.setExpire(0);
                return kInstance;
            }
        }
        String className;
        HierarchicalConfiguration config, queueConfig;

        config = new XMLConfiguration(configPath);
        config.setExpressionEngine(new XPathExpressionEngine());

        className = config.getString("queue[type='" + type + "']/className");
        instance = (QueueClient) Class.forName(className).newInstance();
        instance.setBaseAddress(baseAddress);
        instance.setRelativeAddress(relativeAddress);
        queueConfig = (HierarchicalConfiguration) config
                .configurationAt("queue[type='" + type + "']/concreteConf");
        instance.init(queueConfig);

    } catch (InstantiationException e) {
        String errMsg = "Unable to instantiate the queue class (" + e.getMessage() + ").";
        logger.error(errMsg);
        throw new QueueClientException(errMsg);
    } catch (IllegalAccessException e) {
        String errMsg = "Unable to load the queue class (" + e.getMessage() + ").";
        logger.error(errMsg);
        throw new QueueClientException(errMsg);
    } catch (ClassNotFoundException e) {
        String errMsg = "The queue class does not exist (" + e.getMessage() + ").";
        logger.error(errMsg);
        throw new QueueClientException(errMsg);
    } catch (ConfigurationException e) {
        String errMsg = "'" + configPath + "' configuration file is malformed (" + e.getMessage() + ").";
        logger.error(errMsg);
        throw new QueueClientException(errMsg);
    }

    return instance;
}

From source file:com.norconex.importer.ImporterConfig.java

private IImporterHandler[] loadImportHandlers(XMLConfiguration xml, String xmlPath) {
    List<IImporterHandler> handlers = new ArrayList<>();

    ExpressionEngine originalEngine = xml.getExpressionEngine();
    xml.setExpressionEngine(new XPathExpressionEngine());
    List<HierarchicalConfiguration> xmlHandlers = xml.configurationsAt(xmlPath + "/*");
    xml.setExpressionEngine(originalEngine);
    for (HierarchicalConfiguration xmlHandler : xmlHandlers) {
        xmlHandler.setExpressionEngine(originalEngine);
        IImporterHandler handler = (IImporterHandler) ConfigurationUtil.newInstance(xmlHandler);
        if (handler != null) {
            handlers.add(handler);/*ww  w.  j  av  a 2 s . c om*/
            //TODO throw exception here?
        }
    }
    return handlers.toArray(new IImporterHandler[] {});
}

From source file:com.iLabs.spice.common.config.ConfigurationHandler.java

/**
 * This method returns an array of the properties
 * //from w w w  . j av  a  2  s .c  om
 * @return ConfigurationInterface
 */
public ConfigurationInterface[] getList(String propertyName) {
    propertyName = preProcessPropertyName(propertyName);
    // Object[] configs=null;
    ConfigurationInterface[] configurations = null;
    List subConfigs = null;
    if (configSubset != null) {
        subConfigs = ((HierarchicalConfiguration) configSubset).configurationsAt(propertyName);
    } else {
        subConfigs = ((HierarchicalConfiguration) compositeConfig).configurationsAt(propertyName);

    }
    int configsLength = subConfigs.size();
    configurations = new ConfigurationInterface[configsLength];
    for (int ctrConfigs = 0; ctrConfigs < configsLength; ctrConfigs++) {
        ConfigurationHandler config = new ConfigurationHandler();
        HierarchicalConfiguration currentConfig = (HierarchicalConfiguration) subConfigs.get(ctrConfigs);
        currentConfig.setExpressionEngine(new XPathExpressionEngine());
        config.configSubset = currentConfig;
        configurations[ctrConfigs] = config;
    }
    return configurations;
}

From source file:com.servioticy.dispatcher.DispatcherContext.java

public void loadConf(String path) {
    HierarchicalConfiguration config;

    try {// ww w.  j  av  a 2 s .c  om
        if (path == null) {
            config = new XMLConfiguration(DispatcherContext.DEFAULT_CONFIG_PATH);
        } else {
            config = new XMLConfiguration(path);
        }
        config.setExpressionEngine(new XPathExpressionEngine());

        this.restBaseURL = config.getString("servioticyAPI", this.restBaseURL);

        ArrayList<String> updates = new ArrayList<String>();
        if (config.containsKey("spouts/updates/addresses/address[1]")) {
            for (int i = 1; config.containsKey("spouts/updates/addresses/address[" + i + "]"); i++) {
                updates.add(config.getString("spouts/updates/addresses/address[" + i + "]"));
            }
        } else {
            for (String address : this.updatesAddresses) {
                updates.add(address);
            }
        }
        this.updatesAddresses = (String[]) updates.toArray(new String[] {});
        this.updatesPort = config.getInt("spouts/updates/port", this.updatesPort);
        this.updatesQueue = config.getString("spouts/updates/name", this.updatesQueue);

        ArrayList<String> actions = new ArrayList<String>();
        if (config.containsKey("spouts/actions/addresses/address[1]")) {
            for (int i = 1; config.containsKey("spouts/actions/addresses/address[" + i + "]"); i++) {
                actions.add(config.getString("spouts/actions/addresses/address[" + i + "]"));
            }
        } else {
            for (String address : this.actionsAddresses) {
                actions.add(address);
            }
        }
        this.actionsAddresses = (String[]) actions.toArray(new String[] {});
        this.actionsPort = config.getInt("spouts/actions/port", this.actionsPort);
        this.actionsQueue = config.getString("spouts/actions/name", this.actionsQueue);

        this.benchmark = config.getBoolean("benchmark", this.benchmark);

        this.externalPubAddress = config.getString("publishers/external/address", this.externalPubAddress);
        this.externalPubPort = config.getInt("publishers/external/port", this.externalPubPort);
        this.externalPubUser = config.getString("publishers/external/username", this.externalPubUser);
        this.externalPubPassword = config.getString("publishers/external/password", this.externalPubPassword);
        this.externalPubClassName = config.getString("publishers/external/class", this.externalPubClassName);

        this.internalPubAddress = config.getString("publishers/internal/address", this.internalPubAddress);
        this.internalPubPort = config.getInt("publishers/internal/port", this.internalPubPort);
        this.internalPubUser = config.getString("publishers/internal/username", this.internalPubUser);
        this.internalPubPassword = config.getString("publishers/internal/password", this.internalPubPassword);
        this.internalPubClassName = config.getString("publishers/internal/class", this.internalPubClassName);

        this.actionsPubAddress = config.getString("publishers/actions/address", this.actionsPubAddress);
        this.actionsPubPort = config.getInt("publishers/actions/port", this.actionsPubPort);
        this.actionsPubUser = config.getString("publishers/actions/username", this.actionsPubUser);
        this.actionsPubPassword = config.getString("publishers/actions/password", this.actionsPubPassword);
        this.actionsPubClassName = config.getString("publishers/actions/class", this.actionsPubClassName);

        this.benchResultsDir = config.getString("benchResultsDir", this.benchResultsDir);

    } catch (Exception e) {
        e.printStackTrace();
        return;
    }
}

From source file:com.legstar.config.commons.LegStarConfigCommons.java

/**
 * Loads an XML configuration from file.
 * //from w  ww.ja  va2 s .  c om
 * @param configFileName the configuration file name
 * @return the in-memory XML configuration
 * @throws LegStarConfigurationException if configuration failed to load
 */
protected HierarchicalConfiguration loadGeneralConfig(final String configFileName)
        throws LegStarConfigurationException {
    try {
        if (_log.isDebugEnabled()) {
            _log.debug("Loading configuration file: " + configFileName);
        }
        /* First try as if it is a single configuration file */
        HierarchicalConfiguration generalConfig = new XMLConfiguration(configFileName);
        /*
         * If the first tag is additional, then this is a combined
         * configuration
         * that needs to be loaded in a specific way.
         */
        if (generalConfig.configurationsAt("additional").size() > 0) {
            DefaultConfigurationBuilder dcb = new DefaultConfigurationBuilder();
            dcb.setFileName(configFileName);
            generalConfig = (HierarchicalConfiguration) dcb.getConfiguration(true)
                    .getConfiguration(DefaultConfigurationBuilder.ADDITIONAL_NAME);
        }
        generalConfig.setExpressionEngine(new XPathExpressionEngine());
        return generalConfig;
    } catch (ConfigurationException e) {
        throw new LegStarConfigurationException(e);
    }
}