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

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

Introduction

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

Prototype

public SubnodeConfiguration configurationAt(String key) 

Source Link

Document

Returns a hierarchical subnode configuration for the node specified by the given key.

Usage

From source file:org.apache.james.container.spring.mailbox.MaxQuotaConfigurationReader.java

private Map<String, Long> parseMaxMessageConfiguration(HierarchicalConfiguration config, String entry) {
    List<HierarchicalConfiguration> maxMessageConfiguration = config.configurationAt("maxQuotaManager")
            .configurationsAt(entry);//from ww  w .  j  a  v a 2s.c  o m
    Map<String, Long> result = new HashMap<String, Long>();
    for (HierarchicalConfiguration conf : maxMessageConfiguration) {
        result.put(conf.getString("quotaRoot"), conf.getLong("value"));
    }
    return result;
}

From source file:org.apache.james.fetchmail.ParsedConfiguration.java

protected void configure(HierarchicalConfiguration conf) throws ConfigurationException {
    setHost(conf.getString("host"));

    setFetchTaskName(conf.getString("[@name]"));
    setJavaMailProviderName(conf.getString("javaMailProviderName"));
    setJavaMailFolderName(conf.getString("javaMailFolderName"));
    setRecurse(conf.getBoolean("recursesubfolders"));

    HierarchicalConfiguration recipientNotFound = conf.configurationAt("recipientnotfound");
    setDeferRecipientNotFound(recipientNotFound.getBoolean("[@defer]"));
    setRejectRecipientNotFound(recipientNotFound.getBoolean("[@reject]"));
    setLeaveRecipientNotFound(recipientNotFound.getBoolean("[@leaveonserver]"));
    setMarkRecipientNotFoundSeen(recipientNotFound.getBoolean("[@markseen]"));
    setDefaultDomainName(conf.getString("defaultdomain", "localhost"));

    setFetchAll(conf.getBoolean("fetchall"));

    HierarchicalConfiguration fetched = conf.configurationAt("fetched");
    setLeave(fetched.getBoolean("[@leaveonserver]"));
    setMarkSeen(fetched.getBoolean("[@markseen]"));

    HierarchicalConfiguration remoterecipient = conf.configurationAt("remoterecipient");
    setRejectRemoteRecipient(remoterecipient.getBoolean("[@reject]"));
    setLeaveRemoteRecipient(remoterecipient.getBoolean("[@leaveonserver]"));
    setMarkRemoteRecipientSeen(remoterecipient.getBoolean("[@markseen]"));

    HierarchicalConfiguration blacklist = conf.configurationAt("blacklist");
    setBlacklist(conf.getString("blacklist", ""));
    setRejectBlacklisted(blacklist.getBoolean("[@reject]"));
    setLeaveBlacklisted(blacklist.getBoolean("[@leaveonserver]"));
    setMarkBlacklistedSeen(blacklist.getBoolean("[@markseen]"));

    HierarchicalConfiguration userundefined = conf.configurationAt("userundefined");
    setRejectUserUndefined(userundefined.getBoolean("[@reject]"));
    setLeaveUserUndefined(userundefined.getBoolean("[@leaveonserver]"));
    setMarkUserUndefinedSeen(userundefined.getBoolean("[@markseen]"));

    HierarchicalConfiguration undeliverable = conf.configurationAt("undeliverable");
    setLeaveUndeliverable(undeliverable.getBoolean("[@leaveonserver]"));
    setMarkUndeliverableSeen(undeliverable.getBoolean("[@markseen]"));

    if (conf.getKeys("remotereceivedheader").hasNext()) {
        HierarchicalConfiguration remotereceivedheader = conf.configurationAt("remotereceivedheader");

        setRemoteReceivedHeaderIndex(remotereceivedheader.getInt("[@index]"));
        setRejectRemoteReceivedHeaderInvalid(remotereceivedheader.getBoolean("[@reject]"));
        setLeaveRemoteReceivedHeaderInvalid(remotereceivedheader.getBoolean("[@leaveonserver]"));
        setMarkRemoteReceivedHeaderInvalidSeen(remotereceivedheader.getBoolean("[@markseen]"));
    }//from w  w  w.j  a va2s . co m

    if (conf.getKeys("maxmessagesize").hasNext()) {
        HierarchicalConfiguration maxmessagesize = conf.configurationAt("maxmessagesize");

        setMaxMessageSizeLimit(maxmessagesize.getInt("[@limit]") * 1024);
        setRejectMaxMessageSizeExceeded(maxmessagesize.getBoolean("[@reject]"));
        setLeaveMaxMessageSizeExceeded(maxmessagesize.getBoolean("[@leaveonserver]"));
        setMarkMaxMessageSizeExceededSeen(maxmessagesize.getBoolean("[@markseen]"));
    }

    if (getLogger().isDebugEnabled()) {
        getLogger().info("Configured FetchMail fetch task " + getFetchTaskName());
    }
}

