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

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

Introduction

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

Prototype

@Override
    public String getText();

Source Link

Usage

From source file:com.liferay.portlet.amazonrankings.util.AmazonRankingsWebCacheItem.java

License:Open Source License

protected String[] getAuthors(Element itemAttributesElement) {
    List<String> authors = new ArrayList<String>();

    for (Element authorElement : itemAttributesElement.elements("Author")) {
        authors.add(authorElement.getText());
    }/*from ww w .j  a  v a 2s. c  o  m*/

    return authors.toArray(new String[authors.size()]);
}

From source file:com.liferay.portlet.amazonrankings.util.AmazonRankingsWebCacheItem.java

License:Open Source License

protected boolean hasErrorMessage(Element element) {
    if (element == null) {
        return false;
    }//from  w  ww.  jav a  2s.  c om

    Element errorElement = element.element("Error");

    if (errorElement == null) {
        return false;
    }

    Element messageElement = errorElement.element("Message");

    if (messageElement == null) {
        return false;
    }

    _log.error(messageElement.getText());

    return true;
}

From source file:com.liferay.portlet.dynamicdatamapping.model.impl.DDMStructureImpl.java

License:Open Source License

private Map<String, String> _getField(Element element, String locale) {
    Map<String, String> field = new HashMap<String, String>();

    List<String> availableLocales = getAvailableLocales();

    if ((locale != null) && !(availableLocales.contains(locale))) {
        locale = getDefaultLocale();/*from ww w . j av  a 2s.c o  m*/
    }

    String xPathExpression = "meta-data[@locale=\"".concat(locale).concat("\"]");

    XPath xPathSelector = SAXReaderUtil.createXPath(xPathExpression);

    Node node = xPathSelector.selectSingleNode(element);

    Element metaDataElement = (Element) node.asXPathResult(node.getParent());

    if (metaDataElement != null) {
        List<Element> childMetaDataElements = metaDataElement.elements();

        for (Element childMetaDataElement : childMetaDataElements) {
            String name = childMetaDataElement.attributeValue("name");
            String value = childMetaDataElement.getText();

            field.put(name, value);
        }
    }

    for (Attribute attribute : element.attributes()) {
        field.put(attribute.getName(), attribute.getValue());
    }

    return field;
}

From source file:com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.java

License:Open Source License

protected void format(User user, long groupId, String articleId, double version, boolean incrementVersion,
        Element root, Map<String, byte[]> images) throws PortalException, SystemException {

    for (Element element : root.elements()) {
        String elInstanceId = element.attributeValue("instance-id", StringPool.BLANK);
        String elName = element.attributeValue("name", StringPool.BLANK);
        String elType = element.attributeValue("type", StringPool.BLANK);

        if (elType.equals("image")) {
            formatImage(groupId, articleId, version, incrementVersion, element, elInstanceId, elName, images);
        } else if (elType.equals("text_area") || elType.equals("text") || elType.equals("text_box")) {

            List<Element> dynamicContentElements = element.elements("dynamic-content");

            for (Element dynamicContentElement : dynamicContentElements) {
                String dynamicContent = dynamicContentElement.getText();

                if (Validator.isNotNull(dynamicContent)) {
                    dynamicContent = SanitizerUtil.sanitize(user.getCompanyId(), groupId, user.getUserId(),
                            JournalArticle.class.getName(), 0, ContentTypes.TEXT_HTML, dynamicContent);

                    dynamicContentElement.setText(dynamicContent);
                }/* w w  w  . jav a  2 s .  com*/
            }
        }

        format(user, groupId, articleId, version, incrementVersion, element, images);
    }
}

From source file:com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.java

License:Open Source License

protected String format(User user, long groupId, String articleId, double version, boolean incrementVersion,
        String content, String structureId, Map<String, byte[]> images)
        throws PortalException, SystemException {

    Document document = null;//from  w  w w.j  a  v  a2  s .  c  o  m

    try {
        document = SAXReaderUtil.read(content);

        Element rootElement = document.getRootElement();

        if (Validator.isNotNull(structureId)) {
            format(user, groupId, articleId, version, incrementVersion, rootElement, images);
        } else {
            List<Element> staticContentElements = rootElement.elements("static-content");

            for (Element staticContentElement : staticContentElements) {
                String staticContent = staticContentElement.getText();

                staticContent = SanitizerUtil.sanitize(user.getCompanyId(), groupId, user.getUserId(),
                        JournalArticle.class.getName(), 0, ContentTypes.TEXT_HTML, staticContent);

                staticContentElement.setText(staticContent);
            }
        }

        content = DDMXMLUtil.formatXML(document);
    } catch (DocumentException de) {
        _log.error(de);
    } catch (IOException ioe) {
        _log.error(ioe);
    }

    content = HtmlUtil.replaceMsWordCharacters(content);

    return content;
}

