Example usage for com.liferay.portal.kernel.xml Element elements

List of usage examples for com.liferay.portal.kernel.xml Element elements

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.xml Element elements.

Prototype

public List<Element> elements(String name);

Source Link

Usage

From source file:com.liferay.web.extender.internal.WebXMLLoader.java

License:Open Source License

protected static void loadFilters(Bundle bundle, Element root, WebXML webXML) throws Exception {

    Map<String, FilterDefinition> filters = webXML.getFilters();

    for (Element filterMappingsEl : root.elements("filter-mapping")) {
        String filterName = filterMappingsEl.element("filter-name").getTextTrim();
        String urlPattern = filterMappingsEl.element("url-pattern").getTextTrim();

        Map<String, String> namespaces = new TreeMap<String, String>();

        namespaces.put("x", root.getNamespace().getText());

        XPath xPath = SAXReaderUtil.createXPath("//x:filter[x:filter-name/text() ='" + filterName + "']",
                namespaces);//from   w w w .  j  av a2 s  .co m

        Element filterElement = (Element) xPath.selectSingleNode(root);

        if (filterElement == null) {
            continue;
        }

        if (urlPattern.endsWith("/*") && (urlPattern.length() > 2)) {
            urlPattern = urlPattern.substring(0, urlPattern.length() - 2);
        }

        if (urlPattern.startsWith("*")) {
            urlPattern = "/".concat(urlPattern);
        }

        String filterClass = filterElement.element("filter-class").getTextTrim();

        FilterDefinition filterDefinition = null;

        try {
            Filter filterInstance = (Filter) bundle.loadClass(filterClass).newInstance();

            filterDefinition = new FilterDefinition();

            filterDefinition.setFilter(filterInstance);
            filterDefinition.setName(filterName);
        } catch (Exception e) {
            if (_log.isWarnEnabled()) {
                _log.warn(e.getMessage());
            }

            continue;
        }

        for (Element initParam : filterElement.elements("init-param")) {
            String initParamName = initParam.element("param-name").getTextTrim();
            String initParamValue = initParam.element("param-value").getTextTrim();

            filterDefinition.setInitParam(initParamName, initParamValue);
        }

        filters.put(urlPattern, filterDefinition);
    }
}

From source file:com.liferay.web.extender.internal.WebXMLLoader.java

License:Open Source License

protected static void loadMimeMappings(Bundle bundle, Element root, WebXML webXML) throws Exception {

    for (Element servletElement : root.elements("mime-mapping")) {
        String extension = servletElement.element("extension").getTextTrim();
        String mimeType = servletElement.element("mime-type").getTextTrim();

        webXML.setMimeType(_RESOURCE_PREFIX.concat(extension), mimeType);
    }/* ww  w . j a  v a2s .co m*/
}

From source file:com.liferay.web.extender.internal.WebXMLLoader.java

License:Open Source License

protected static void loadServlets(Bundle bundle, Element root, WebXML webXML) throws Exception {

    Map<String, ServletDefinition> servlets = webXML.getServlets();

    for (Element servletMappingsEl : root.elements("servlet-mapping")) {
        String servletName = servletMappingsEl.element("servlet-name").getTextTrim();
        String urlPattern = servletMappingsEl.element("url-pattern").getTextTrim();

        Map<String, String> namespaces = new TreeMap<String, String>();

        namespaces.put("x", root.getNamespace().getText());

        XPath xPath = SAXReaderUtil.createXPath("//x:servlet[x:servlet-name/text()='" + servletName + "']",
                namespaces);/*from ww w.  j a  v  a  2 s  . com*/

        Element servletElement = (Element) xPath.selectSingleNode(root);

        if (servletElement == null) {
            continue;
        }

        if (urlPattern.endsWith("/*") && (urlPattern.length() > 2)) {
            urlPattern = urlPattern.substring(0, urlPattern.length() - 2);
        }

        if (urlPattern.startsWith("*.")) {
            urlPattern = "/".concat(urlPattern);
        }

        String servletClass = servletElement.element("servlet-class").getTextTrim();

        ServletDefinition servletDefinition = null;

        try {
            Class<?> clazz = bundle.loadClass(servletClass);

            Servlet servletInstance = (Servlet) clazz.newInstance();

            servletDefinition = new ServletDefinition();

            servletDefinition.setServlet(servletInstance);
            servletDefinition.setName(servletName);
        } catch (Exception e) {
            if (_log.isWarnEnabled()) {
                _log.warn(e.getMessage());
            }

            continue;
        }

        for (Element initParam : servletElement.elements("init-param")) {
            String initParamName = initParam.element("param-name").getTextTrim();
            String initParamValue = initParam.element("param-value").getTextTrim();

            servletDefinition.setInitParam(initParamName, initParamValue);
        }

        servlets.put(urlPattern, servletDefinition);
    }
}

