Example usage for org.apache.commons.configuration Configuration getList

List of usage examples for org.apache.commons.configuration Configuration getList

Introduction

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

Prototype

List getList(String key);

Source Link

Document

Get a List of strings associated with the given configuration key.

Usage

From source file:org.ambraproject.configuration.ConfigurationTest.java

public void testSubsetDefaults2() {
    Configuration conf = this.conf.subset("exptest");
    checkExpTest(conf.getList("local.item"));
}

From source file:org.ambraproject.configuration.ConfigurationTest.java

public void testSubsetDefaultsOverride1() {
    Configuration conf = this.conf.subset("exptest.overrides");
    checkExpTest(conf.getList("item"));
}

From source file:org.ambraproject.configuration.ConfigurationTest.java

public void testSubsetDefaultsOverride2() {
    Configuration conf = this.conf.subset("exptest");
    checkExpTest(conf.getList("overrides.item"));
}

From source file:org.ambraproject.freemarker.AmbraFreemarkerConfig.java

private void loadConfig2(Configuration configuration) {
    int numJournals = configuration.getList("ambra.freemarker.journal.name").size();
    for (int k = 0; k < numJournals; k++) {
        final String journal = "ambra.freemarker.journal(" + k + ")";
        final String journalName = configuration.getString(journal + ".name");
        if (log.isDebugEnabled()) {
            log.debug("reading journal name: " + journalName);
        }//from   ww w . j  a  v  a 2 s  . c om
        JournalConfig jc = journals.get(journalName);
        if (jc == null) {
            if (log.isDebugEnabled()) {
                log.debug("journal Not found, creating: " + journalName);
            }
            jc = new JournalConfig();
            journals.put(journalName, jc);
        }

        if (jc.getDefaultTitle() == null) {
            final String title = configuration.getString(journal + ".default.title");
            if (title != null) {
                jc.setDefaultTitle(title);
            }
        }

        if (jc.getMetaDescription() == null) {
            final String metaDescription = configuration.getString(journal + ".metaDescription");
            if (metaDescription != null) {
                jc.setMetaDescription(metaDescription);
            }
        }

        if (jc.getMetaKeywords() == null) {
            final String metaKeywords = configuration.getString(journal + ".metaKeywords");
            if (metaKeywords != null) {
                jc.setMetaKeywords(metaKeywords);
            }
        }

        if (jc.getHashTag() == null) {
            final String hashtag = configuration.getString(journal + ".hashTag");
            if (hashtag != null) {
                jc.setHashTag(hashtag);
            }
        }

        if (jc.getDisplayName() == null) {
            final String displayName = configuration.getString(journal + ".displayName");
            if (displayName != null) {
                jc.setDisplayName(displayName);
            }
        }

        if (jc.getArticleTitlePrefix() == null) {
            final String articleTitlePrefix = configuration.getString(journal + ".articleTitlePrefix");
            if (articleTitlePrefix != null) {
                jc.setArticleTitlePrefix(articleTitlePrefix);
            }
        }

        if (jc.getDefaultCss() == null) {
            final List fileList = configuration.getList(journal + ".default.css.file");
            String[] defaultCss;
            if (fileList.size() > 0) {
                defaultCss = new String[fileList.size()];
                Iterator iter = fileList.iterator();
                for (int i = 0; i < fileList.size(); i++) {
                    defaultCss[i] = dirPrefix + subdirPrefix + iter.next();
                }
                jc.setDefaultCss(defaultCss);
            }
        }

        if (jc.getDefaultJavaScript() == null) {
            final List fileList = configuration.getList(journal + ".default.javascript.file");
            String javascriptFile;
            String[] defaultJavaScript;
            if (fileList.size() > 0) {
                defaultJavaScript = new String[fileList.size()];
                Iterator iter = fileList.iterator();
                for (int i = 0; i < fileList.size(); i++) {
                    javascriptFile = (String) iter.next();
                    if (javascriptFile.endsWith(".ftl")) {
                        defaultJavaScript[i] = subdirPrefix + javascriptFile;
                    } else {
                        defaultJavaScript[i] = dirPrefix + subdirPrefix + javascriptFile;
                    }
                }
                jc.setDefaultJavaScript(defaultJavaScript);
            }
        }

        final int numPages = configuration.getList(journal + ".page.name").size();

        for (int i = 0; i < numPages; i++) {
            String page = journal + ".page(" + i + ")";
            String pageName = configuration.getString(page + ".name");
            if (log.isDebugEnabled())
                log.debug("Reading config for page name: " + pageName);

            if (!jc.getTitles().containsKey(pageName)) {
                final String title = configuration.getString(page + ".title");
                if (title != null) {
                    jc.getTitles().put(pageName, title);
                }
            }

            if (!jc.getCssFiles().containsKey(pageName)) {
                List<String> list = configuration.getList(page + ".css.file");
                String[] cssArray = new String[list.size()];
                int j = 0;
                for (String fileName : list) {
                    cssArray[j++] = dirPrefix + subdirPrefix + fileName;
                }
                if (cssArray.length > 0
                        || cssArray.length == 0 && configuration.getProperty(page + ".css") != null) {
                    jc.getCssFiles().put(pageName, cssArray);
                }
            }

            if (!jc.getJavaScriptFiles().containsKey(pageName)) {
                List<String> list = configuration.getList(page + ".javascript.file");
                String[] javaScriptArray = new String[list.size()];
                int j = 0;
                for (String fileName : list) {
                    if (fileName.endsWith(".ftl")) {
                        javaScriptArray[j++] = subdirPrefix + fileName;
                    } else {
                        javaScriptArray[j++] = dirPrefix + subdirPrefix + fileName;
                    }
                }

                if (javaScriptArray.length > 0 || javaScriptArray.length == 0
                        && configuration.getProperty(page + ".javascript") != null) {
                    jc.getJavaScriptFiles().put(pageName, javaScriptArray);
                }
            }
        }
    }

}

