Example usage for org.apache.commons.configuration ConfigurationException ConfigurationException

List of usage examples for org.apache.commons.configuration ConfigurationException ConfigurationException

Introduction

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

Prototype

public ConfigurationException(Throwable cause) 

Source Link

Document

Constructs a new ConfigurationException with specified nested Throwable.

Usage

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);

}