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.journal.test.util.JournalTestUtil.java

License:Open Source License

private static Map<String, String> _getMap(Element dynamicElementElement) {
    Map<String, String> map = new HashMap<>();

    Element parentElement = dynamicElementElement.getParent();

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

    // Attributes

    for (Attribute attribute : dynamicElementElement.attributes()) {

        // Option element should not contain index type atribute

        if ((Objects.equals(parentType, "list") || Objects.equals(parentType, "multi-list"))
                && Objects.equals(attribute.getName(), "index-type")) {

            continue;
        }//from w  w w.j  a  va 2s.co m

        map.put(attribute.getName(), attribute.getValue());
    }

    // Metadata

    Element metadadataElement = dynamicElementElement.element("meta-data");

    if (metadadataElement == null) {
        return map;
    }

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

    for (Element entryElement : entryElements) {
        map.put(entryElement.attributeValue("name"), entryElement.getText());
    }

    return map;
}

From source file:com.liferay.journal.transformer.ContentTransformerListener.java

License:Open Source License

protected void replace(Element root, long articleGroupId) throws Exception {
    for (Element element : root.elements()) {
        List<Element> dynamicContentElements = element.elements("dynamic-content");

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

            text = HtmlUtil.stripComments(text);
            text = HtmlUtil.stripHtml(text);
            text = text.trim();//  w w  w.  j  a va  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);

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

                    dynamicContentElement.clearContent();
                    dynamicContentElement.addCDATA(getDynamicContent(article.getDocument(), elementName));
                }
            } else if ((text != null) && text.startsWith("/image/journal/article?img_id")) {

                // Make sure to point images to the full path

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

        replace(element, articleGroupId);
    }
}

From source file:com.liferay.journal.transformer.JournalTransformer.java

License:Open Source License

protected List<TemplateNode> getTemplateNodes(ThemeDisplay themeDisplay, Element element, long ddmStructureId)
        throws Exception {

    DDMStructure ddmStructure = DDMStructureLocalServiceUtil.getStructure(ddmStructureId);

    DDMForm ddmForm = ddmStructure.getDDMForm();

    Map<String, DDMFormField> ddmFormFieldsMap = ddmForm.getDDMFormFieldsMap(true);

    List<TemplateNode> templateNodes = new ArrayList<>();

    Map<String, TemplateNode> prototypeTemplateNodes = new HashMap<>();

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

    for (Element dynamicElementElement : dynamicElementElements) {
        Element dynamicContentElement = dynamicElementElement.element("dynamic-content");

        String data = StringPool.BLANK;

        if (dynamicContentElement != null) {
            data = dynamicContentElement.getText();
        }/*from  w ww.j  a  va 2  s. com*/

        String name = dynamicElementElement.attributeValue("name", StringPool.BLANK);

        if (name.length() == 0) {
            throw new TransformException("Element missing \"name\" attribute");
        }

        String type = dynamicElementElement.attributeValue("type", StringPool.BLANK);

        Map<String, String> attributes = new HashMap<>();

        if (type.equals("image")) {
            JSONObject dataJSONObject = JSONFactoryUtil.createJSONObject(data);

            Iterator<String> itr = dataJSONObject.keys();

            while (itr.hasNext()) {
                String key = itr.next();

                String value = dataJSONObject.getString(key);

                attributes.put(key, value);
            }
        }

        if (dynamicContentElement != null) {
            for (Attribute attribute : dynamicContentElement.attributes()) {
                attributes.put(attribute.getName(), attribute.getValue());
            }
        }

        TemplateNode templateNode = new TemplateNode(themeDisplay, name, StringUtil.stripCDATA(data), type,
                attributes);

        if (dynamicElementElement.element("dynamic-element") != null) {
            templateNode.appendChildren(getTemplateNodes(themeDisplay, dynamicElementElement, ddmStructureId));
        } else if ((dynamicContentElement != null) && (dynamicContentElement.element("option") != null)) {

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

            for (Element optionElement : optionElements) {
                templateNode.appendOption(StringUtil.stripCDATA(optionElement.getText()));
            }
        }

        DDMFormField ddmFormField = ddmFormFieldsMap.get(name);

        if (ddmFormField != null) {
            DDMFormFieldOptions ddmFormFieldOptions = ddmFormField.getDDMFormFieldOptions();

            Map<String, LocalizedValue> options = ddmFormFieldOptions.getOptions();

            for (Entry<String, LocalizedValue> entry : options.entrySet()) {
                String optionValue = StringUtil.stripCDATA(entry.getKey());

                LocalizedValue localizedLabel = entry.getValue();

                String optionLabel = localizedLabel.getString(themeDisplay.getLocale());

                templateNode.appendOptionMap(optionValue, optionLabel);
            }
        }

        TemplateNode prototypeTemplateNode = prototypeTemplateNodes.get(name);

        if (prototypeTemplateNode == null) {
            prototypeTemplateNode = templateNode;

            prototypeTemplateNodes.put(name, prototypeTemplateNode);

            templateNodes.add(templateNode);
        }

        prototypeTemplateNode.appendSibling(templateNode);
    }

    return templateNodes;
}

