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

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

Introduction

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

Prototype

public HierarchicalConfiguration() 

Source Link

Document

Creates a new instance of HierarchicalConfiguration.

Usage

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  . ja  v  a 2 s .  c  o  m

    // 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.server.configuration.ServerConfiguration.java

@SuppressWarnings("unchecked")
protected void setupVirtualHosts(Configuration conf) throws ConfigurationException {
    List<String> vhostFiles = conf.getList("virtualhosts");
    Configuration vhostConfig = conf.subset("virtualhosts");

    // Only one configuration mechanism allowed
    if (!vhostFiles.isEmpty() && !vhostConfig.subset("virtualhost").isEmpty()) {
        throw new ConfigurationException(
                "Only one of external or embedded virtualhosts configuration allowed.");
    }// w w w .j  av a 2  s .c om

    // We can only have one vhosts XML file included
    if (vhostFiles.size() > 1) {
        throw new ConfigurationException(
                "Only one external virtualhosts configuration file allowed, multiple filenames found.");
    }

    // Virtualhost configuration object
    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 (int j = 0; j < hosts.size(); j++) {
        String name = (String) hosts.get(j);

        // Add the virtual hosts to the server configuration
        VirtualHostConfiguration virtualhost = new VirtualHostConfiguration(name,
                vhostConfiguration.subset("virtualhost." + name));
        _virtualHosts.put(virtualhost.getName(), virtualhost);
    }
}