From source file:org.ambraproject.freemarker.AmbraFreemarkerConfig.java

private void processVirtualJournalConfig(Configuration configuration) {
    final Collection<String> virtualJournals = configuration
            .getList(VirtualJournalContextFilter.CONF_VIRTUALJOURNALS_JOURNALS);
    String defaultVirtualJournal = configuration
            .getString(VirtualJournalContextFilter.CONF_VIRTUALJOURNALS_DEFAULT + ".journal");
    JournalConfig jour;/*ww  w. j  a v a2s . c o m*/

    if ((defaultVirtualJournal != null) && (!"".equals(defaultVirtualJournal))) {
        jour = journals.get(defaultVirtualJournal);
        if (jour != null) {
            jour.setUrl(
                    configuration.getString(VirtualJournalContextFilter.CONF_VIRTUALJOURNALS_DEFAULT + ".url"));
            jour.setIssn(configuration
                    .getString(VirtualJournalContextFilter.CONF_VIRTUALJOURNALS_DEFAULT + ".eIssn"));
        }
    }

    for (final String journalName : virtualJournals) {
        jour = journals.get(journalName);
        if (jour != null) {
            jour.setUrl(configuration
                    .getString(VirtualJournalContextFilter.CONF_VIRTUALJOURNALS + "." + journalName + ".url"));
            jour.setIssn(configuration.getString(
                    VirtualJournalContextFilter.CONF_VIRTUALJOURNALS + "." + journalName + ".eIssn"));
        }
    }
}

From source file:org.ambraproject.search.service.SolrSearchService.java

