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

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

Introduction

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

Prototype

public List configurationsAt(String key) 

Source Link

Document

Returns a list of sub configurations for all configuration nodes selected by the given key.

Usage

From source file:ching.icecreaming.action.ViewAction.java

@Action(value = "view", results = { @Result(name = "login", location = "edit.jsp"),
        @Result(name = "input", location = "view.jsp"), @Result(name = "success", location = "view.jsp"),
        @Result(name = "error", location = "error.jsp") })
public String execute() throws Exception {
    Enumeration enumerator = null;
    String[] array1 = null, array2 = null;
    int int1 = -1, int2 = -1, int3 = -1;
    InputStream inputStream1 = null;
    OutputStream outputStream1 = null;
    java.io.File file1 = null, file2 = null, dir1 = null;
    List<File> files = null;
    HttpHost httpHost1 = null;// w w  w .  ja  v a 2s  .  co m
    HttpGet httpGet1 = null, httpGet2 = null;
    HttpPut httpPut1 = null;
    URI uri1 = null;
    URL url1 = null;
    DefaultHttpClient httpClient1 = null;
    URIBuilder uriBuilder1 = null, uriBuilder2 = null;
    HttpResponse httpResponse1 = null, httpResponse2 = null;
    HttpEntity httpEntity1 = null, httpEntity2 = null;
    List<NameValuePair> nameValuePair1 = null;
    String string1 = null, string2 = null, string3 = null, string4 = null, return1 = LOGIN;
    XMLConfiguration xmlConfiguration = null;
    List<HierarchicalConfiguration> list1 = null, list2 = null;
    HierarchicalConfiguration hierarchicalConfiguration2 = null;
    DataModel1 dataModel1 = null;
    DataModel2 dataModel2 = null;
    List<DataModel1> listObject1 = null, listObject3 = null;
    org.joda.time.DateTime dateTime1 = null, dateTime2 = null;
    org.joda.time.Period period1 = null;
    PeriodFormatter periodFormatter1 = new PeriodFormatterBuilder().appendYears()
            .appendSuffix(String.format(" %s", getText("year")), String.format(" %s", getText("years")))
            .appendSeparator(" ").appendMonths()
            .appendSuffix(String.format(" %s", getText("month")), String.format(" %s", getText("months")))
            .appendSeparator(" ").appendWeeks()
            .appendSuffix(String.format(" %s", getText("week")), String.format(" %s", getText("weeks")))
            .appendSeparator(" ").appendDays()
            .appendSuffix(String.format(" %s", getText("day")), String.format(" %s", getText("days")))
            .appendSeparator(" ").appendHours()
            .appendSuffix(String.format(" %s", getText("hour")), String.format(" %s", getText("hours")))
            .appendSeparator(" ").appendMinutes()
            .appendSuffix(String.format(" %s", getText("minute")), String.format(" %s", getText("minutes")))
            .appendSeparator(" ").appendSeconds().minimumPrintedDigits(2)
            .appendSuffix(String.format(" %s", getText("second")), String.format(" %s", getText("seconds")))
            .printZeroNever().toFormatter();
    if (StringUtils.isBlank(urlString) || StringUtils.isBlank(wsType)) {
        urlString = portletPreferences.getValue("urlString", "/");
        wsType = portletPreferences.getValue("wsType", "folder");
    }
    Configuration propertiesConfiguration1 = new PropertiesConfiguration("system.properties");
    timeZone1 = portletPreferences.getValue("timeZone", TimeZone.getDefault().getID());
    enumerator = portletPreferences.getNames();
    if (enumerator.hasMoreElements()) {
        array1 = portletPreferences.getValues("server", null);
        if (array1 != null) {
            if (ArrayUtils.isNotEmpty(array1)) {
                for (int1 = 0; int1 < array1.length; int1++) {
                    switch (int1) {
                    case 0:
                        sid = array1[int1];
                        break;
                    case 1:
                        uid = array1[int1];
                        break;
                    case 2:
                        pid = array1[int1];
                        break;
                    case 3:
                        alias1 = array1[int1];
                        break;
                    default:
                        break;
                    }
                }
                sid = new String(Base64.decodeBase64(sid.getBytes()));
                uid = new String(Base64.decodeBase64(uid.getBytes()));
                pid = new String(Base64.decodeBase64(pid.getBytes()));
            }
            return1 = INPUT;
        } else {
            return1 = LOGIN;
        }
    } else {
        return1 = LOGIN;
    }

    if (StringUtils.equals(urlString, "/")) {

        if (listObject1 != null) {
            listObject1.clear();
        }
        if (session.containsKey("breadcrumbs")) {
            session.remove("breadcrumbs");
        }
    } else {
        array2 = StringUtils.split(urlString, "/");
        listObject1 = (session.containsKey("breadcrumbs")) ? (List<DataModel1>) session.get("breadcrumbs")
                : new ArrayList<DataModel1>();
        int2 = array2.length - listObject1.size();
        if (int2 > 0) {
            listObject1.add(new DataModel1(urlString, label1));
        } else {
            int2 += listObject1.size();
            for (int1 = listObject1.size() - 1; int1 >= int2; int1--) {
                listObject1.remove(int1);
            }
        }
        session.put("breadcrumbs", listObject1);
    }
    switch (wsType) {
    case "folder":
        break;
    case "reportUnit":
        try {
            dateTime1 = new org.joda.time.DateTime();
            return1 = INPUT;
            httpClient1 = new DefaultHttpClient();
            if (StringUtils.equals(button1, getText("Print"))) {
                nameValuePair1 = new ArrayList<NameValuePair>();
                if (listObject2 != null) {
                    if (listObject2.size() > 0) {
                        for (DataModel2 dataObject2 : listObject2) {
                            listObject3 = dataObject2.getOptions();
                            if (listObject3 == null) {
                                string2 = dataObject2.getValue1();
                                if (StringUtils.isNotBlank(string2))
                                    nameValuePair1.add(new BasicNameValuePair(dataObject2.getId(), string2));
                            } else {
                                for (int1 = listObject3.size() - 1; int1 >= 0; int1--) {
                                    dataModel1 = (DataModel1) listObject3.get(int1);
                                    string2 = dataModel1.getString2();
                                    if (StringUtils.isNotBlank(string2))
                                        nameValuePair1
                                                .add(new BasicNameValuePair(dataObject2.getId(), string2));
                                }
                            }
                        }
                    }
                }
                url1 = new URL(sid);
                uriBuilder1 = new URIBuilder(sid);
                uriBuilder1.setUserInfo(uid, pid);
                if (StringUtils.isBlank(format1))
                    format1 = "pdf";
                uriBuilder1.setPath(url1.getPath() + "/rest_v2/reports" + urlString + "." + format1);
                if (StringUtils.isNotBlank(locale2)) {
                    nameValuePair1.add(new BasicNameValuePair("userLocale", locale2));
                }
                if (StringUtils.isNotBlank(page1)) {
                    if (NumberUtils.isNumber(page1)) {
                        nameValuePair1.add(new BasicNameValuePair("page", page1));
                    }
                }
                if (nameValuePair1.size() > 0) {
                    uriBuilder1.setQuery(URLEncodedUtils.format(nameValuePair1, "UTF-8"));
                }
                uri1 = uriBuilder1.build();
                httpGet1 = new HttpGet(uri1);
                httpResponse1 = httpClient1.execute(httpGet1);
                int1 = httpResponse1.getStatusLine().getStatusCode();
                if (int1 == HttpStatus.SC_OK) {
                    string3 = System.getProperty("java.io.tmpdir") + File.separator
                            + httpServletRequest.getSession().getId();
                    dir1 = new File(string3);
                    if (!dir1.exists()) {
                        dir1.mkdir();
                    }
                    httpEntity1 = httpResponse1.getEntity();
                    file1 = new File(string3, StringUtils.substringAfterLast(urlString, "/") + "." + format1);
                    if (StringUtils.equalsIgnoreCase(format1, "html")) {
                        result1 = EntityUtils.toString(httpEntity1);
                        FileUtils.writeStringToFile(file1, result1);
                        array1 = StringUtils.substringsBetween(result1, "<img src=\"", "\"");
                        if (ArrayUtils.isNotEmpty(array1)) {
                            dir1 = new File(
                                    string3 + File.separator + FilenameUtils.getBaseName(file1.getName()));
                            if (dir1.exists()) {
                                FileUtils.deleteDirectory(dir1);
                            }
                            file2 = new File(FilenameUtils.getFullPath(file1.getAbsolutePath())
                                    + FilenameUtils.getBaseName(file1.getName()) + ".zip");
                            if (file2.exists()) {
                                if (FileUtils.deleteQuietly(file2)) {
                                }
                            }
                            for (int2 = 0; int2 < array1.length; int2++) {
                                try {
                                    string2 = url1.getPath() + "/rest_v2/reports" + urlString + "/"
                                            + StringUtils.substringAfter(array1[int2], "/");
                                    uriBuilder1.setPath(string2);
                                    uri1 = uriBuilder1.build();
                                    httpGet1 = new HttpGet(uri1);
                                    httpResponse1 = httpClient1.execute(httpGet1);
                                    int1 = httpResponse1.getStatusLine().getStatusCode();
                                } finally {
                                    if (int1 == HttpStatus.SC_OK) {
                                        try {
                                            string2 = StringUtils.substringBeforeLast(array1[int2], "/");
                                            dir1 = new File(string3 + File.separator + string2);
                                            if (!dir1.exists()) {
                                                dir1.mkdirs();
                                            }
                                            httpEntity1 = httpResponse1.getEntity();
                                            inputStream1 = httpEntity1.getContent();
                                        } finally {
                                            string1 = StringUtils.substringAfterLast(array1[int2], "/");
                                            file2 = new File(string3 + File.separator + string2, string1);
                                            outputStream1 = new FileOutputStream(file2);
                                            IOUtils.copy(inputStream1, outputStream1);
                                        }
                                    }
                                }
                            }
                            outputStream1 = new FileOutputStream(
                                    FilenameUtils.getFullPath(file1.getAbsolutePath())
                                            + FilenameUtils.getBaseName(file1.getName()) + ".zip");
                            ArchiveOutputStream archiveOutputStream1 = new ArchiveStreamFactory()
                                    .createArchiveOutputStream(ArchiveStreamFactory.ZIP, outputStream1);
                            archiveOutputStream1.putArchiveEntry(new ZipArchiveEntry(file1, file1.getName()));
                            IOUtils.copy(new FileInputStream(file1), archiveOutputStream1);
                            archiveOutputStream1.closeArchiveEntry();
                            dir1 = new File(FilenameUtils.getFullPath(file1.getAbsolutePath())
                                    + FilenameUtils.getBaseName(file1.getName()));
                            files = (List<File>) FileUtils.listFiles(dir1, TrueFileFilter.INSTANCE,
                                    TrueFileFilter.INSTANCE);
                            for (File file3 : files) {
                                archiveOutputStream1.putArchiveEntry(new ZipArchiveEntry(file3, StringUtils
                                        .substringAfter(file3.getCanonicalPath(), string3 + File.separator)));
                                IOUtils.copy(new FileInputStream(file3), archiveOutputStream1);
                                archiveOutputStream1.closeArchiveEntry();
                            }
                            archiveOutputStream1.close();
                        }
                        bugfixGateIn = propertiesConfiguration1.getBoolean("bugfixGateIn", false);
                        string4 = bugfixGateIn
                                ? String.format("<img src=\"%s/namespace1/file-link?sessionId=%s&fileName=",
                                        portletRequest.getContextPath(),
                                        httpServletRequest.getSession().getId())
                                : String.format("<img src=\"%s/namespace1/file-link?fileName=",
                                        portletRequest.getContextPath());
                        result1 = StringUtils.replace(result1, "<img src=\"", string4);
                    } else {
                        inputStream1 = httpEntity1.getContent();
                        outputStream1 = new FileOutputStream(file1);
                        IOUtils.copy(inputStream1, outputStream1);
                        result1 = file1.getAbsolutePath();
                    }
                    return1 = SUCCESS;
                } else {
                    addActionError(String.format("%s %d: %s", getText("Error"), int1,
                            getText(Integer.toString(int1))));
                }
                dateTime2 = new org.joda.time.DateTime();
                period1 = new Period(dateTime1, dateTime2.plusSeconds(1));
                message1 = getText("Execution.time") + ": " + periodFormatter1.print(period1);
            } else {
                url1 = new URL(sid);
                uriBuilder1 = new URIBuilder(sid);
                uriBuilder1.setUserInfo(uid, pid);
                uriBuilder1.setPath(url1.getPath() + "/rest_v2/reports" + urlString + "/inputControls");
                uri1 = uriBuilder1.build();
                httpGet1 = new HttpGet(uri1);
                httpResponse1 = httpClient1.execute(httpGet1);
                int1 = httpResponse1.getStatusLine().getStatusCode();
                switch (int1) {
                case HttpStatus.SC_NO_CONTENT:
                    break;
                case HttpStatus.SC_OK:
                    httpEntity1 = httpResponse1.getEntity();
                    if (httpEntity1 != null) {
                        inputStream1 = httpEntity1.getContent();
                        if (inputStream1 != null) {
                            xmlConfiguration = new XMLConfiguration();
                            xmlConfiguration.load(inputStream1);
                            list1 = xmlConfiguration.configurationsAt("inputControl");
                            if (list1.size() > 0) {
                                listObject2 = new ArrayList<DataModel2>();
                                for (HierarchicalConfiguration hierarchicalConfiguration1 : list1) {
                                    string2 = hierarchicalConfiguration1.getString("type");
                                    dataModel2 = new DataModel2();
                                    dataModel2.setId(hierarchicalConfiguration1.getString("id"));
                                    dataModel2.setLabel1(hierarchicalConfiguration1.getString("label"));
                                    dataModel2.setType1(string2);
                                    dataModel2.setMandatory(hierarchicalConfiguration1.getBoolean("mandatory"));
                                    dataModel2.setReadOnly(hierarchicalConfiguration1.getBoolean("readOnly"));
                                    dataModel2.setVisible(hierarchicalConfiguration1.getBoolean("visible"));
                                    switch (string2) {
                                    case "bool":
                                    case "singleValueText":
                                    case "singleValueNumber":
                                    case "singleValueDate":
                                    case "singleValueDatetime":
                                        hierarchicalConfiguration2 = hierarchicalConfiguration1
                                                .configurationAt("state");
                                        dataModel2.setValue1(hierarchicalConfiguration2.getString("value"));
                                        break;
                                    case "singleSelect":
                                    case "singleSelectRadio":
                                    case "multiSelect":
                                    case "multiSelectCheckbox":
                                        hierarchicalConfiguration2 = hierarchicalConfiguration1
                                                .configurationAt("state");
                                        list2 = hierarchicalConfiguration2.configurationsAt("options.option");
                                        if (list2.size() > 0) {
                                            listObject3 = new ArrayList<DataModel1>();
                                            for (HierarchicalConfiguration hierarchicalConfiguration3 : list2) {
                                                dataModel1 = new DataModel1(
                                                        hierarchicalConfiguration3.getString("label"),
                                                        hierarchicalConfiguration3.getString("value"));
                                                if (hierarchicalConfiguration3.getBoolean("selected")) {
                                                    dataModel2.setValue1(
                                                            hierarchicalConfiguration3.getString("value"));
                                                }
                                                listObject3.add(dataModel1);
                                            }
                                            dataModel2.setOptions(listObject3);
                                        }
                                        break;
                                    default:
                                        break;
                                    }
                                    listObject2.add(dataModel2);
                                }
                            }
                        }
                    }
                    break;
                default:
                    addActionError(String.format("%s %d: %s", getText("Error"), int1,
                            getText(Integer.toString(int1))));
                    break;
                }
                if (httpEntity1 != null) {
                    EntityUtils.consume(httpEntity1);
                }
                uriBuilder1.setPath(url1.getPath() + "/rest/resource" + urlString);
                uri1 = uriBuilder1.build();
                httpGet1 = new HttpGet(uri1);
                httpResponse1 = httpClient1.execute(httpGet1);
                int2 = httpResponse1.getStatusLine().getStatusCode();
                if (int2 == HttpStatus.SC_OK) {
                    httpEntity1 = httpResponse1.getEntity();
                    inputStream1 = httpEntity1.getContent();
                    xmlConfiguration = new XMLConfiguration();
                    xmlConfiguration.load(inputStream1);
                    list1 = xmlConfiguration.configurationsAt("resourceDescriptor");
                    for (HierarchicalConfiguration hierarchicalConfiguration4 : list1) {
                        if (StringUtils.equalsIgnoreCase(
                                StringUtils.trim(hierarchicalConfiguration4.getString("[@wsType]")), "prop")) {
                            if (map1 == null)
                                map1 = new HashMap<String, String>();
                            string2 = StringUtils.substringBetween(
                                    StringUtils.substringAfter(
                                            hierarchicalConfiguration4.getString("[@uriString]"), "_files/"),
                                    "_", ".properties");
                            map1.put(string2,
                                    StringUtils.isBlank(string2) ? getText("Default") : getText(string2));
                        }
                    }
                }
                if (httpEntity1 != null) {
                    EntityUtils.consume(httpEntity1);
                }
            }
        } catch (IOException | ConfigurationException | URISyntaxException exception1) {
            exception1.printStackTrace();
            addActionError(exception1.getLocalizedMessage());
            httpGet1.abort();
            return ERROR;
        } finally {
            httpClient1.getConnectionManager().shutdown();
            IOUtils.closeQuietly(inputStream1);
        }
        break;
    default:
        addActionError(getText("This.file.type.is.not.supported"));
        break;
    }
    if (return1 != LOGIN) {
        sid = new String(Base64.encodeBase64(sid.getBytes()));
        uid = new String(Base64.encodeBase64(uid.getBytes()));
        pid = new String(Base64.encodeBase64(pid.getBytes()));
    }
    return return1;
}