From source file:com.liferay.journal.transformer.JournalTransformer.java

License:Open Source License

protected Map<String, Object> insertRequestVariables(Element element) {
    Map<String, Object> map = new HashMap<>();

    if (element == null) {
        return map;
    }/*w  ww .j  a  v a 2  s  .c o m*/

    for (Element childElement : element.elements()) {
        String name = childElement.getName();

        if (name.equals("attribute")) {
            Element nameElement = childElement.element("name");
            Element valueElement = childElement.element("value");

            map.put(nameElement.getText(), valueElement.getText());
        } else if (name.equals("parameter")) {
            Element nameElement = childElement.element("name");

            List<Element> valueElements = childElement.elements("value");

            if (valueElements.size() == 1) {
                Element valueElement = valueElements.get(0);

                map.put(nameElement.getText(), valueElement.getText());
            } else {
                List<String> values = new ArrayList<>();

                for (Element valueElement : valueElements) {
                    values.add(valueElement.getText());
                }

                map.put(nameElement.getText(), values);
            }
        } else {
            List<Element> elements = childElement.elements();

            if (!elements.isEmpty()) {
                map.put(name, insertRequestVariables(childElement));
            } else {
                map.put(name, childElement.getText());
            }
        }
    }

    return map;
}

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

License:Open Source License

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

    Serializable serializable = null;

    if (DDMImpl.TYPE_DDM_LINK_TO_PAGE.equals(type)) {
        String[] values = StringUtil.split(dynamicContentElement.getText(), CharPool.AT);

        if (ArrayUtil.isEmpty(values)) {
            return StringPool.BLANK;
        }/*  w  ww  . j  av a  2s .  com*/

        JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

        if (values.length > 2) {
            jsonObject.put("groupId", GetterUtil.getLong(values[2]));
        }

        jsonObject.put("layoutId", GetterUtil.getLong(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.isEmpty()) {
            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.journal.util.impl.JournalUtil.java

License:Open Source License

private static void _addElementOptions(Element curContentElement, Element newContentElement) {

    List<Element> newElementOptions = newContentElement.elements("option");

    for (Element newElementOption : newElementOptions) {
        Element curElementOption = SAXReaderUtil.createElement("option");

        curElementOption.addCDATA(newElementOption.getText());

        curContentElement.add(curElementOption);
    }/*from   w  w w .  java 2s  . c o m*/
}

From source file:com.liferay.journal.util.impl.JournalUtil.java

License:Open Source License

private static void _mergeArticleContentUpdate(Element curElement, Element newElement, String defaultLocale) {

    Attribute curTypeAttribute = curElement.attribute("type");
    Attribute newTypeAttribute = newElement.attribute("type");

    curTypeAttribute.setValue(newTypeAttribute.getValue());

    Attribute curIndexTypeAttribute = curElement.attribute("index-type");
    Attribute newIndexTypeAttribute = newElement.attribute("index-type");

    if (newIndexTypeAttribute != null) {
        if (curIndexTypeAttribute == null) {
            curElement.addAttribute("index-type", newIndexTypeAttribute.getValue());
        } else {/*from   w  ww.  j a v a  2s. co m*/
            curIndexTypeAttribute.setValue(newIndexTypeAttribute.getValue());
        }
    }

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

    if ((elements == null) || elements.isEmpty()) {
        return;
    }

    Element newContentElement = elements.get(0);

    String newLanguageId = newContentElement.attributeValue("language-id");
    String newValue = newContentElement.getText();

    String indexType = newElement.attributeValue("index-type");

    if (Validator.isNotNull(indexType)) {
        curElement.addAttribute("index-type", indexType);
    }

    List<Element> curContentElements = curElement.elements("dynamic-content");

    if (Validator.isNull(newLanguageId)) {
        for (Element curContentElement : curContentElements) {
            curContentElement.detach();
        }

        Element curContentElement = SAXReaderUtil.createElement("dynamic-content");

        if (newContentElement.element("option") != null) {
            _addElementOptions(curContentElement, newContentElement);
        } else {
            curContentElement.addCDATA(newValue);
        }

        curElement.add(curContentElement);
    } else {
        boolean alreadyExists = false;

        for (Element curContentElement : curContentElements) {
            String curLanguageId = curContentElement.attributeValue("language-id");

            if (newLanguageId.equals(curLanguageId)) {
                alreadyExists = true;

                curContentElement.clearContent();

                if (newContentElement.element("option") != null) {
                    _addElementOptions(curContentElement, newContentElement);
                } else {
                    curContentElement.addCDATA(newValue);
                }

                break;
            }
        }

        if (!alreadyExists) {
            Element curContentElement = curContentElements.get(0);

            String curLanguageId = curContentElement.attributeValue("language-id");

            if (Validator.isNull(curLanguageId)) {
                if (newLanguageId.equals(defaultLocale)) {
                    curContentElement.clearContent();

                    if (newContentElement.element("option") != null) {
                        _addElementOptions(curContentElement, newContentElement);
                    } else {
                        curContentElement.addCDATA(newValue);
                    }
                } else {
                    curElement.add(newContentElement.createCopy());
                }

                curContentElement.addAttribute("language-id", defaultLocale);
            } else {
                curElement.add(newContentElement.createCopy());
            }
        }
    }
}

From source file:com.liferay.journal.util.test.JournalConverterUtilTest.java

License:Open Source License

protected void udpateFieldsMap(Element dynamicElementElement,
        Map<String, Map<Locale, List<String>>> fieldsMap) {

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

    for (Element childrenDynamicElementElement : childrenDynamicElementElements) {

        udpateFieldsMap(childrenDynamicElementElement, fieldsMap);
    }//from  w w  w  .j a v a2  s . co  m

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

    Map<Locale, List<String>> valuesMap = fieldsMap.get(name);

    if (valuesMap == null) {
        valuesMap = new HashMap<>();

        fieldsMap.put(name, valuesMap);
    }

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

    for (Element dynamicContentElement : dynamicContentElements) {
        Locale locale = LocaleUtil.fromLanguageId(dynamicContentElement.attributeValue("language-id"));

        List<String> values = getValues(valuesMap, locale);

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

        if (!optionElements.isEmpty()) {
            for (Element optionElement : optionElements) {
                values.add(optionElement.getText());
            }
        } else {
            values.add(dynamicContentElement.getText());
        }
    }
}

From source file:com.liferay.lms.service.impl.LearningActivityLocalServiceImpl.java

License:Open Source License

public HashMap<String, String> convertXMLExtraContentToHashMap(long actId)
        throws SystemException, PortalException {
    HashMap<String, String> hashMap = new HashMap<String, String>();
    String xml = "";

    try {/*from   ww  w.  ja v a2 s  .c om*/
        LearningActivity activity = learningActivityPersistence.fetchByPrimaryKey(actId);

        if (activity != null && !activity.getExtracontent().equals("")) {
            xml = activity.getExtracontent();
        } else {
            return hashMap;
        }
        Document document;

        document = SAXReaderUtil.read(xml);
        Element rootElement = document.getRootElement();

        for (Element key : rootElement.elements()) {

            if (key.getName().contains("document")) {
                hashMap.put(key.getName(), key.attributeValue("id"));
            } else {
                hashMap.put(key.getName(), key.getText());
            }

        }

    } catch (DocumentException e) {
    }

    return hashMap;
}

From source file:com.liferay.maven.plugins.compatibility.WSDDBuilder.java

License:Open Source License

public void build() throws Exception {
    if (!FileUtil.exists(_serverConfigFileName)) {
        ClassLoader classLoader = getClass().getClassLoader();

        String serverConfigContent = StringUtil.read(classLoader,
                "com/liferay/portal/tools/dependencies/server-config.wsdd");

        FileUtil.write(_serverConfigFileName, serverConfigContent);
    }//w w  w  . jav  a2  s. com

    Document document = SAXReaderUtil.read(new File(_fileName), true);

    Element rootElement = document.getRootElement();

    String packagePath = rootElement.attributeValue("package-path");

    Element portletElement = rootElement.element("portlet");
    Element namespaceElement = rootElement.element("namespace");

    if (portletElement != null) {
        _portletShortName = portletElement.attributeValue("short-name");
    } else {
        _portletShortName = namespaceElement.getText();
    }

    _outputPath += StringUtil.replace(packagePath, ".", "/") + "/service/http";

    _packagePath = packagePath;

    List<Element> entityElements = rootElement.elements("entity");

    for (Element entityElement : entityElements) {
        String entityName = entityElement.attributeValue("name");

        boolean remoteService = GetterUtil.getBoolean(entityElement.attributeValue("remote-service"), true);

        if (remoteService) {
            _createServiceWSDD(entityName);

            WSDDMerger.merge(_outputPath + "/" + entityName + "Service_deploy.wsdd", _serverConfigFileName);
        }
    }
}