public void setConfiguration(Configuration config) throws ApplicationException {
    StringBuilder hightlightFieldBuilder = new StringBuilder();
    queryTimeout = config.getInt("ambra.services.search.timeout", 60000); // default to 1 min

    List sizes = config.getList("ambra.services.search.pageSizes.size");

    if (sizes == null) {
        throw new ApplicationException("ambra.services.search.pageSizes not defined " + "in configuration.");
    }//www. ja  va  2s .  c om

    pageSizes = sizes;

    if (config.containsKey("ambra.services.search.sortOptions.option")) {
        validSorts = new HashMap();
        displaySorts = new ArrayList();

        HierarchicalConfiguration hc = (HierarchicalConfiguration) config;
        List<HierarchicalConfiguration> sorts = hc.configurationsAt("ambra.services.search.sortOptions.option");

        for (HierarchicalConfiguration s : sorts) {
            String key = s.getString("[@displayName]");
            String value = s.getString("");
            validSorts.put(key, value);
            displaySorts.add(key);
        }

        ((HierarchicalConfiguration) config).setExpressionEngine(null);
    } else {
        throw new ApplicationException(
                "ambra.services.search.sortOptions.option not defined " + "in configuration.");
    }

    List hFields = config.getList("ambra.services.search.highlightFields.field");

    if (hFields == null) {
        throw new ApplicationException(
                "ambra.services.search.highlightFields.field not defined " + "in configuration.");
    }

    for (Object field : hFields) {
        if (hightlightFieldBuilder.length() > 0) {
            hightlightFieldBuilder.append(",");
        }
        hightlightFieldBuilder.append(field.toString());
    }

    if (config.containsKey("ambra.services.search.keywordFields.field")) {
        validKeywords = new HashMap();
        HierarchicalConfiguration hc = (HierarchicalConfiguration) config;
        List<HierarchicalConfiguration> sorts = hc
                .configurationsAt("ambra.services.search.keywordFields.field");

        for (HierarchicalConfiguration s : sorts) {
            String key = s.getString("[@displayName]");
            String value = s.getString("");
            validKeywords.put(key, value);

            //These fields can be highlighted too!
            if (hightlightFieldBuilder.length() > 0) {
                hightlightFieldBuilder.append(",");
            }
            hightlightFieldBuilder.append(value);
        }
    } else {
        throw new ApplicationException(
                "ambra.services.search.keywordFields.field not defined " + "in configuration.");
    }

    this.highlightFields = hightlightFieldBuilder.toString();
}

From source file:org.ambraproject.service.search.SolrSearchService.java

public void setConfiguration(Configuration config) throws ApplicationException {
    queryTimeout = config.getInt("ambra.services.search.timeout", 60000); // default to 1 min

    List sizes = config.getList("ambra.services.search.pageSizes.size");

    if (sizes == null) {
        throw new ApplicationException("ambra.services.search.pageSizes not defined " + "in configuration.");
    }//w  ww. j a  v  a  2  s . c  om

    pageSizes = sizes;

    if (config.containsKey("ambra.services.search.sortOptions.option")) {
        validSorts = new HashMap();
        displaySorts = new ArrayList();

        HierarchicalConfiguration hc = (HierarchicalConfiguration) config;
        List<HierarchicalConfiguration> sorts = hc.configurationsAt("ambra.services.search.sortOptions.option");

        for (HierarchicalConfiguration s : sorts) {
            String key = s.getString("[@displayName]");
            String value = s.getString("");
            validSorts.put(key, value);
            displaySorts.add(key);
        }

        ((HierarchicalConfiguration) config).setExpressionEngine(null);
    } else {
        throw new ApplicationException(
                "ambra.services.search.sortOptions.option not defined " + "in configuration.");
    }

    if (config.containsKey("ambra.services.search.keywordFields.field")) {
        validKeywords = new HashMap();
        HierarchicalConfiguration hc = (HierarchicalConfiguration) config;
        List<HierarchicalConfiguration> sorts = hc
                .configurationsAt("ambra.services.search.keywordFields.field");

        for (HierarchicalConfiguration s : sorts) {
            String key = s.getString("[@displayName]");
            String value = s.getString("");
            validKeywords.put(key, value);

        }
    } else {
        throw new ApplicationException(
                "ambra.services.search.keywordFields.field not defined " + "in configuration.");
    }
}