From source file:org.ambraproject.article.service.BrowseServiceImpl.java

/**
 * Set the configuration class//w w w . j  a v a 2 s.  c om
 *
 * @param config the configuration class to use
 * @throws ApplicationException if required configuration settings are missing
 */
@Required
public void setConfiguration(Configuration config) throws ApplicationException {
    if (config.containsKey("ambra.services.browse.sortOptions.option")) {
        validSorts = new HashMap();
        displaySorts = new ArrayList();

        HierarchicalConfiguration hc = (HierarchicalConfiguration) config;
        List<HierarchicalConfiguration> sorts = hc.configurationsAt("ambra.services.browse.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.browse.sortOptions.option not defined " + "in configuration.");
    }

    this.cacheTimeToLive = config.getInt("ambra.services.browse.time", 15) * 60;
    this.useCache = config.getBoolean("ambra.services.browse.cache", true);
}

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.");
    }//from   www.j a  v a  2  s  . c  o m

    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.feed.FeedServiceImpl.java

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

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

        HierarchicalConfiguration hc = (HierarchicalConfiguration) configuration;
        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);/*  w ww. ja va  2s  .  c  o  m*/
            displaySorts.add(key);
        }

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

    if (configuration.containsKey("ambra.services.search.keywordFields.field")) {
        validKeywords = new HashMap();
        HierarchicalConfiguration hc = (HierarchicalConfiguration) configuration;
        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.");
    }
}

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  w w  .j a  v a2s .  c  o m

    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.service.user.UserServiceImpl.java