From source file:org.apache.james.mailrepository.memory.MemoryMailRepositoryStore.java

private void registerRepositoryDefaultConfiguration(HierarchicalConfiguration repositoryConfiguration,
        Protocol protocol) {//  w  ww .ja v  a 2 s  . c  om
    HierarchicalConfiguration defConf = null;
    if (repositoryConfiguration.getKeys("config").hasNext()) {
        defConf = repositoryConfiguration.configurationAt("config");
    }
    if (defConf != null) {
        perProtocolMailRepositoryDefaultConfiguration.put(protocol, defConf);
    }
}

From source file:org.apache.james.server.core.configuration.FileConfigurationProvider.java

private HierarchicalConfiguration selectHierarchicalConfigPart(HierarchicalConfiguration config,
        Iterable<String> configsPathParts) {
    HierarchicalConfiguration currentConfig = config;
    for (String nextPathPart : configsPathParts) {
        currentConfig = currentConfig.configurationAt(nextPathPart);
    }/*  w ww . j av  a  2s.co m*/
    return currentConfig;
}

From source file:org.apache.james.user.ldap.LdapRepositoryConfiguration.java

public static LdapRepositoryConfiguration from(HierarchicalConfiguration configuration)
        throws ConfigurationException {
    String ldapHost = configuration.getString("[@ldapHost]", "");
    String principal = configuration.getString("[@principal]", "");
    String credentials = configuration.getString("[@credentials]", "");
    String userBase = configuration.getString("[@userBase]");
    String userIdAttribute = configuration.getString("[@userIdAttribute]");
    String userObjectClass = configuration.getString("[@userObjectClass]");
    // Default is to use connection pooling
    boolean useConnectionPool = configuration.getBoolean("[@useConnectionPool]", USE_CONNECTION_POOL);
    int connectionTimeout = configuration.getInt("[@connectionTimeout]", NO_CONNECTION_TIMEOUT);
    int readTimeout = configuration.getInt("[@readTimeout]", NO_READ_TIME_OUT);
    // Default maximum retries is 1, which allows an alternate connection to
    // be found in a multi-homed environment
    int maxRetries = configuration.getInt("[@maxRetries]", 1);
    boolean supportsVirtualHosting = configuration.getBoolean(SUPPORTS_VIRTUAL_HOSTING,
            !ENABLE_VIRTUAL_HOSTING);//from w ww .j av  a  2 s. c o  m
    // Default retry start interval is 0 second
    long retryStartInterval = configuration.getLong("[@retryStartInterval]", 0);
    // Default maximum retry interval is 60 seconds
    long retryMaxInterval = configuration.getLong("[@retryMaxInterval]", 60);
    int scale = configuration.getInt("[@retryIntervalScale]", 1000); // seconds

    HierarchicalConfiguration restrictionConfig = null;
    // Check if we have a restriction we can use
    // See JAMES-1204
    if (configuration.containsKey("restriction[@memberAttribute]")) {
        restrictionConfig = configuration.configurationAt("restriction");
    }
    ReadOnlyLDAPGroupRestriction restriction = new ReadOnlyLDAPGroupRestriction(restrictionConfig);

    //see if there is a filter argument
    String filter = configuration.getString("[@filter]");

    Optional<String> administratorId = Optional.ofNullable(configuration.getString("[@administratorId]"));

    return new LdapRepositoryConfiguration(ldapHost, principal, credentials, userBase, userIdAttribute,
            userObjectClass, useConnectionPool, connectionTimeout, readTimeout, maxRetries,
            supportsVirtualHosting, retryStartInterval, retryMaxInterval, scale, restriction, filter,
            administratorId);
}

From source file:org.apache.james.user.ldap.ReadOnlyUsersLDAPRepository.java

/**
 * Extracts the parameters required by the repository instance from the
 * James server configuration data. The fields extracted include
 * {@link #ldapHost}, {@link #userIdAttribute}, {@link #userBase},
 * {@link #principal}, {@link #credentials} and {@link #restriction}.
 *
 * @param configuration//from w w w  .j  a va  2s .  c  om
 *            An encapsulation of the James server configuration data.
 */
