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

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

Introduction

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

Prototype

public String elementText(String name);

Source Link

Usage

From source file:com.liferay.portlet.wiki.importers.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;// www. j  av  a2 s  .c o  m
    }

    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 = normalizeTitle(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<Element>();

            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.portlet.wiki.importers.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);
            }//from   w w  w. j  ava  2  s  .c  o m

            continue;
        }

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

        categoryName = normalize(categoryName, 75);

        Element revisionElement = pageElement.element("revision");

        String description = revisionElement.elementText("text");

        description = normalizeDescription(description);

        try {
            AssetTag assetTag = null;

            try {
                assetTag = AssetTagLocalServiceUtil.getTag(node.getGroupId(), categoryName);
            } catch (NoSuchTagException nste) {
                ServiceContext serviceContext = new ServiceContext();

                serviceContext.setAddGroupPermissions(true);
                serviceContext.setAddGuestPermissions(true);
                serviceContext.setScopeGroupId(node.getGroupId());

                assetTag = AssetTagLocalServiceUtil.addTag(userId, categoryName, null, serviceContext);

                if (PropsValues.ASSET_TAG_PROPERTIES_ENABLED && Validator.isNotNull(description)) {

                    AssetTagPropertyLocalServiceUtil.addTagProperty(userId, assetTag.getTagId(), "description",
                            description);
                }
            }
        } catch (SystemException se) {
            _log.error(se, se);
        }

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

From source file:com.liferay.roles.admin.demo.data.creator.internal.BaseRoleDemoDataCreator.java

License:Open Source License

public void addPermissions(Role role, String permissionsXML, int scope, String primKey) throws PortalException {

    try {//from w ww.  j ava2 s .c o  m
        Document document = SAXReaderUtil.read(permissionsXML);

        Element rootElement = document.getRootElement();

        List<Element> resources = rootElement.elements("resource");

        for (Element resource : resources) {
            String resourceName = resource.elementText("resource-name");

            List<Element> actionIds = resource.elements("action-id");

            for (Element actionId : actionIds) {
                addResourcePermission(role, resourceName, scope, primKey, actionId.getText());
            }
        }
    } catch (Exception e) {
        throw new PortalException(e);
    }
}

From source file:com.liferay.sample.adt.hook.events.StartupAction.java

License:Open Source License

protected void addDDMTemplates(long companyId) throws Exception {
    ServiceContext serviceContext = new ServiceContext();

    Group group = GroupLocalServiceUtil.getCompanyGroup(companyId);

    serviceContext.setScopeGroupId(group.getGroupId());

    long defaultUserId = UserLocalServiceUtil.getDefaultUserId(companyId);

    serviceContext.setUserId(defaultUserId);

    List<Element> templateElements = getSampleTemplateElements();

    for (Element templateElement : templateElements) {
        String className = templateElement.elementText("class-name");
        String templateKey = templateElement.elementText("template-key");

        long classNameId = PortalUtil.getClassNameId(className);

        DDMTemplate ddmTemplate = DDMTemplateLocalServiceUtil.fetchTemplate(group.getGroupId(), classNameId,
                templateKey);//from w  ww  . j a  v a 2  s. c om

        if (ddmTemplate != null) {
            continue;
        }

        String name = templateElement.elementText("name");
        String description = templateElement.elementText("description");
        String language = templateElement.elementText("language");
        String scriptFileName = templateElement.elementText("script-file");

        boolean cacheable = GetterUtil.getBoolean(templateElement.elementText("cacheable"));

        addDDMTemplate(defaultUserId, group.getGroupId(), classNameId, templateKey, name, description, language,
                scriptFileName, cacheable, serviceContext);
    }
}

From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java

License:Open Source License

