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

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

Introduction

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

Prototype

public void sortAttributes(boolean recursive);

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);

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

    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);

    boolean checkNumericalPortletNameElement = !isExcluded(_numericalPortletNameElementExclusions,
            absolutePath);/*from   w w w.ja va2s  . c  om*/

    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();
}