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

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

Introduction

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

Prototype

public String attributeValue(String name);

Source Link

Usage

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

License:Open Source License

/**
 * @deprecated As of 3.4.0, replaced by {@link
 *             #createFieldsValuesMap(Element, Locale)}
 *///  w  w  w .j  ava2  s .co m
@Deprecated
protected Map<String, LocalizedValue> createFieldsValuesMap(Element parentElement) {

    Locale defaultLocale = LocaleUtil.fromLanguageId(parentElement.attributeValue("default-locale"));

    return createFieldsValuesMap(parentElement, defaultLocale);
}

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

License:Open Source License

protected Map<String, LocalizedValue> createFieldsValuesMap(String content) {

    try {//from  ww  w  .  ja va2 s  . c om
        Document document = SAXReaderUtil.read(content);

        Element rootElement = document.getRootElement();

        Locale defaultLocale = LocaleUtil.fromLanguageId(rootElement.attributeValue("default-locale"));

        return createFieldsValuesMap(rootElement, defaultLocale);
    } catch (DocumentException de) {
        throw new SystemException(de);
    }
}

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

License:Open Source License

public static Map<String, Map<String, String>> getXsdMap(String xsd) throws Exception {

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

    Document document = UnsecureSAXReaderUtil.read(xsd);

    XPath xPathSelector = SAXReaderUtil.createXPath("//dynamic-element");

    List<Node> nodes = xPathSelector.selectNodes(document);

    for (Node node : nodes) {
        Element dynamicElementElement = (Element) node;

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

        if (Objects.equals(type, "selection_break")) {
            continue;
        }/*  www  . ja v  a2 s.c  om*/

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

        map.put(name, _getMap(dynamicElementElement));
    }

    return map;
}

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  v  a  2  s. c  o  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 String injectEditInPlace(String script, Document document) {
    if (!script.contains("$editInPlace(")) {
        return script;
    }//from   w  ww  .  j ava  2  s  . c o  m

    try {
        List<Node> nodes = document.selectNodes("//dynamic-element");

        for (Node node : nodes) {
            Element element = (Element) node;

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

            if (!name.startsWith("reserved-")
                    && (type.equals("text") || type.equals("text_area") || type.equals("text_box"))) {

                script = wrapEditInPlaceField(script, name, type, "data");
                script = wrapEditInPlaceField(script, name, type, "getData()");
            }
        }
    } catch (Exception e) {
        if (_log.isWarnEnabled()) {
            _log.warn(e.getMessage());
        }
    }

    return script;
}

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

License:Open Source License

protected void filter(Element dynamicElementElement, DDMStructure ddmStructure, String name,
        String defaultLanguageId) throws PortalException {

    boolean localizable = GetterUtil.getBoolean(ddmStructure.getFieldProperty(name, "localizable"));

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

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

        if (!localizable && !languageId.equals(defaultLanguageId)) {
            dynamicElementElement.remove(dynamicContentElement);
        }//from ww w  .j a va2  s.  c om
    }
}

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

License:Open Source License

protected void filterByLocalizability(Element root, String defaultLanguageId, DDMStructure ddmStructure)
        throws PortalException {

    for (Element element : root.elements("dynamic-element")) {
        String name = element.attributeValue("name");

        if (!ddmStructure.hasField(name)) {
            continue;
        }//  w w w  .j  ava 2 s .  co  m

        if (!ddmStructure.isFieldTransient(name)) {
            filter(element, ddmStructure, name, defaultLanguageId);
        }

        filterByLocalizability(element, defaultLanguageId, ddmStructure);
    }
}

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);//from   www . j  a v  a 2s.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.JournalUtil.java

License:Open Source License

public static String mergeArticleContent(String curContent, String newContent, boolean removeNullElements) {

    try {/*from w  w  w  .j ava 2 s. c  o  m*/
        Document curDocument = SAXReaderUtil.read(curContent);
        Document newDocument = SAXReaderUtil.read(newContent);

        Element curRootElement = curDocument.getRootElement();
        Element newRootElement = newDocument.getRootElement();

        curRootElement.addAttribute("default-locale", newRootElement.attributeValue("default-locale"));
        curRootElement.addAttribute("available-locales", newRootElement.attributeValue("available-locales"));

        _mergeArticleContentUpdate(curDocument, newRootElement,
                LocaleUtil.toLanguageId(LocaleUtil.getSiteDefault()));

        if (removeNullElements) {
            _mergeArticleContentDelete(curRootElement, newDocument);
        }

        curContent = XMLUtil.formatXML(curDocument);
    } catch (Exception e) {
        _log.error(e, e);
    }

    return curContent;
}

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

License:Open Source License

public static String removeArticleLocale(Document document, String content, String languageId) {

    try {//from  www .  j av  a 2s .c om
        Element rootElement = document.getRootElement();

        String availableLocales = rootElement.attributeValue("available-locales");

        if (availableLocales == null) {
            return content;
        }

        availableLocales = StringUtil.removeFromList(availableLocales, languageId);

        if (availableLocales.endsWith(",")) {
            availableLocales = availableLocales.substring(0, availableLocales.length() - 1);
        }

        rootElement.addAttribute("available-locales", availableLocales);

        removeArticleLocale(rootElement, languageId);

        content = XMLUtil.formatXML(document);
    } catch (Exception e) {
        _log.error(e, e);
    }

    return content;
}