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.internal.upgrade.v0_0_6.UpgradeImageTypeContentAttributes.java

License:Open Source License

protected String addImageContentAttributes(String content) throws Exception {

    Document contentDocument = SAXReaderUtil.read(content);

    contentDocument = contentDocument.clone();

    XPath xPath = SAXReaderUtil.createXPath("//dynamic-element[@type='image']");

    List<Node> imageNodes = xPath.selectNodes(contentDocument);

    for (Node imageNode : imageNodes) {
        Element imageEl = (Element) imageNode;

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

        String id = null;//  w ww .j av  a  2 s .  co  m

        for (Element dynamicContentEl : dynamicContentEls) {
            id = dynamicContentEl.attributeValue("id");

            dynamicContentEl.addAttribute("alt", StringPool.BLANK);
            dynamicContentEl.addAttribute("name", id);
            dynamicContentEl.addAttribute("title", id);
            dynamicContentEl.addAttribute("type", "journal");
        }

        if (Validator.isNotNull(id)) {
            imageEl.addAttribute("instance-id", getImageInstanceId(id));
        }
    }

    return contentDocument.formattedString();
}

From source file:com.liferay.journal.internal.upgrade.v1_0_0.UpgradeImageTypeContentAttributes.java

License:Open Source License

protected String addImageContentAttributes(String content) throws Exception {

    Document contentDocument = SAXReaderUtil.read(content);

    contentDocument = contentDocument.clone();

    XPath xPath = SAXReaderUtil.createXPath("//dynamic-element[@type='image']");

    List<Node> imageNodes = xPath.selectNodes(contentDocument);

    for (Node imageNode : imageNodes) {
        Element imageEl = (Element) imageNode;

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

        for (Element dynamicContentEl : dynamicContentEls) {
            String id = dynamicContentEl.attributeValue("id");

            dynamicContentEl.addAttribute("alt", StringPool.BLANK);
            dynamicContentEl.addAttribute("name", id);
            dynamicContentEl.addAttribute("title", id);
            dynamicContentEl.addAttribute("type", "journal");
        }/*from  w  w  w .  j ava2  s.  c o m*/
    }

    return contentDocument.formattedString();
}

From source file:com.liferay.journal.internal.upgrade.v1_1_0.UpgradeDocumentLibraryTypeContent.java

License:Open Source License

protected String convertContent(String content) throws Exception {
    Document contentDocument = SAXReaderUtil.read(content);

    contentDocument = contentDocument.clone();

    XPath xPath = SAXReaderUtil.createXPath("//dynamic-element[@type='document_library']");

    List<Node> imageNodes = xPath.selectNodes(contentDocument);

    for (Node imageNode : imageNodes) {
        Element imageEl = (Element) imageNode;

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

        for (Element dynamicContentEl : dynamicContentEls) {
            String data = getDocumentLibraryValue(dynamicContentEl.getText());

            dynamicContentEl.clearContent();

            dynamicContentEl.addCDATA(data);
        }//from  w w  w .  ja v  a2  s  . c om
    }

    return contentDocument.formattedString();
}

From source file:com.liferay.journal.internal.upgrade.v1_1_0.UpgradeImageTypeContent.java

License:Open Source License

protected String convertTypeImageElements(long userId, long groupId, String content, long resourcePrimKey)
        throws Exception {

    Document contentDocument = SAXReaderUtil.read(content);

    contentDocument = contentDocument.clone();

    XPath xPath = SAXReaderUtil.createXPath("//dynamic-element[@type='image']");

    List<Node> imageNodes = xPath.selectNodes(contentDocument);

    for (Node imageNode : imageNodes) {
        Element imageEl = (Element) imageNode;

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

        for (Element dynamicContentEl : dynamicContentEls) {
            String id = dynamicContentEl.attributeValue("id");

            if (Validator.isNull(id)) {
                continue;
            }/*from ww  w. ja va  2s  . c  o  m*/

            long folderId = getFolderId(userId, groupId, resourcePrimKey);

            FileEntry fileEntry = getFileEntry(groupId, folderId, id);

            if (fileEntry == null) {
                continue;
            }

            JSONObject jsonObject = JSONFactoryUtil.createJSONObject();

            jsonObject.put("alt", StringPool.BLANK);
            jsonObject.put("groupId", fileEntry.getGroupId());
            jsonObject.put("name", fileEntry.getFileName());
            jsonObject.put("resourcePrimKey", resourcePrimKey);
            jsonObject.put("title", fileEntry.getTitle());
            jsonObject.put("type", "journal");
            jsonObject.put("uuid", fileEntry.getUuid());

            dynamicContentEl.clearContent();

            dynamicContentEl.addCDATA(jsonObject.toString());
        }
    }

    return contentDocument.formattedString();
}

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