public void configure(HierarchicalConfiguration configuration) throws ConfigurationException {
    ldapHost = configuration.getString("[@ldapHost]", "");
    principal = configuration.getString("[@principal]", "");
    credentials = configuration.getString("[@credentials]", "");
    userBase = configuration.getString("[@userBase]");
    userIdAttribute = configuration.getString("[@userIdAttribute]");
    userObjectClass = configuration.getString("[@userObjectClass]");
    // Default is to use connection pooling
    useConnectionPool = configuration.getBoolean("[@useConnectionPool]", true);
    connectionTimeout = configuration.getInt("[@connectionTimeout]", -1);
    readTimeout = configuration.getInt("[@readTimeout]", -1);
    // Default maximum retries is 1, which allows an alternate connection to
    // be found in a multi-homed environment
    maxRetries = configuration.getInt("[@maxRetries]", 1);
    // Default retry start interval is 0 second
    long retryStartInterval = configuration.getLong("[@retryStartInterval]", 0);
    // Default maximum retry interval is 60 seconds
    long retryMaxInterval = configuration.getLong("[@retryMaxInterval]", 60);
    int scale = configuration.getInt("[@retryIntervalScale]", 1000); // seconds
    schedule = new DoublingRetrySchedule(retryStartInterval, retryMaxInterval, scale);

    HierarchicalConfiguration restrictionConfig = null;
    // Check if we have a restriction we can use
    // See JAMES-1204
    if (configuration.containsKey("restriction[@memberAttribute]")) {
        restrictionConfig = configuration.configurationAt("restriction");
    }
    restriction = new ReadOnlyLDAPGroupRestriction(restrictionConfig);

    //see if there is a filter argument
    filter = configuration.getString("[@filter]");

}

From source file:org.apache.james.utils.InMemoryMailRepositoryStore.java

private void registerRepositoryDefaultConfiguration(HierarchicalConfiguration repositoryConfiguration,
        String protocol) {//from  ww w.j a  v  a2  s .c  o m
    HierarchicalConfiguration defConf = null;
    if (repositoryConfiguration.getKeys("config").hasNext()) {
        defConf = repositoryConfiguration.configurationAt("config");
    }
    if (defConf != null) {
        perProtocolMailRepositoryDefaultConfiguration.put(protocol, defConf);
    }
}

From source file:org.nnsoft.t2t.configuration.ConfigurationManager.java

private Rule getRule(HierarchicalConfiguration rule) {
    HierarchicalConfiguration match = rule.configurationAt("match");
    String pattern = match.getString("pattern");
    StatementPattern matchStatementPattern = parsePattern(pattern);

    Set<StatementPattern> applyStatementPatterns = new HashSet<StatementPattern>();
    HierarchicalConfiguration apply = rule.configurationAt("apply");
    @SuppressWarnings("unchecked")
    List<HierarchicalConfiguration> patterns = apply.configurationsAt("patterns");
    for (HierarchicalConfiguration applyPattern : patterns) {
        applyStatementPatterns.add(parsePattern(applyPattern.getString("pattern")));
    }/*from w w  w  . j  av a  2 s.c om*/
    return new Rule(matchStatementPattern, applyStatementPatterns);
}

From source file:org.nnsoft.t2t.configuration.ConfigurationManager.java

private MigratorConfiguration.ConnectionParameter getDestinationConnection(XMLConfiguration xmlConfiguration) {
    HierarchicalConfiguration destination = xmlConfiguration.configurationAt("destination");
    HierarchicalConfiguration connection = destination.configurationAt("connection");
    String host = connection.getString("host");
    int port = connection.getInt("port");
    String user = connection.getString("username");
    String passwd = connection.getString("password");
    return new MigratorConfiguration.ConnectionParameter(host, port, user, passwd);
}

From source file:org.nnsoft.t2t.configuration.ConfigurationManager.java

private MigratorConfiguration.ConnectionParameter getSourceConnection(XMLConfiguration xmlConfiguration) {
    HierarchicalConfiguration source = xmlConfiguration.configurationAt("source");
    HierarchicalConfiguration connection = source.configurationAt("connection");
    String host = connection.getString("host");
    int port = connection.getInt("port");
    String user = connection.getString("username");
    String passwd = connection.getString("password");
    return new MigratorConfiguration.ConnectionParameter(host, port, user, passwd);
}