List of usage examples for org.apache.commons.configuration HierarchicalConfiguration setExpressionEngine
public void setExpressionEngine(ExpressionEngine expressionEngine)
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); } }