From source file:com.liferay.portlet.journal.service.impl.JournalArticleLocalServiceImpl.java

License:Open Source License

protected void formatImage(long groupId, String articleId, double version, boolean incrementVersion, Element el,
        String elInstanceId, String elName, Map<String, byte[]> images)
        throws PortalException, SystemException {

    List<Element> imageContents = el.elements("dynamic-content");

    for (Element dynamicContent : imageContents) {
        String elLanguage = dynamicContent.attributeValue("language-id", StringPool.BLANK);

        if (!elLanguage.equals(StringPool.BLANK)) {
            elLanguage = "_" + elLanguage;
        }/*from w  w  w  .j a  v  a  2  s.  c o m*/

        long imageId = journalArticleImageLocalService.getArticleImageId(groupId, articleId, version,
                elInstanceId, elName, elLanguage);

        double oldVersion = MathUtil.format(version - 0.1, 1, 1);

        long oldImageId = 0;

        if ((oldVersion >= 1) && incrementVersion) {
            oldImageId = journalArticleImageLocalService.getArticleImageId(groupId, articleId, oldVersion,
                    elInstanceId, elName, elLanguage);
        }

        String elContent = "/image/journal/article?img_id=" + imageId + "&t="
                + WebServerServletTokenUtil.getToken(imageId);

        if (dynamicContent.getText().equals("delete")) {
            dynamicContent.setText(StringPool.BLANK);

            imageLocalService.deleteImage(imageId);

            String defaultElLanguage = "";

            if (!Validator.isNotNull(elLanguage)) {
                defaultElLanguage = "_" + LocaleUtil.toLanguageId(LocaleUtil.getDefault());
            }

            long defaultImageId = journalArticleImageLocalService.getArticleImageId(groupId, articleId, version,
                    elInstanceId, elName, defaultElLanguage);

            imageLocalService.deleteImage(defaultImageId);

            continue;
        }

        byte[] bytes = images.get(elInstanceId + "_" + elName + elLanguage);

        if ((bytes != null) && (bytes.length > 0)) {
            dynamicContent.setText(elContent);
            dynamicContent.addAttribute("id", String.valueOf(imageId));

            imageLocalService.updateImage(imageId, bytes);

            continue;
        }

        if ((version > JournalArticleConstants.VERSION_DEFAULT) && (incrementVersion)) {

            Image oldImage = null;

            if (oldImageId > 0) {
                oldImage = imageLocalService.getImage(oldImageId);
            }

            if (oldImage != null) {
                dynamicContent.setText(elContent);
                dynamicContent.addAttribute("id", String.valueOf(imageId));

                bytes = oldImage.getTextObj();

                imageLocalService.updateImage(imageId, bytes);
            }

            continue;
        }

        Image image = imageLocalService.getImage(imageId);

        if (image != null) {
            dynamicContent.setText(elContent);
            dynamicContent.addAttribute("id", String.valueOf(imageId));

            continue;
        }

        long contentImageId = GetterUtil.getLong(HttpUtil.getParameter(dynamicContent.getText(), "img_id"));

        if (contentImageId <= 0) {
            contentImageId = GetterUtil
                    .getLong(HttpUtil.getParameter(dynamicContent.getText(), "img_id", false));
        }

        if (contentImageId > 0) {
            image = imageLocalService.getImage(contentImageId);

            if (image != null) {
                dynamicContent.addAttribute("id", String.valueOf(contentImageId));

                continue;
            }
        }

        String defaultElLanguage = "";

        if (!Validator.isNotNull(elLanguage)) {
            defaultElLanguage = "_" + LocaleUtil.toLanguageId(LocaleUtil.getDefault());
        }

        long defaultImageId = journalArticleImageLocalService.getArticleImageId(groupId, articleId, version,
                elInstanceId, elName, defaultElLanguage);

        Image defaultImage = imageLocalService.getImage(defaultImageId);

        if (defaultImage != null) {
            dynamicContent.setText(elContent);
            dynamicContent.addAttribute("id", String.valueOf(defaultImageId));

            bytes = defaultImage.getTextObj();

            imageLocalService.updateImage(defaultImageId, bytes);

            continue;
        }

        if (Validator.isNotNull(elLanguage)) {
            dynamicContent.setText(StringPool.BLANK);
        }
    }
}

