Example usage for com.liferay.portal.kernel.xml SAXReaderUtil read

List of usage examples for com.liferay.portal.kernel.xml SAXReaderUtil read

Introduction

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

Prototype

public static Document read(URL url) throws DocumentException 

Source Link

Usage

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

License:Open Source License

protected void appendParentStructureElements(long groupId, String parentStructureId, List<Element> elements)
        throws Exception {

    if (Validator.isNull(parentStructureId)) {
        return;//from www  . j  av  a  2 s.  co m
    }

    JournalStructure parentStructure = getParentStructure(groupId, parentStructureId);

    appendParentStructureElements(groupId, parentStructure.getParentStructureId(), elements);

    Document document = SAXReaderUtil.read(parentStructure.getXsd());

    Element rootElement = document.getRootElement();

    elements.addAll(rootElement.elements());
}

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

License:Open Source License

protected void validate(long groupId, String parentStructureId, Map<Locale, String> nameMap, String xsd)
        throws PortalException {

    Locale locale = LocaleUtil.getDefault();

    if (nameMap.isEmpty() || Validator.isNull(nameMap.get(locale))) {
        throw new StructureNameException();
    }//from  w w  w  . java2  s.c o m

    if (Validator.isNull(xsd)) {
        throw new StructureXsdException();
    } else {
        try {
            List<Element> elements = new ArrayList<Element>();

            appendParentStructureElements(groupId, parentStructureId, elements);

            Document document = SAXReaderUtil.read(xsd);

            Element rootElement = document.getRootElement();

            if (rootElement.elements().isEmpty()) {
                throw new StructureXsdException();
            }

            elements.addAll(rootElement.elements());

            Set<String> elNames = new HashSet<String>();

            validate(elements, elNames);
        } catch (DuplicateStructureElementException dsee) {
            throw dsee;
        } catch (StructureXsdException sxe) {
            throw sxe;
        } catch (Exception e) {
            throw new StructureXsdException();
        }
    }
}

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

License:Open Source License

protected String getDynamicContent(String xml, String elementName) {
    String content = null;//from w w  w  . ja va2 s  .  c o m

    try {
        Document document = SAXReaderUtil.read(xml);

        Element rootElement = document.getRootElement();

        for (Element element : rootElement.elements()) {
            String curElementName = element.attributeValue("name", StringPool.BLANK);

            if (curElementName.equals(elementName)) {
                content = element.elementText("dynamic-content");

                break;
            }
        }
    } catch (Exception e) {
        _log.error(e, e);
    }

    return GetterUtil.getString(content);
}

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

License:Open Source License

protected String injectEditInPlace(String xml, String script) {
    try {//from  w  ww .java2 s. c  o  m
        Document document = SAXReaderUtil.read(xml);

        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) {
        _log.warn(e.getMessage());
    }

    return script;
}

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

License:Open Source License

/**
 * Fill one article with content from another approved article. See the
 * article DOCUMENTATION-INSTALLATION-BORLAND for a sample use case.
 *
 * @return the processed string/*from ww  w  . j  a va 2 s  .co  m*/
 */
protected String replace(String xml) {
    try {
        Document document = SAXReaderUtil.read(xml);

        Element rootElement = document.getRootElement();

        replace(rootElement);

        xml = DDMXMLUtil.formatXML(document);
    } catch (Exception e) {
        _log.warn(e.getMessage());
    }

    return xml;
}

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

License:Open Source License

@Override
public Fields getDDMFields(DDMStructure ddmStructure, String content) throws Exception {

    Document document = SAXReaderUtil.read(content);

    Field fieldsDisplayField = new Field(ddmStructure.getStructureId(), DDMImpl.FIELDS_DISPLAY_NAME,
            StringPool.BLANK);/* w w  w.  ja  v  a  2s  .  co  m*/
    Fields ddmFields = new Fields();
    ddmFields.put(fieldsDisplayField);

    Element rootElement = document.getRootElement();

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

    List<Element> dynamicElementElements = rootElement.elements("dynamic-element");
    for (Element dynamicElementElement : dynamicElementElements) {
        addDDMFields(dynamicElementElement, ddmStructure, ddmFields, defaultLocale);
    }

    return ddmFields;
}

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

License:Open Source License

@Override
public String getDDMXSD(String journalXSD) throws Exception {
    Document document = SAXReaderUtil.read(journalXSD);

    Element rootElement = document.getRootElement();

    Locale defaultLocale = LocaleUtil.getSiteDefault();

    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);
    }/*  w ww.j a  va 2  s.c  o m*/

    return DDMXMLUtil.formatXML(document);
}

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

License:Open Source License

@Override
public String getJournalXSD(String ddmXSD) throws Exception {
    Document document = SAXReaderUtil.read(ddmXSD);

    Element rootElement = document.getRootElement();

    String defaultLocale = 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, defaultLocale);
    }/*from   w  w  w  . j a  v a 2  s  .  c  om*/

    return DDMXMLUtil.formatXML(document);
}

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

License:Open Source License

protected void processStructure(JournalStructure structure, Document document, String content) {

    try {/*from  www  . ja v  a 2 s.c o m*/
        com.liferay.portal.kernel.xml.Document structureDocument = null;

        if (structure != null) {
            structureDocument = SAXReaderUtil.read(structure.getXsd());
        }

        com.liferay.portal.kernel.xml.Document contentDocument = SAXReaderUtil.read(content);

        Element rootElement = contentDocument.getRootElement();

        processStructure(structureDocument, document, rootElement);
    } catch (Exception e) {
        _log.error(e, e);
    }
}

From source file:com.liferay.portlet.journal.util.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  . com
        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.getDefault()));

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

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

    return curContent;
}