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

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

Introduction

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

Prototype

public void sortElementsByChildElement(String elementName, String childElementName);

Source Link

Usage

From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java

License:Open Source License

protected String formatDDLStructuresXML(String content) throws Exception {
    Document document = saxReaderUtil.read(content);

    Element rootElement = document.getRootElement();

    rootElement.sortAttributes(true);//w w  w. j  a  v  a 2s.  com

    rootElement.sortElementsByChildElement("structure", "name");

    List<Element> structureElements = rootElement.elements("structure");

    for (Element structureElement : structureElements) {
        Element structureRootElement = structureElement.element("root");

        structureRootElement.sortElementsByAttribute("dynamic-element", "name");

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

        for (Element dynamicElementElement : dynamicElementElements) {
            Element metaDataElement = dynamicElementElement.element("meta-data");

            metaDataElement.sortElementsByAttribute("entry", "name");
        }
    }

    return document.formattedString();
}

From source file:com.liferay.tools.sourceformatter.XMLSourceProcessor.java

License:Open Source License

protected String formatPortletXML(String fileName, String absolutePath, String content) throws Exception {

    Document document = saxReaderUtil.read(content);

    Element rootElement = document.getRootElement();

    rootElement.sortAttributes(true);/*  ww  w. j a  v  a2s.co m*/

    boolean checkNumericalPortletNameElement = !isExcluded(_numericalPortletNameElementExclusions,
            absolutePath);

    List<Element> portletElements = rootElement.elements("portlet");

    for (Element portletElement : portletElements) {
        if (checkNumericalPortletNameElement) {
            Element portletNameElement = portletElement.element("portlet-name");

            String portletNameText = portletNameElement.getText();

            if (!Validator.isNumber(portletNameText)) {
                processErrorMessage(fileName,
                        fileName + " contains a nonstandard portlet-name element " + portletNameText);
            }
        }

        if (fileName.endsWith("/liferay-portlet.xml")) {
            continue;
        }

        portletElement.sortElementsByChildElement("init-param", "name");

        Element portletPreferencesElement = portletElement.element("portlet-preferences");

        if (portletPreferencesElement != null) {
            portletPreferencesElement.sortElementsByChildElement("preference", "name");
        }
    }

    return document.formattedString();
}