From source file:com.liferay.westminstercatechism.util.WCUtil.java

License:Open Source License

private WCUtil() {
    Document document = null;//w  w w.j  a v a  2 s  .  c om

    try {
        ClassLoader classLoader = getClass().getClassLoader();

        URL url = classLoader
                .getResource("com/liferay/westminstercatechism/dependencies/" + "westminster_catechmism.xml");

        document = SAXReaderUtil.read(url);
    } catch (DocumentException de) {
        _log.error(de, de);
    }

    _shorter = new ArrayList<WCEntry>();

    Element rootElement = document.getRootElement();

    Element shorterElement = rootElement.element("shorter");

    List<Element> entryElements = shorterElement.elements("entry");

    for (Element entryElement : entryElements) {
        List<String[]> proofs = new ArrayList<String[]>();

        Element proofsElement = entryElement.element("proofs");

        List<Element> scripturesElements = proofsElement.elements("scriptures");

        for (Element scripturesElement : scripturesElements) {
            proofs.add(StringUtil.split(scripturesElement.getText(), StringPool.SEMICOLON));
        }

        _shorter.add(new WCEntry(entryElement.elementText("question"), entryElement.elementText("answer"),
                proofs.toArray(new String[0][0])));
    }

    _shorter = Collections.unmodifiableList(_shorter);

    _larger = new ArrayList<WCEntry>();

    Element largerElement = rootElement.element("larger");

    entryElements = largerElement.elements("entry");

    for (Element entry : entryElements) {
        List<String[]> proofs = new ArrayList<String[]>();

        Element proofsElement = entry.element("proofs");

        List<Element> scripturesElements = proofsElement.elements("scriptures");

        for (Element scriptures : scripturesElements) {
            proofs.add(StringUtil.split(scriptures.getText(), StringPool.SEMICOLON));
        }

        _larger.add(new WCEntry(entry.elementText("question"), entry.elementText("answer"),
                proofs.toArray(new String[0][0])));
    }

    _larger = Collections.unmodifiableList(_larger);
}

From source file:com.liferay.wiki.importer.impl.mediawiki.MediaWikiImporter.java

License:Open Source License

protected void processRegularPages(long userId, WikiNode node, Element rootElement,
        List<String> specialNamespaces, Map<String, String> usersMap, InputStream imagesInputStream,
        Map<String, String[]> options) {

    boolean importLatestVersion = MapUtil.getBoolean(options, WikiImporterKeys.OPTIONS_IMPORT_LATEST_VERSION);
    boolean strictImportMode = MapUtil.getBoolean(options, WikiImporterKeys.OPTIONS_STRICT_IMPORT_MODE);

    ProgressTracker progressTracker = ProgressTrackerThreadLocal.getProgressTracker();

    int count = 0;

    int percentage = 10;

    int maxPercentage = 50;

    if (imagesInputStream == null) {
        maxPercentage = 99;/*from  w  w  w . j  a v  a  2 s . com*/
    }

    List<Element> pageElements = rootElement.elements("page");

    for (int i = 0; i < pageElements.size(); i++) {
        Element pageElement = pageElements.get(i);

        String title = pageElement.elementText("title");

        if (isSpecialMediaWikiPage(title, specialNamespaces)) {
            continue;
        }

        title = _wikiPageTitleValidator.normalize(title);

        percentage = Math.min(10 + (i * (maxPercentage - percentage)) / pageElements.size(), maxPercentage);

        progressTracker.setPercent(percentage);

        List<Element> revisionElements = pageElement.elements("revision");

        if (importLatestVersion) {
            Element lastRevisionElement = revisionElements.get(revisionElements.size() - 1);

            revisionElements = new ArrayList<>();

            revisionElements.add(lastRevisionElement);
        }

        for (Element revisionElement : revisionElements) {
            Element contributorElement = revisionElement.element("contributor");

            String author = contributorElement.elementText("username");

            String content = revisionElement.elementText("text");
            String summary = revisionElement.elementText("comment");

            try {
                importPage(userId, author, node, title, content, summary, usersMap, strictImportMode);
            } catch (Exception e) {
                if (_log.isWarnEnabled()) {
                    _log.warn("Page with title " + title + " could not be imported", e);
                }
            }
        }

        count++;
    }

    if (_log.isInfoEnabled()) {
        _log.info("Imported " + count + " pages into " + node.getName());
    }
}

From source file:com.liferay.wiki.importer.impl.mediawiki.MediaWikiImporter.java

License:Open Source License