From source file:org.ambraproject.struts2.AmbraFreemarkerConfig.java

private void loadConfig2(Configuration configuration) {
    int numJournals = configuration.getList("ambra.freemarker.journal.name").size();
    for (int k = 0; k < numJournals; k++) {
        final String journal = "ambra.freemarker.journal(" + k + ")";
        final String journalName = configuration.getString(journal + ".name");
        if (log.isDebugEnabled()) {
            log.debug("reading journal name: " + journalName);
        }/*from   ww  w.  j  av a 2 s  .  c  o  m*/
        JournalConfig jc = journals.get(journalName);
        if (jc == null) {
            if (log.isDebugEnabled()) {
                log.debug("journal Not found, creating: " + journalName);
            }
            jc = new JournalConfig();
            journals.put(journalName, jc);
        }

        if (jc.getDefaultTitle() == null) {
            final String title = configuration.getString(journal + ".default.title");
            if (title != null) {
                jc.setDefaultTitle(title);
            }
        }

        if (jc.getMetaDescription() == null) {
            final String metaDescription = configuration.getString(journal + ".metaDescription");
            if (metaDescription != null) {
                jc.setMetaDescription(metaDescription);
            }
        }

        if (jc.getMetaKeywords() == null) {
            final String metaKeywords = configuration.getString(journal + ".metaKeywords");
            if (metaKeywords != null) {
                jc.setMetaKeywords(metaKeywords);
            }
        }

        if (jc.getDisplayName() == null) {
            final String displayName = configuration.getString(journal + ".displayName");
            if (displayName != null) {
                jc.setDisplayName(displayName);
            }
        }

        if (jc.getArticleTitlePrefix() == null) {
            final String articleTitlePrefix = configuration.getString(journal + ".articleTitlePrefix");
            if (articleTitlePrefix != null) {
                jc.setArticleTitlePrefix(articleTitlePrefix);
            }
        }

        if (jc.getDefaultCss() == null) {
            final List fileList = configuration.getList(journal + ".default.css.file");
            String[] defaultCss;
            if (fileList.size() > 0) {
                defaultCss = new String[fileList.size()];
                Iterator iter = fileList.iterator();
                for (int i = 0; i < fileList.size(); i++) {
                    defaultCss[i] = dirPrefix + subdirPrefix + iter.next();
                }
                jc.setDefaultCss(defaultCss);
            }
        }

        if (jc.getDefaultJavaScript() == null) {
            final List fileList = configuration.getList(journal + ".default.javascript.file");
            String javascriptFile;
            String[] defaultJavaScript;
            if (fileList.size() > 0) {
                defaultJavaScript = new String[fileList.size()];
                Iterator iter = fileList.iterator();
                for (int i = 0; i < fileList.size(); i++) {
                    javascriptFile = (String) iter.next();
                    if (javascriptFile.endsWith(".ftl")) {
                        defaultJavaScript[i] = subdirPrefix + javascriptFile;
                    } else {
                        defaultJavaScript[i] = dirPrefix + subdirPrefix + javascriptFile;
                    }
                }
                jc.setDefaultJavaScript(defaultJavaScript);
            }
        }

        final int numPages = configuration.getList(journal + ".page.name").size();

        for (int i = 0; i < numPages; i++) {
            String page = journal + ".page(" + i + ")";
            String pageName = configuration.getString(page + ".name");
            if (log.isDebugEnabled())
                log.debug("Reading config for page name: " + pageName);

            if (!jc.getTitles().containsKey(pageName)) {
                final String title = configuration.getString(page + ".title");
                if (title != null) {
                    jc.getTitles().put(pageName, title);
                }
            }

            if (!jc.getCssFiles().containsKey(pageName)) {
                List<String> list = configuration.getList(page + ".css.file");
                String[] cssArray = new String[list.size()];
                int j = 0;
                for (String fileName : list) {
                    cssArray[j++] = dirPrefix + subdirPrefix + fileName;
                }
                if (cssArray.length > 0
                        || cssArray.length == 0 && configuration.getProperty(page + ".css") != null) {
                    jc.getCssFiles().put(pageName, cssArray);
                }
            }

            if (!jc.getJavaScriptFiles().containsKey(pageName)) {
                List<String> list = configuration.getList(page + ".javascript.file");
                String[] javaScriptArray = new String[list.size()];
                int j = 0;
                for (String fileName : list) {
                    if (fileName.endsWith(".ftl")) {
                        javaScriptArray[j++] = subdirPrefix + fileName;
                    } else {
                        javaScriptArray[j++] = dirPrefix + subdirPrefix + fileName;
                    }
                }

                if (javaScriptArray.length > 0 || javaScriptArray.length == 0
                        && configuration.getProperty(page + ".javascript") != null) {
                    jc.getJavaScriptFiles().put(pageName, javaScriptArray);
                }
            }
        }
    }

}

