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.journal.util.impl.JournalConverterImpl.java

License:Open Source License

@Override
public Fields getDDMFields(DDMStructure ddmStructure, Document document) throws PortalException {

    Field fieldsDisplayField = new Field(ddmStructure.getStructureId(), DDMImpl.FIELDS_DISPLAY_NAME,
            StringPool.BLANK);//  w  ww . ja v  a 2 s.c  o  m

    Fields ddmFields = new Fields();

    ddmFields.put(fieldsDisplayField);

    Element rootElement = document.getRootElement();

    String[] availableLanguageIds = StringUtil.split(rootElement.attributeValue("available-locales"));
    String defaultLanguageId = rootElement.attributeValue("default-locale");

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

    for (Element dynamicElementElement : dynamicElementElements) {
        addDDMFields(dynamicElementElement, ddmStructure, ddmFields, availableLanguageIds, defaultLanguageId);
    }

    return ddmFields;
}

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;
        }//from   www. ja  v  a2 s  .c o m

        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

public static void removeArticleLocale(Element element, String languageId) throws PortalException {

    for (Element dynamicElementElement : element.elements("dynamic-element")) {

        for (Element dynamicContentElement : dynamicElementElement.elements("dynamic-content")) {

            String curLanguageId = GetterUtil.getString(dynamicContentElement.attributeValue("language-id"));

            if (curLanguageId.equals(languageId)) {
                long id = GetterUtil.getLong(dynamicContentElement.attributeValue("id"));

                if (id > 0) {
                    ImageLocalServiceUtil.deleteImage(id);
                }/* w  w w .jav a  2  s.c  om*/

                dynamicContentElement.detach();
            }
        }

        removeArticleLocale(dynamicElementElement, languageId);
    }
}

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 ww  . j ava 2s .  c  om*/
}

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

License:Open Source License

private static void _mergeArticleContentDelete(Element curParentElement, Document newDocument)
        throws Exception {

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

    for (int i = 0; i < curElements.size(); i++) {
        Element curElement = curElements.get(i);

        _mergeArticleContentDelete(curElement, newDocument);

        String instanceId = curElement.attributeValue("instance-id");

        Element newElement = _getElementByInstanceId(newDocument, instanceId);

        if (newElement == null) {
            curElement.detach();//from   w w w .j  a  v  a2 s .com
        }
    }
}

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

License:Open Source License

private static void _mergeArticleContentUpdate(Document curDocument, Element newParentElement,
        String defaultLocale) throws Exception {

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

    for (int i = 0; i < newElements.size(); i++) {
        Element newElement = newElements.get(i);

        _mergeArticleContentUpdate(curDocument, newParentElement, newElement, i, defaultLocale);
    }//from ww  w.  java  2 s .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 {/*w w  w . j av  a 2 s  .c  o  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 Map<String, Map<Locale, List<String>>> getFieldsMap(String content) throws Exception {

    Map<String, Map<Locale, List<String>>> fieldsMap = new HashMap<>();

    Document document = UnsecureSAXReaderUtil.read(content);

    Element rootElement = document.getRootElement();

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

    for (Element dynamicElementElement : dynamicElementElements) {
        udpateFieldsMap(dynamicElementElement, fieldsMap);
    }//from   w  ww  . jav  a 2s  .  co m

    return fieldsMap;
}

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.ja  v a  2 s.  c  o 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.journal.verify.JournalServiceVerifyProcess.java

License:Open Source License

protected void updateElement(long groupId, Element element) {
    List<Element> dynamicElementElements = element.elements("dynamic-element");

    for (Element dynamicElementElement : dynamicElementElements) {
        updateElement(groupId, dynamicElementElement);
    }//from ww w  .ja va  2s  . c o  m

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

    if (type.equals("link_to_layout")) {
        updateLinkToLayoutElements(groupId, element);
    }
}