protected void processSpecialPages(long userId, WikiNode node, Element rootElement,
        List<String> specialNamespaces) throws PortalException {

    ProgressTracker progressTracker = ProgressTrackerThreadLocal.getProgressTracker();

    List<Element> pageElements = rootElement.elements("page");

    for (int i = 0; i < pageElements.size(); i++) {
        Element pageElement = pageElements.get(i);

        String title = pageElement.elementText("title");

        if (!title.startsWith("Category:")) {
            if (isSpecialMediaWikiPage(title, specialNamespaces)) {
                rootElement.remove(pageElement);
            }/*  w  w  w .ja va2 s. c  o  m*/

            continue;
        }

        String categoryName = title.substring("Category:".length());

        categoryName = normalize(categoryName, 75);

        _assetTagLocalService.checkTags(userId, node.getGroupId(), new String[] { categoryName });

        if ((i % 5) == 0) {
            progressTracker.setPercent((i * 10) / pageElements.size());
        }
    }
}

From source file:com.liferay.wiki.importer.impl.mediawiki.MediaWikiImporter.java

License:Open Source License

protected List<String> readSpecialNamespaces(Element root) throws ImportFilesException {

    List<String> namespaces = new ArrayList<>();

    Element siteinfoElement = root.element("siteinfo");

    if (siteinfoElement == null) {
        throw new ImportFilesException("Invalid pages XML file");
    }/*w w w .  j a  v a 2s.  c o  m*/

    Element namespacesElement = siteinfoElement.element("namespaces");

    List<Element> namespaceElements = namespacesElement.elements("namespace");

    for (Element namespaceElement : namespaceElements) {
        Attribute attribute = namespaceElement.attribute("key");

        String value = attribute.getValue();

        if (!value.equals("0")) {
            namespaces.add(namespaceElement.getText());
        }
    }

    return namespaces;
}

From source file:com.liferay.wsrp.admin.lar.AdminPortletDataHandlerImpl.java

License:Open Source License

protected void importWSRPConsumerPortlets(PortletDataContext portletDataContext, WSRPConsumer wsrpConsumer,
        Element wsrpConsumerPortletsElement) throws Exception {

    if (wsrpConsumerPortletsElement == null) {
        return;//  w w  w. ja  v  a  2  s  .c  om
    }

    for (Element wsrpConsumerPortletElement : wsrpConsumerPortletsElement.elements("wsrp-consumer-portlet")) {

        String path = wsrpConsumerPortletElement.attributeValue("path");

        if (!portletDataContext.isPathNotProcessed(path)) {
            continue;
        }

        WSRPConsumerPortlet wsrpConsumerPortlet = (WSRPConsumerPortlet) portletDataContext
                .getZipEntryAsObject(path);

        importWSRPConsumerPortlet(portletDataContext, wsrpConsumer, wsrpConsumerPortletElement,
                wsrpConsumerPortlet);
    }
}

From source file:com.liferay.wsrp.admin.lar.AdminPortletDataHandlerImpl.java

License:Open Source License

protected void importWSRPConsumers(PortletDataContext portletDataContext, Element wsrpConsumersElement)
        throws Exception {

    if (wsrpConsumersElement == null) {
        return;/*from  ww w . j  a  v a  2s . c om*/
    }

    for (Element wsrpConsumerElement : wsrpConsumersElement.elements("wsrp-consumer")) {

        String path = wsrpConsumerElement.attributeValue("path");

        if (!portletDataContext.isPathNotProcessed(path)) {
            continue;
        }

        WSRPConsumer wsrpConsumer = (WSRPConsumer) portletDataContext.getZipEntryAsObject(path);

        WSRPConsumer importedWSRPConsumer = importWSRPConsumer(portletDataContext, wsrpConsumerElement,
                wsrpConsumer);

        if (portletDataContext.getBooleanParameter(_NAMESPACE, "wsrp-consumer-portlets")) {

            Element wsrpConsumerPortletsElement = wsrpConsumerElement.element("wsrp-consumer-portlets");

            importWSRPConsumerPortlets(portletDataContext, importedWSRPConsumer, wsrpConsumerPortletsElement);
        }
    }
}

From source file:com.liferay.wsrp.admin.lar.AdminPortletDataHandlerImpl.java

License:Open Source License

protected void importWSRPProducers(PortletDataContext portletDataContext, Element wsrpProducersElement)
        throws Exception {

    if (wsrpProducersElement == null) {
        return;//from w  ww  .ja  v  a 2  s  .co m
    }

    for (Element wsrpProducerElement : wsrpProducersElement.elements("wsrp-producer")) {

        String path = wsrpProducerElement.attributeValue("path");

        if (!portletDataContext.isPathNotProcessed(path)) {
            continue;
        }

        WSRPProducer wsrpProducer = (WSRPProducer) portletDataContext.getZipEntryAsObject(path);

        importWSRPProducer(portletDataContext, wsrpProducerElement, wsrpProducer);
    }
}