From source file:com.liferay.portlet.journal.util.ContentTransformerListener.java

License:Open Source License

protected void replace(Element root) throws Exception {
    Map<String, String> tokens = getTokens();

    long groupId = GetterUtil.getLong(tokens.get("group_id"));

    for (Element el : root.elements()) {
        Element dynamicContent = el.element("dynamic-content");

        if (dynamicContent != null) {
            String text = dynamicContent.getText();

            text = HtmlUtil.stripComments(text);
            text = HtmlUtil.stripHtml(text);
            text = text.trim();/*  ww w . j av a  2 s  . c  o  m*/

            // [@articleId;elementName@]

            if (Validator.isNotNull(text) && text.length() >= 7 && text.startsWith("[@")
                    && text.endsWith("@]")) {

                text = text.substring(2, text.length() - 2);

                int pos = text.indexOf(";");

                if (pos != -1) {
                    String articleId = text.substring(0, pos);
                    String elementName = text.substring(pos + 1, text.length());

                    JournalArticle article = JournalArticleLocalServiceUtil.getArticle(groupId, articleId);

                    dynamicContent.clearContent();
                    dynamicContent.addCDATA(getDynamicContent(article.getContent(), elementName));
                }
            }

            // Make sure to point images to the full path

            else if ((text != null) && (text.startsWith("/image/journal/article?img_id"))) {

                dynamicContent.setText("@cdn_host@@root_path@" + text);
            }
        }

        replace(el);
    }
}

From source file:com.liferay.portlet.journal.util.JournalConverterImpl.java

License:Open Source License

protected Serializable getFieldValue(String dataType, String type, Element dynamicContentElement)
        throws Exception {

    Serializable serializable = null;
    if (DDMImpl.TYPE_DDM_DOCUMENTLIBRARY.equals(type)) {
        serializable = getDocumentLibraryValue(dynamicContentElement.getText());
    } else if (DDMImpl.TYPE_DDM_LINK_TO_PAGE.equals(type)) {
        String[] values = StringUtil.split(dynamicContentElement.getText(), CharPool.AT);

        JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

        if (values.length > 2) {
            jsonObject.put("groupId", values[2]);
        }//w ww .  j av a 2s  .co m

        jsonObject.put("layoutId", values[0]);

        if (values[1].equals("public")) {
            jsonObject.put("privateLayout", false);
        } else {
            jsonObject.put("privateLayout", true);
        }

        serializable = jsonObject.toString();
    } else if (DDMImpl.TYPE_SELECT.equals(type)) {
        JSONArray jsonArray = JSONFactoryUtil.createJSONArray();

        List<Element> optionElements = dynamicContentElement.elements("option");

        if (optionElements.size() > 0) {
            for (Element optionElement : optionElements) {
                jsonArray.put(optionElement.getText());
            }
        } else {
            jsonArray.put(dynamicContentElement.getText());
        }

        serializable = jsonArray.toString();
    } else {
        serializable = FieldConstants.getSerializable(dataType, dynamicContentElement.getText());
    }
    return serializable;
}

From source file:com.liferay.portlet.journal.util.JournalConverterImpl.java

License:Open Source License