@Override
@SuppressWarnings("unchecked")
public List<UserAlert> getAvailableAlerts() {
    List<UserAlert> alerts = new ArrayList<UserAlert>();

    final SortedMap<Integer, Pair> categoryNames = new ConcurrentSkipListMap<Integer, Pair>();

    HierarchicalConfiguration hc = (HierarchicalConfiguration) configuration;
    List<HierarchicalConfiguration> categories = hc.configurationsAt(ALERTS_CATEGORIES_CATEGORY);

    for (HierarchicalConfiguration c : categories) {
        String key = c.getString("[@key]");
        int order = c.getInt("[@displayOrder]", categoryNames.size());
        String value = c.getString("");

        categoryNames.put(order, new Pair<String, String>(key, value));
    }/*from   w w  w. j a  v a  2 s. co m*/

    final String[] weeklyCategories = hc.getStringArray(ALERTS_WEEKLY);
    final String[] monthlyCategories = hc.getStringArray(ALERTS_MONTHLY);
    final String[] subjectFilters = hc.getStringArray(SUBJECT_FILTER);

    final Set<Map.Entry<Integer, Pair>> categoryNamesSet = categoryNames.entrySet();

    for (final Map.Entry<Integer, Pair> category : categoryNamesSet) {
        final String key = (String) category.getValue().getFirst();
        boolean weeklyCategoryKey = false;
        boolean monthlyCategoryKey = false;
        boolean subjectFilter = false;

        if (ArrayUtils.contains(weeklyCategories, key)) {
            weeklyCategoryKey = true;
        }
        if (ArrayUtils.contains(monthlyCategories, key)) {
            monthlyCategoryKey = true;
        }
        if (ArrayUtils.contains(subjectFilters, key)) {
            subjectFilter = true;
        }

        alerts.add(
                new UserAlert((String) category.getValue().getFirst(), (String) category.getValue().getSecond(),
                        weeklyCategoryKey, monthlyCategoryKey, subjectFilter));
    }
    return alerts;
}