protected String formatFriendlyURLRoutesXML(String absolutePath, String content) throws Exception {

    if (isExcluded(_friendlyUrlRoutesSortExclusions, absolutePath)) {
        return content;
    }/*from   w  w w  .j a  v a2s  .c om*/

    Document document = saxReaderUtil.read(content);

    Element rootElement = document.getRootElement();

    List<ComparableRoute> comparableRoutes = new ArrayList<ComparableRoute>();

    for (Element routeElement : rootElement.elements("route")) {
        String pattern = routeElement.elementText("pattern");

        ComparableRoute comparableRoute = new ComparableRoute(pattern);

        for (Element generatedParameterElement : routeElement.elements("generated-parameter")) {

            String name = generatedParameterElement.attributeValue("name");
            String value = generatedParameterElement.getText();

            comparableRoute.addGeneratedParameter(name, value);
        }

        for (Element ignoredParameterElement : routeElement.elements("ignored-parameter")) {

            String name = ignoredParameterElement.attributeValue("name");

            comparableRoute.addIgnoredParameter(name);
        }

        for (Element implicitParameterElement : routeElement.elements("implicit-parameter")) {

            String name = implicitParameterElement.attributeValue("name");
            String value = implicitParameterElement.getText();

            comparableRoute.addImplicitParameter(name, value);
        }

        for (Element overriddenParameterElement : routeElement.elements("overridden-parameter")) {

            String name = overriddenParameterElement.attributeValue("name");
            String value = overriddenParameterElement.getText();

            comparableRoute.addOverriddenParameter(name, value);
        }

        comparableRoutes.add(comparableRoute);
    }

    Collections.sort(comparableRoutes);

    String mainReleaseVersion = getMainReleaseVersion();

    StringBundler sb = new StringBundler();

    sb.append("<?xml version=\"1.0\"?>\n");
    sb.append("<!DOCTYPE routes PUBLIC \"-//Liferay//DTD Friendly URL ");
    sb.append("Routes ");
    sb.append(mainReleaseVersion);
    sb.append("//EN\" \"http://www.liferay.com/dtd/");
    sb.append("liferay-friendly-url-routes_");
    sb.append(StringUtil.replace(mainReleaseVersion, StringPool.PERIOD, StringPool.UNDERLINE));
    sb.append(".dtd\">\n\n<routes>\n");

    for (ComparableRoute comparableRoute : comparableRoutes) {
        sb.append("\t<route>\n");
        sb.append("\t\t<pattern>");
        sb.append(comparableRoute.getPattern());
        sb.append("</pattern>\n");

        Map<String, String> generatedParameters = comparableRoute.getGeneratedParameters();

        for (Map.Entry<String, String> entry : generatedParameters.entrySet()) {

            sb.append("\t\t<generated-parameter name=\"");
            sb.append(entry.getKey());
            sb.append("\">");
            sb.append(entry.getValue());
            sb.append("</generated-parameter>\n");
        }

        Set<String> ignoredParameters = comparableRoute.getIgnoredParameters();

        for (String entry : ignoredParameters) {
            sb.append("\t\t<ignored-parameter name=\"");
            sb.append(entry);
            sb.append("\" />\n");
        }

        Map<String, String> implicitParameters = comparableRoute.getImplicitParameters();

        for (Map.Entry<String, String> entry : implicitParameters.entrySet()) {

            sb.append("\t\t<implicit-parameter name=\"");
            sb.append(entry.getKey());
            sb.append("\">");
            sb.append(entry.getValue());
            sb.append("</implicit-parameter>\n");
        }

        Map<String, String> overriddenParameters = comparableRoute.getOverriddenParameters();

        for (Map.Entry<String, String> entry : overriddenParameters.entrySet()) {

            sb.append("\t\t<overridden-parameter name=\"");
            sb.append(entry.getKey());
            sb.append("\">");
            sb.append(entry.getValue());
            sb.append("</overridden-parameter>\n");
        }

        sb.append("\t</route>\n");
    }

    sb.append("</routes>");

    return sb.toString();
}

From source file:com.liferay.web.extender.internal.webbundle.WebBundleProcessor.java

License:Open Source License

protected void processPortletXML(String webContextpath) throws IOException {
    File portletXMLFile = new File(_deployedAppFolder, "WEB-INF/" + Portal.PORTLET_XML_FILE_NAME_STANDARD);

    if (!portletXMLFile.exists()) {
        return;//from   w  w  w  . j av  a  2 s  .  c  o  m
    }

    String content = FileUtil.read(portletXMLFile);

    Document document = null;

    try {
        document = SAXReaderUtil.read(content);
    } catch (DocumentException de) {
        throw new IOException(de);
    }

    Element rootElement = document.getRootElement();

    List<Element> portletElements = rootElement.elements("portlet");

    for (Element portletElement : portletElements) {
        String portletName = portletElement.elementText("portlet-name");

        String invokerPortletName = "osgi".concat(webContextpath).concat(StringPool.SLASH).concat(portletName);

        XPath xPath = SAXReaderUtil.createXPath(_INVOKER_PORTLET_NAME_XPATH);

        Element invokerPortletNameEl = (Element) xPath.selectSingleNode(portletElement);

        if (invokerPortletNameEl == null) {
            Element portletClassElement = portletElement.element("portlet-class");

            List<Node> children = portletElement.content();

            int pos = children.indexOf(portletClassElement);

            QName qName = rootElement.getQName();

            Element initParamElement = SAXReaderUtil
                    .createElement(SAXReaderUtil.createQName("init-param", qName.getNamespace()));

            initParamElement.addElement("name").setText("com.liferay.portal.invokerPortletName");
            initParamElement.addElement("value").setText(invokerPortletName);

            children.add(pos + 1, initParamElement);
        } else {
            Element valueElement = invokerPortletNameEl.element("value");

            invokerPortletName = valueElement.getTextTrim();

            if (!invokerPortletName.startsWith(StringPool.SLASH)) {
                invokerPortletName = StringPool.SLASH.concat(invokerPortletName);
            }

            invokerPortletName = "osgi".concat(webContextpath).concat(invokerPortletName);

            valueElement.setText(invokerPortletName);
        }
    }

    content = DDMXMLUtil.formatXML(document);

    FileUtil.write(portletXMLFile, content);
}

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

License:Open Source License

private WCUtil() {
    Document document = null;//from w w  w  . ja  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  av  a2s  .  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);
            }//  www. j av  a  2  s  . c  om

            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.slemarchand.peoplepublisher.util.PeoplePublisherImpl.java

License:Open Source License

@Override
public List<User> getUsers(PortletRequest portletRequest, PortletPreferences portletPreferences,
        String[] userXmls, boolean deleteMissingUsers) throws Exception {

    long companyId = PortalUtil.getCompanyId(portletRequest);

    List<User> users = new ArrayList<User>();

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

    for (String userXml : userXmls) {
        Document document = SAXReaderUtil.read(userXml);

        Element rootElement = document.getRootElement();

        String screenName = rootElement.elementText("screen-name");

        User user = null;// w w w.ja va  2 s .  c o m

        user = UserLocalServiceUtil.getUserByScreenName(companyId, screenName);

        if (user == null) {
            if (deleteMissingUsers) {
                missingUserScreenNames.add(screenName);
            }

            continue;
        }

        users.add(user);
    }

    if (deleteMissingUsers) {
        removeAndStoreSelection(missingUserScreenNames, portletPreferences);

        if (!missingUserScreenNames.isEmpty()) {
            SessionMessages.add(portletRequest, "deletedMissingUsers", missingUserScreenNames);
        }
    }

    return users;
}