protected void updateJournalXSDDynamicElement(Element element) {
    Locale defaultLocale = LocaleUtil.getSiteDefault();

    String name = element.attributeValue("name");
    String type = element.attributeValue("type");

    Element metadataElement = element.element("meta-data");

    if (metadataElement == null) {
        metadataElement = element.addElement("meta-data");
    }/* w  w  w .  ja  va2 s . c  o  m*/

    if (type.equals("multi-list")) {
        element.addAttribute("multiple", "true");
    } else if (type.equals("selection_break")) {
        Element parentElement = element.getParent();

        parentElement.remove(element);

        return;
    } else {
        Element parentElement = element.getParent();

        String parentType = parentElement.attributeValue("type");

        if ((parentType != null) && parentType.equals("select")) {
            metadataElement.addAttribute("locale", defaultLocale.toString());

            addMetadataEntry(metadataElement, "label", name);

            element.addAttribute("name", "option" + StringUtil.randomId());
            element.addAttribute("type", "option");
            element.addAttribute("value", name);

            return;
        }
    }

    String indexType = StringPool.BLANK;

    Attribute indexTypeAttribute = element.attribute("index-type");

    if (indexTypeAttribute != null) {
        indexType = indexTypeAttribute.getValue();

        element.remove(indexTypeAttribute);
    }

    element.remove(element.attribute("type"));

    String dataType = _ddmDataTypes.get(type);

    if (dataType == null) {
        dataType = "string";
    }

    element.addAttribute("dataType", dataType);
    element.addAttribute("indexType", indexType);

    String required = "false";

    Element requiredElement = fetchMetadataEntry(metadataElement, "name", "required");

    if (requiredElement != null) {
        required = requiredElement.getText();
    }

    element.addAttribute("required", required);

    element.addAttribute("showLabel", "true");

    String newType = _journalTypesToDDMTypes.get(type);

    if (newType == null) {
        newType = type;
    }

    element.addAttribute("type", newType);

    if (newType.startsWith("ddm")) {
        element.addAttribute("fieldNamespace", "ddm");
    }

    metadataElement.addAttribute("locale", defaultLocale.toString());

    List<Element> entryElements = metadataElement.elements();

    if (entryElements.isEmpty()) {
        addMetadataEntry(metadataElement, "label", name);
    } else {
        for (Element entryElement : entryElements) {
            String oldEntryName = entryElement.attributeValue("name");

            String newEntryName = _ddmMetadataAttributes.get(oldEntryName);

            if (newEntryName == null) {
                metadataElement.remove(entryElement);
            } else {
                entryElement.addAttribute("name", newEntryName);
            }
        }
    }

    if (newType.equals("ddm-date") || newType.equals("ddm-decimal") || newType.equals("ddm-integer")
            || newType.equals("ddm-link-to-page") || newType.equals("ddm-number")
            || newType.equals("ddm-text-html") || newType.equals("text") || newType.equals("textarea")) {

        element.addAttribute("width", "25");
    } else if (newType.equals("wcm-image")) {
        element.addAttribute("fieldNamespace", "wcm");
        element.addAttribute("readOnly", "false");
    }

    List<Element> dynamicElementElements = element.elements("dynamic-element");

    for (Element dynamicElementElement : dynamicElementElements) {
        updateJournalXSDDynamicElement(dynamicElementElement);
    }
}

From source file:com.liferay.portlet.journal.util.JournalIndexer.java

License:Open Source License

protected void indexField(Document document, Element element, String elType, String elIndexType) {

    if (Validator.isNull(elIndexType)) {
        return;// w ww.  j  a  va  2s  .c o  m
    }

    com.liferay.portal.kernel.xml.Document structureDocument = element.getDocument();

    Element rootElement = structureDocument.getRootElement();

    String defaultLocale = GetterUtil.getString(rootElement.attributeValue("default-locale"));

    String name = encodeFieldName(element.attributeValue("name"));

    List<Element> dynamicContentElements = element.elements("dynamic-content");

    for (Element dynamicContentElement : dynamicContentElements) {
        String contentLocale = GetterUtil.getString(dynamicContentElement.attributeValue("language-id"));

        String[] value = new String[] { dynamicContentElement.getText() };

        if (elType.equals("multi-list")) {
            List<Element> optionElements = dynamicContentElement.elements("option");

            value = new String[optionElements.size()];

            for (int i = 0; i < optionElements.size(); i++) {
                value[i] = optionElements.get(i).getText();
            }
        }

        if (elIndexType.equals("keyword")) {
            if (Validator.isNull(contentLocale)) {
                document.addKeyword(name, value);
            } else {
                if (defaultLocale.equals(contentLocale)) {
                    document.addKeyword(name, value);
                }

                document.addKeyword(name.concat(StringPool.UNDERLINE).concat(contentLocale), value);
            }
        } else if (elIndexType.equals("text")) {
            if (Validator.isNull(contentLocale)) {
                document.addText(name, StringUtil.merge(value, StringPool.SPACE));
            } else {
                if (defaultLocale.equals(contentLocale)) {
                    document.addText(name, StringUtil.merge(value, StringPool.SPACE));
                }

                document.addText(name.concat(StringPool.UNDERLINE).concat(contentLocale),
                        StringUtil.merge(value, StringPool.SPACE));
            }
        }
    }
}