From source file:org.ambraproject.user.service.UserServiceImpl.java

@Override
@SuppressWarnings("unchecked")
public List<UserAlert> getAvailableAlerts() {
    List<UserAlert> alerts = new ArrayList<UserAlert>();

    final Map<String, String> categoryNames = new HashMap<String, String>();

    HierarchicalConfiguration hc = (HierarchicalConfiguration) configuration;
    List<HierarchicalConfiguration> categories = hc.configurationsAt(ALERTS_CATEGORIES_CATEGORY);
    for (HierarchicalConfiguration c : categories) {
        String key = c.getString("[@key]");
        String value = c.getString("");
        categoryNames.put(key, value);//from  w  w w .j  a  va2  s .c om
    }

    final String[] weeklyCategories = hc.getStringArray(ALERTS_WEEKLY);
    final String[] monthlyCategories = hc.getStringArray(ALERTS_MONTHLY);

    final Set<Map.Entry<String, String>> categoryNamesSet = categoryNames.entrySet();

    for (final Map.Entry<String, String> category : categoryNamesSet) {
        final String key = category.getKey();
        boolean weeklyCategoryKey = false;
        boolean monthlyCategoryKey = false;
        if (ArrayUtils.contains(weeklyCategories, key)) {
            weeklyCategoryKey = true;
        }
        if (ArrayUtils.contains(monthlyCategories, key)) {
            monthlyCategoryKey = true;
        }
        alerts.add(new UserAlert(key, category.getValue(), weeklyCategoryKey, monthlyCategoryKey));
    }
    return alerts;
}

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