From source file:org.ambraproject.web.VirtualJournalContextFilter.java

/**
 * Process all &lt;${journal-name}&gt;&lt;rules&gt;&lt;${http-header-name}&gt;s looking for a match.
 * This method is only used to fetch rules from configuration and find matching journal based on request.
 *
 * @param configuration <code>Configuration</code> that contains the rules.
 * @param request <code>HttpServletRequest</code> to apply the rules against.
 * @return VirtualJournalContext.  May be <code>null</code>.
 *//*from  w w w  .j a v  a  2  s  .  co m*/
private String findMatchingVirtualJournal(Configuration configuration, HttpServletRequest request) {

    String virtualJournal = null;

    // process all <virtualjournal><journals> entries looking for a match
    final List<String> journals = configuration.getList(CONF_VIRTUALJOURNALS_JOURNALS);
    final Iterator<String> onJournal = journals.iterator();
    while (onJournal.hasNext() && virtualJournal == null) {
        final String journal = onJournal.next();

        if (log.isTraceEnabled()) {
            log.trace("processing virtual journal: " + journal);
        }

        // get the <rules> for this journal
        final String rulesPrefix = CONF_VIRTUALJOURNALS + "." + journal + ".rules";
        final Iterator rules = configuration.getKeys(rulesPrefix);
        while (rules.hasNext()) {
            final String rule = (String) rules.next();
            final String httpHeader = rule.substring(rulesPrefix.length() + 1);
            final String httpValue = configuration.getString(rule);

            if (log.isTraceEnabled()) {
                log.trace("processing rule: " + httpHeader + " = " + httpValue);
            }

            // test Request HTTP header value against match
            final String reqHttpValue = request.getHeader(httpHeader);
            if (log.isTraceEnabled()) {
                log.trace("testing Request: " + httpHeader + "=" + reqHttpValue);
            }
            if (reqHttpValue == null) {
                if (httpValue == null) {
                    virtualJournal = journal;
                    break;
                }
                continue;
            }

            if (reqHttpValue.matches(httpValue)) {
                virtualJournal = journal;
                break;
            }
        }
    }

    // return match or null
    return virtualJournal;
}

From source file:org.apache.james.postage.configuration.ConfigurationLoader.java