License:Open Source License

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

    Field fieldsDisplayField = new Field(ddmStructure.getStructureId(), DDM.FIELDS_DISPLAY_NAME,
            StringPool.BLANK);//from   w  w  w  .  j  a  v a2s.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.internal.util.impl.JournalConverterImpl.java

License:Open Source License

/**
 * @deprecated As of 4.0.0, with no direct replacement
 *///w w  w  . j  ava  2s .c o  m
@Deprecated
@Override
public String getDDMXSD(String journalXSD, Locale defaultLocale) throws Exception {

    Document document = SAXReaderUtil.read(journalXSD);

    Element rootElement = document.getRootElement();

    rootElement.addAttribute("available-locales", defaultLocale.toString());
    rootElement.addAttribute("default-locale", defaultLocale.toString());

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

    for (Element dynamicElementElement : dynamicElementElements) {
        updateJournalXSDDynamicElement(dynamicElementElement, defaultLocale.toString());
    }

    return XMLUtil.formatXML(document);
}

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

License:Open Source License

/**
 * @deprecated As of 4.0.0, with no direct replacement
 *///from   www .  j a  va2 s . c o m
@Deprecated
@Override
public String getJournalXSD(String ddmXSD) throws Exception {
    Document document = SAXReaderUtil.read(ddmXSD);

    Element rootElement = document.getRootElement();

    String defaultLanguageId = rootElement.attributeValue("default-locale");

    removeAttribute(rootElement, "available-locales");
    removeAttribute(rootElement, "default-locale");

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

    for (Element dynamicElementElement : dynamicElementElements) {
        updateDDMXSDDynamicElement(dynamicElementElement, defaultLanguageId);
    }

    return XMLUtil.formatXML(document);
}

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

License:Open Source License

protected void addDDMFields(Element dynamicElementElement, DDMStructure ddmStructure, Fields ddmFields,
        String[] availableLanguageIds, String defaultLanguageId) throws PortalException {

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

    if (!ddmStructure.hasField(name)) {
        return;/*from w  w  w  .j  a  v  a 2 s  .c om*/
    }

    if (!ddmStructure.isFieldTransient(name)) {
        Field ddmField = getField(dynamicElementElement, ddmStructure, availableLanguageIds, defaultLanguageId);

        String fieldName = ddmField.getName();

        Field existingDDMField = ddmFields.get(fieldName);

        if (existingDDMField != null) {
            for (Locale locale : ddmField.getAvailableLocales()) {
                existingDDMField.addValues(locale, ddmField.getValues(locale));
            }
        } else {
            ddmFields.put(ddmField);
        }
    }

    updateFieldsDisplay(ddmFields, name, instanceId);

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

    for (Element childrenDynamicElementElement : childrenDynamicElementElements) {

        addDDMFields(childrenDynamicElementElement, ddmStructure, ddmFields, availableLanguageIds,
                defaultLanguageId);
    }
}

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

License:Open Source License

protected Field getField(Element dynamicElementElement, DDMStructure ddmStructure,
        String[] availableLanguageIds, String defaultLanguageId) throws PortalException {

    Field ddmField = new Field();

    ddmField.setDDMStructureId(ddmStructure.getStructureId());

    Locale defaultLocale = null;//from  w  ww  . ja  va 2  s  . c om

    if (defaultLanguageId == null) {
        defaultLocale = LocaleUtil.getSiteDefault();
    } else {
        defaultLocale = LocaleUtil.fromLanguageId(defaultLanguageId);
    }

    ddmField.setDefaultLocale(defaultLocale);

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

    ddmField.setName(name);

    String dataType = ddmStructure.getFieldDataType(name);
    String type = ddmStructure.getFieldType(name);

    Set<String> missingLanguageIds = SetUtil.fromArray(availableLanguageIds);

    missingLanguageIds.remove(defaultLanguageId);

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

    for (Element dynamicContentElement : dynamicContentElements) {
        Locale locale = defaultLocale;

        String languageId = dynamicContentElement.attributeValue("language-id");

        if (Validator.isNotNull(languageId)) {
            locale = LocaleUtil.fromLanguageId(languageId);

            missingLanguageIds.remove(languageId);
        }

        Serializable serializable = getFieldValue(dataType, type, dynamicContentElement);

        ddmField.addValue(locale, serializable);
    }

    addMissingFieldValues(ddmField, defaultLanguageId, missingLanguageIds);

    return ddmField;
}

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

License:Open Source License

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

    Serializable serializable = null;

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

        if (ArrayUtil.isEmpty(values)) {
            return StringPool.BLANK;
        }/*from w  ww  .  j  ava 2s  . c om*/

        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 (DDMFormFieldType.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;
}