/**
 * Method configure parses and validates the Configuration data and creates
 * a new <code>ParsedConfiguration</code>, an <code>Account</code> for each
 * configured static account and a/*from   www .j  a v  a2s .  c om*/
 * <code>ParsedDynamicAccountParameters</code> for each dynamic account.
 *
 * @see org.apache.james.lifecycle.api.Configurable#configure(HierarchicalConfiguration)
 */
public void configure(HierarchicalConfiguration configuration) throws ConfigurationException {
    // Set any Session parameters passed in the Configuration
    setSessionParameters(configuration);

    // Create the ParsedConfiguration used in the delegation chain
    ParsedConfiguration parsedConfiguration = new ParsedConfiguration(configuration, logger, getLocalUsers(),
            getDNSService(), getDomainList(), getMailQueue());

    setParsedConfiguration(parsedConfiguration);

    // Setup the Accounts
    List<HierarchicalConfiguration> allAccounts = configuration.configurationsAt("accounts");
    if (allAccounts.size() < 1)
        throw new ConfigurationException("Missing <accounts> section.");
    if (allAccounts.size() > 1)
        throw new ConfigurationException("Too many <accounts> sections, there must be exactly one");
    HierarchicalConfiguration accounts = allAccounts.get(0);

    if (!accounts.getKeys().hasNext())
        throw new ConfigurationException("Missing <account> section.");

    int i = 0;
    // Create an Account for every configured account
    for (ConfigurationNode accountsChild : accounts.getRoot().getChildren()) {

        String accountsChildName = accountsChild.getName();

        List<HierarchicalConfiguration> accountsChildConfig = accounts.configurationsAt(accountsChildName);
        HierarchicalConfiguration conf = accountsChildConfig.get(i);

        if ("alllocal".equals(accountsChildName)) {
            // <allLocal> is dynamic, save the parameters for accounts to
            // be created when the task is triggered
            getParsedDynamicAccountParameters().add(new ParsedDynamicAccountParameters(i, conf));
            continue;
        }

        if ("account".equals(accountsChildName)) {
            // Create an Account for the named user and
            // add it to the list of static accounts
            getStaticAccounts().add(new Account(i, parsedConfiguration, conf.getString("[@user]"),
                    conf.getString("[@password]"), conf.getString("[@recipient]"),
                    conf.getBoolean("[@ignorercpt-header]"), conf.getString("[@customrcpt-header]", ""),
                    getSession()));
            continue;
        }

        throw new ConfigurationException("Illegal token: <" + accountsChildName + "> in <accounts>");
    }
    i++;
}

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

