List of usage examples for org.apache.commons.configuration ConfigurationException ConfigurationException
public ConfigurationException(Throwable cause)
ConfigurationException
with specified nested Throwable
. From source file:org.wso2.andes.configuration.qpid.plugins.ConfigurationPlugin.java
/** * Provide mechanism to validate Configuration contains a Postiive Long Value * * @param property//from ww w. j ava 2s.co m * * @throws ConfigurationException */ protected void validatePositiveLong(String property) throws ConfigurationException { try { if (!containsPositiveLong(property)) { throw new ConfigurationException( this.getClass().getSimpleName() + ": '" + property + "' must be a Positive Long value."); } } catch (Exception e) { Throwable last = e; // Find the first cause if (e instanceof ConversionException) { Throwable t = e.getCause(); while (t != null) { last = t; t = last.getCause(); } } throw new ConfigurationException(this.getClass().getSimpleName() + ": unable to configure invalid " + property + ":" + _configuration.getString(property), last); } }
From source file:org.wso2.andes.configuration.qpid.plugins.SlowConsumerDetectionConfiguration.java
@Override public void validateConfiguration() throws ConfigurationException { validatePositiveLong("delay"); String timeUnit = getStringValue("timeunit"); if (timeUnit != null) { try {/*from ww w. j av a 2 s. c o m*/ _timeUnit = TimeUnit.valueOf(timeUnit.toUpperCase()); } catch (IllegalArgumentException iae) { throw new ConfigurationException( "Unable to configure Slow Consumer Detection invalid TimeUnit:" + timeUnit); } } }
From source file:org.wso2.andes.configuration.qpid.plugins.SlowConsumerDetectionPolicyConfiguration.java
@Override public void validateConfiguration() throws ConfigurationException { if (getPolicyName() == null) { throw new ConfigurationException("No Slow consumer policy defined."); }/*from www . j a va2s . co m*/ }
From source file:org.wso2.andes.configuration.qpid.plugins.SlowConsumerDetectionQueueConfiguration.java
@Override public void validateConfiguration() throws ConfigurationException { if (!containsPositiveLong("messageAge") && !containsPositiveLong("depth") && !containsPositiveLong("messageCount")) { throw new ConfigurationException("At least one configuration property" + "('messageAge','depth' or 'messageCount') must be specified."); }//from w w w .j a v a2 s . c om SlowConsumerDetectionPolicyConfiguration policyConfig = getConfiguration( SlowConsumerDetectionPolicyConfiguration.class.getName()); PluginManager pluginManager = ApplicationRegistry.getInstance().getPluginManager(); Map<String, SlowConsumerPolicyPluginFactory> factories = pluginManager.getSlowConsumerPlugins(); if (policyConfig == null) { throw new ConfigurationException( "No Slow Consumer Policy specified. Known Policies:" + factories.keySet()); } if (_logger.isDebugEnabled()) { Iterator<?> keys = policyConfig.getConfig().getKeys(); while (keys.hasNext()) { String key = (String) keys.next(); _logger.debug("Policy Keys:" + key); } } SlowConsumerPolicyPluginFactory<SlowConsumerPolicyPlugin> pluginFactory = factories .get(policyConfig.getPolicyName().toLowerCase()); if (pluginFactory == null) { throw new ConfigurationException("Unknown Slow Consumer Policy specified:" + policyConfig.getPolicyName() + " Known Policies:" + factories.keySet()); } _policyPlugin = pluginFactory.newInstance(policyConfig); // Debug the creation of this Config _logger.debug(this); }
From source file:org.wso2.andes.configuration.qpid.ServerConfiguration.java
@Override public void validateConfiguration() throws ConfigurationException { // Support for security.jmx.access was removed when JMX access rights were incorporated into the main ACL. // This ensure that users remove the element from their configuration file. if (getListValue("security.jmx.access").size() > 0) { String message = "Validation error : security/jmx/access is no longer a supported element within the " + "configuration xml." + (_configFile == null ? "" : " Configuration file : " + _configFile); throw new ConfigurationException(message); }// w ww. ja v a 2 s . co m if (getListValue("security.jmx.principal-database").size() > 0) { String message = "Validation error : security/jmx/principal-database is no longer a supported element " + "within the configuration xml." + (_configFile == null ? "" : " Configuration file : " + _configFile); throw new ConfigurationException(message); } if (getListValue("security.principal-databases.principal-database(0).class").size() > 0) { String message = "Validation error : security/principal-databases is no longer supported within the " + "configuration xml." + (_configFile == null ? "" : " Configuration file : " + _configFile); throw new ConfigurationException(message); } }
From source file:org.wso2.andes.configuration.qpid.ServerConfiguration.java
@SuppressWarnings("unchecked") protected void setupVirtualHosts(org.apache.commons.configuration.Configuration conf) throws ConfigurationException { String[] vhostFiles = conf.getStringArray("virtualhosts"); org.apache.commons.configuration.Configuration vhostConfig = conf.subset("virtualhosts"); // Only one configuration mechanism allowed if (!(vhostFiles.length == 0) && !vhostConfig.subset("virtualhost").isEmpty()) { throw new ConfigurationException( "Only one of external or embedded virtualhosts configuration allowed."); }//from w ww.j a v a2 s . com // We can only have one vhosts XML file included if (vhostFiles.length > 1) { throw new ConfigurationException( "Only one external virtualhosts configuration file allowed, " + "multiple filenames found."); } // Virtualhost configuration object org.apache.commons.configuration.Configuration vhostConfiguration = new HierarchicalConfiguration(); // Load from embedded configuration if possible if (!vhostConfig.subset("virtualhost").isEmpty()) { vhostConfiguration = vhostConfig; } else { // Load from the external configuration if possible for (String fileName : vhostFiles) { // Open the vhosts XML file and copy values from it to our config _vhostsFile = new File(fileName); if (!_vhostsFile.exists()) { throw new ConfigurationException("Virtualhosts file does not exist"); } vhostConfiguration = parseConfig(new File(fileName)); // save the default virtualhost name String defaultVirtualHost = vhostConfiguration.getString("default"); _configuration.setProperty("virtualhosts.default", defaultVirtualHost); } } // Now extract the virtual host names from the configuration object List hosts = vhostConfiguration.getList("virtualhost.name"); for (Object host : hosts) { String name = (String) host; // Add the virtual hosts to the server configuration VirtualHostConfiguration virtualhost = new VirtualHostConfiguration(name, vhostConfiguration.subset("virtualhost." + name)); _virtualHosts.put(virtualhost.getName(), virtualhost); } }
From source file:org.wso2.andes.configuration.qpid.TopicConfig.java
public void validateConfiguration() throws ConfigurationException { if (_configuration.isEmpty()) { throw new ConfigurationException("Topic section cannot be empty."); }//from w w w . j a va 2 s . c o m if (getStringValue("name") == null && getSubscriptionName() == null) { throw new ConfigurationException("Topic section must have a 'name' or 'subscriptionName' element."); } System.err.println("********* Created TC:" + this); }
From source file:org.wso2.andes.configuration.qpid.TopicConfiguration.java
@Override public void validateConfiguration() throws ConfigurationException { if (_configuration.isEmpty()) { throw new ConfigurationException("Topics section cannot be empty."); }/* w w w .j a v a2 s . c o m*/ int topics = _configuration.getList("topic.name").size() + _configuration.getList("topic.subscriptionName").size(); for (int index = 0; index < topics; index++) { Configuration topicSubset = _configuration.subset("topic(" + index + ")"); // This will occur when we have a subscriptionName that is bound to a // topic. if (topicSubset.isEmpty()) { break; } TopicConfig topic = new TopicConfig(); topic.setConfiguration(VIRTUALHOSTS_VIRTUALHOST_TOPICS + ".topic", topicSubset); String name = _configuration.getString("topic(" + index + ").name"); String subscriptionName = _configuration.getString("topic(" + index + ").subscriptionName"); // Record config if subscriptionName is there if (subscriptionName != null) { processSubscription(subscriptionName, topic); } else { // Otherwise record config as topic if we have the name if (name != null) { processTopic(name, topic); } } } }
From source file:org.wso2.andes.configuration.qpid.TopicConfiguration.java
/** * @param name//from w w w.ja v a 2 s . c o m * @param topic * * @throws org.apache.commons.configuration.ConfigurationException * */ private void processTopic(String name, TopicConfig topic) throws ConfigurationException { if (_topics.containsKey(name)) { throw new ConfigurationException("Topics section cannot contain two entries for the same topic."); } else { _topics.put(name, topic); } }
From source file:org.wso2.andes.configuration.qpid.TopicConfiguration.java
private void processSubscription(String name, TopicConfig topic) throws ConfigurationException { Map<String, TopicConfig> topics; if (_subscriptions.containsKey(name)) { topics = _subscriptions.get(name); if (topics.containsKey(topic.getName())) { throw new ConfigurationException("Subcription cannot contain two entries for the same topic."); }//from w w w . j av a 2 s. c om } else { topics = new HashMap<String, TopicConfig>(); } topics.put(topic.getName(), topic); _subscriptions.put(name, topics); }