public Map<String, PostageConfiguration> create(Configuration configuration) {
    log.debug("reading configuration.");

    Map<String, PostageConfiguration> postageConfigurations = new LinkedHashMap<String, PostageConfiguration>();

    List<String> scenariosIds = configuration.getList("scenario[@id]");
    log.debug("scenarios contained in configuration: " + scenariosIds.size());

    Iterator<String> scenarioIter = scenariosIds.iterator();
    int scenarioCount = 0;
    while (scenarioIter.hasNext()) {
        String scenarioId = scenarioIter.next();

        if (postageConfigurations.containsKey(scenarioId)) {
            log.error("found in configuration more than one scenario which is named: " + scenarioId);
            continue;
        }/*from  w ww .  ja va  2s  . co  m*/

        PostageConfiguration postageConfiguration = new PostageConfiguration(scenarioId);

        String scenario = getIndexedPropertyName("scenario", scenarioCount);

        postageConfiguration.setDurationMinutes(
                configuration.getInt(getAttributedPropertyName(scenario, "runtimeMinutes")));

        addDescription(postageConfiguration, configuration.subset(scenario + ".description"));

        String scenarioInternalUsers = scenario + ".users.internal";
        UserList internals = new UserList(
                configuration.getInt(getAttributedPropertyName(scenarioInternalUsers, "count")),
                configuration.getString(getAttributedPropertyName(scenarioInternalUsers, "username-prefix")),
                configuration.getString(getAttributedPropertyName(scenarioInternalUsers, "domain")),
                configuration.getString(getAttributedPropertyName(scenarioInternalUsers, "password")));
        postageConfiguration.setInternalUsers(internals);
        postageConfiguration.setInternalReuseExisting(
                configuration.getBoolean(getAttributedPropertyName(scenarioInternalUsers, "reuseExisting")));

        String scenarioExternalUsers = scenario + ".users.external";
        UserList externals = new UserList(
                configuration.getInt(getAttributedPropertyName(scenarioExternalUsers, "count")),
                configuration.getString(getAttributedPropertyName(scenarioExternalUsers, "username-prefix")),
                configuration.getString(getAttributedPropertyName(scenarioExternalUsers, "domain")));
        postageConfiguration.setExternalUsers(externals);

        String scenarioTestserver = scenario + ".testserver";
        postageConfiguration.setTestserverHost(
                configuration.getString(getAttributedPropertyName(scenarioTestserver, "host")));
        postageConfiguration.setTestserverPortPOP3(
                configuration.getInt(getAttributedPropertyName(scenarioTestserver + ".pop3", "port")));
        postageConfiguration.setTestserverPOP3FetchesPerMinute(
                configuration.getInt(getAttributedPropertyName(scenarioTestserver + ".pop3", "count-per-min")));
        postageConfiguration.setTestserverPortSMTPInbound(
                configuration.getInt(getAttributedPropertyName(scenarioTestserver + ".smtp-inbound", "port")));
        postageConfiguration.setTestserverPortSMTPForwarding(configuration
                .getInt(getAttributedPropertyName(scenarioTestserver + ".smtp-forwarding", "port")));
        postageConfiguration.setTestserverSMTPForwardingWaitSeconds(configuration.getInt(
                getAttributedPropertyName(scenarioTestserver + ".smtp-forwarding", "latecomer-wait-seconds")));
        postageConfiguration.setTestserverRemoteManagerPort(
                configuration.getInt(getAttributedPropertyName(scenarioTestserver + ".remotemanager", "port")));
        postageConfiguration.setTestserverRemoteManagerUsername(configuration
                .getString(getAttributedPropertyName(scenarioTestserver + ".remotemanager", "name")));
        postageConfiguration.setTestserverRemoteManagerPassword(configuration
                .getString(getAttributedPropertyName(scenarioTestserver + ".remotemanager", "password")));
        postageConfiguration.setTestserverSpamAccountUsername(configuration
                .getString(getAttributedPropertyName(scenarioTestserver + ".spam-account", "name")));
        postageConfiguration.setTestserverSpamAccountPassword(configuration
                .getString(getAttributedPropertyName(scenarioTestserver + ".spam-account", "password")));
        postageConfiguration.setTestserverPortJMXRemoting(configuration
                .getInt(getAttributedPropertyName(scenarioTestserver + ".jvm-resources", "jmx-remoting-port")));

        addSendProfiles(postageConfiguration, configuration, scenario);

        postageConfigurations.put(postageConfiguration.getId(), postageConfiguration);

        scenarioCount++;
    }

    return postageConfigurations;
}