/**
 * Propagate any Session parameters in the configuration to the Session.
 *
 * @param configuration The configuration containing the parameters
 * @throws ConfigurationException//from   w w  w.  j  av  a 2  s .co m
 */
protected void setSessionParameters(HierarchicalConfiguration configuration) {

    if (configuration.getKeys("javaMailProperties.property").hasNext()) {
        Properties properties = getSession().getProperties();
        List<HierarchicalConfiguration> allProperties = configuration
                .configurationsAt("javaMailProperties.property");
        for (HierarchicalConfiguration propConf : allProperties) {
            properties.setProperty(propConf.getString("[@name]"), propConf.getString("[@value]"));
            if (logger.isDebugEnabled()) {
                StringBuilder messageBuffer = new StringBuilder("Set property name: ");
                messageBuffer.append(propConf.getString("[@name]"));
                messageBuffer.append(" to: ");
                messageBuffer.append(propConf.getString("[@value]"));
                logger.debug(messageBuffer.toString());
            }
        }
    }
}

From source file:org.apache.james.http.jetty.JettyHttpServerFactory.java

public List<JettyHttpServer> createServers(HierarchicalConfiguration config) throws Exception {
    List<HierarchicalConfiguration> configs = config.configurationsAt("httpserver");
    return configs.stream().map(this::buildConfiguration).map(JettyHttpServer::create)
            .collect(Collectors.toList());
}