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.tools.sourceformatter.XMLSourceProcessor.java

License:Open Source License

protected String formatAntXML(String fileName, String content) throws Exception {

    String newContent = trimContent(content, true);

    newContent = fixAntXMLProjectName(fileName, newContent);

    Document document = saxReaderUtil.read(newContent);

    Element rootElement = document.getRootElement();

    String previousName = StringPool.BLANK;

    List<Element> targetElements = rootElement.elements("target");

    for (Element targetElement : targetElements) {
        String name = targetElement.attributeValue("name");

        if (name.equals("Test")) {
            name = StringUtil.toLowerCase(name);
        }//from  w w  w .  j  a  v  a 2 s . co  m

        if (name.compareTo(previousName) < -1) {
            processErrorMessage(fileName, fileName + " has an unordered target " + name);

            break;
        }

        previousName = name;
    }

    return newContent;
}

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 va 2  s  .  co m*/

    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 formatFriendlyURLRoutesXML(String absolutePath, String content) throws Exception {

    if (isExcluded(_friendlyUrlRoutesSortExclusions, absolutePath)) {
        return content;
    }/*  www  . j av  a 2s.  c  o m*/

    Document document = saxReaderUtil.read(content);

    Element rootElement = document.getRootElement();

    List<ComparableRoute> comparableRoutes = new ArrayList<ComparableRoute>();

    for (Element routeElement : rootElement.elements("route")) {
        String pattern = routeElement.elementText("pattern");

        ComparableRoute comparableRoute = new ComparableRoute(pattern);

        for (Element generatedParameterElement : routeElement.elements("generated-parameter")) {

            String name = generatedParameterElement.attributeValue("name");
            String value = generatedParameterElement.getText();

            comparableRoute.addGeneratedParameter(name, value);
        }

        for (Element ignoredParameterElement : routeElement.elements("ignored-parameter")) {

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

            comparableRoute.addIgnoredParameter(name);
        }

        for (Element implicitParameterElement : routeElement.elements("implicit-parameter")) {

            String name = implicitParameterElement.attributeValue("name");
            String value = implicitParameterElement.getText();

            comparableRoute.addImplicitParameter(name, value);
        }

        for (Element overriddenParameterElement : routeElement.elements("overridden-parameter")) {

            String name = overriddenParameterElement.attributeValue("name");
            String value = overriddenParameterElement.getText();

            comparableRoute.addOverriddenParameter(name, value);
        }

        comparableRoutes.add(comparableRoute);
    }

    Collections.sort(comparableRoutes);

    String mainReleaseVersion = getMainReleaseVersion();

    StringBundler sb = new StringBundler();

    sb.append("<?xml version=\"1.0\"?>\n");
    sb.append("<!DOCTYPE routes PUBLIC \"-//Liferay//DTD Friendly URL ");
    sb.append("Routes ");
    sb.append(mainReleaseVersion);
    sb.append("//EN\" \"http://www.liferay.com/dtd/");
    sb.append("liferay-friendly-url-routes_");
    sb.append(StringUtil.replace(mainReleaseVersion, StringPool.PERIOD, StringPool.UNDERLINE));
    sb.append(".dtd\">\n\n<routes>\n");

    for (ComparableRoute comparableRoute : comparableRoutes) {
        sb.append("\t<route>\n");
        sb.append("\t\t<pattern>");
        sb.append(comparableRoute.getPattern());
        sb.append("</pattern>\n");

        Map<String, String> generatedParameters = comparableRoute.getGeneratedParameters();

        for (Map.Entry<String, String> entry : generatedParameters.entrySet()) {

            sb.append("\t\t<generated-parameter name=\"");
            sb.append(entry.getKey());
            sb.append("\">");
            sb.append(entry.getValue());
            sb.append("</generated-parameter>\n");
        }

        Set<String> ignoredParameters = comparableRoute.getIgnoredParameters();

        for (String entry : ignoredParameters) {
            sb.append("\t\t<ignored-parameter name=\"");
            sb.append(entry);
            sb.append("\" />\n");
        }

        Map<String, String> implicitParameters = comparableRoute.getImplicitParameters();

        for (Map.Entry<String, String> entry : implicitParameters.entrySet()) {

            sb.append("\t\t<implicit-parameter name=\"");
            sb.append(entry.getKey());
            sb.append("\">");
            sb.append(entry.getValue());
            sb.append("</implicit-parameter>\n");
        }

        Map<String, String> overriddenParameters = comparableRoute.getOverriddenParameters();

        for (Map.Entry<String, String> entry : overriddenParameters.entrySet()) {

            sb.append("\t\t<overridden-parameter name=\"");
            sb.append(entry.getKey());
            sb.append("\">");
            sb.append(entry.getValue());
            sb.append("</overridden-parameter>\n");
        }

        sb.append("\t</route>\n");
    }

    sb.append("</routes>");

    return sb.toString();
}

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

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

License:Open Source License

protected void formatServiceXML(String fileName, String content) throws Exception {

    Document document = saxReaderUtil.read(content);

    Element rootElement = document.getRootElement();

    List<Element> entityElements = rootElement.elements("entity");

    String previousEntityName = StringPool.BLANK;

    for (Element entityElement : entityElements) {
        String entityName = entityElement.attributeValue("name");

        if (Validator.isNotNull(previousEntityName)
                && (previousEntityName.compareToIgnoreCase(entityName) > 0)) {

            processErrorMessage(fileName, "sort: " + fileName + " " + entityName);
        }//from  w ww.  ja  va2 s  .  com

        checkServiceXMLFinders(fileName, entityElement, entityName);
        checkServiceXMLReferences(fileName, entityElement, entityName);

        previousEntityName = entityName;
    }

    checkServiceXMLExceptions(fileName, rootElement);
}

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

License:Open Source License

protected void formatStrutsConfigXML(String fileName, String content) throws Exception {

    Document document = saxReaderUtil.read(content);

    Element rootElement = document.getRootElement();

    Element actionMappingsElement = rootElement.element("action-mappings");

    List<Element> actionElements = actionMappingsElement.elements("action");

    String previousPath = StringPool.BLANK;

    for (Element actionElement : actionElements) {
        String path = actionElement.attributeValue("path");

        if (Validator.isNotNull(previousPath) && (previousPath.compareTo(path) > 0)
                && (!previousPath.startsWith("/portal/") || path.startsWith("/portal/"))) {

            processErrorMessage(fileName, "sort: " + fileName + " " + path);
        }// ww  w.  ja v a2  s.  c om

        previousPath = path;
    }
}

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

License:Open Source License

protected void formatTilesDefsXML(String fileName, String content) throws Exception {

    Document document = saxReaderUtil.read(content);

    Element rootElement = document.getRootElement();

    List<Element> definitionElements = rootElement.elements("definition");

    String previousName = StringPool.BLANK;

    for (Element definitionElement : definitionElements) {
        String name = definitionElement.attributeValue("name");

        if (Validator.isNotNull(previousName) && (previousName.compareTo(name) > 0)
                && !previousName.equals("portlet")) {

            processErrorMessage(fileName, "sort: " + fileName + " " + name);
        }//www .  ja  v a2 s . co  m

        previousName = name;
    }
}

From source file:com.liferay.web.extender.internal.webbundle.WebBundleProcessor.java

License:Open Source License

protected void processLiferayPortletXML(String webContextpath) throws IOException {

    File liferayPortletXMLFile = new File(_deployedAppFolder, "WEB-INF/liferay-portlet.xml");

    if (!liferayPortletXMLFile.exists()) {
        return;//from w  ww .j  a va2 s. co m
    }

    String content = FileUtil.read(liferayPortletXMLFile);

    Document liferayPortletXMLDoc = null;

    try {
        liferayPortletXMLDoc = SAXReaderUtil.read(content);
    } catch (DocumentException de) {
        throw new IOException(de);
    }

    Element rootEl = liferayPortletXMLDoc.getRootElement();

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

    for (Element portletElement : portletElements) {
        Element previousChild = portletElement.element("virtual-path");

        if (previousChild == null) {
            previousChild = portletElement.element("icon");
        }

        if (previousChild == null) {
            previousChild = portletElement.element("portlet-name");
        }

        Element strutsPathElement = portletElement.element("struts-path");

        if (strutsPathElement == null) {
            List<Node> children = portletElement.content();

            int pos = children.indexOf(previousChild);

            strutsPathElement = SAXReaderUtil.createElement("struts-path");

            strutsPathElement.setText("osgi".concat(webContextpath));

            children.add(pos + 1, strutsPathElement);
        } else {
            String strutsPath = strutsPathElement.getTextTrim();

            if (!strutsPath.startsWith(StringPool.SLASH)) {
                strutsPath = StringPool.SLASH.concat(strutsPath);
            }

            strutsPath = "osgi".concat(webContextpath).concat(strutsPath);

            strutsPathElement.setText(strutsPath);
        }
    }

    content = DDMXMLUtil.formatXML(liferayPortletXMLDoc);

    FileUtil.write(liferayPortletXMLFile, content);
}

From source file:com.liferay.web.extender.internal.webbundle.WebBundleProcessor.java

License:Open Source License

protected void processPortletXML(String webContextpath) throws IOException {
    File portletXMLFile = new File(_deployedAppFolder, "WEB-INF/" + Portal.PORTLET_XML_FILE_NAME_STANDARD);

    if (!portletXMLFile.exists()) {
        return;//from ww  w  . j a  v  a2 s  . c  om
    }

    String content = FileUtil.read(portletXMLFile);

    Document document = null;

    try {
        document = SAXReaderUtil.read(content);
    } catch (DocumentException de) {
        throw new IOException(de);
    }

    Element rootElement = document.getRootElement();

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

    for (Element portletElement : portletElements) {
        String portletName = portletElement.elementText("portlet-name");

        String invokerPortletName = "osgi".concat(webContextpath).concat(StringPool.SLASH).concat(portletName);

        XPath xPath = SAXReaderUtil.createXPath(_INVOKER_PORTLET_NAME_XPATH);

        Element invokerPortletNameEl = (Element) xPath.selectSingleNode(portletElement);

        if (invokerPortletNameEl == null) {
            Element portletClassElement = portletElement.element("portlet-class");

            List<Node> children = portletElement.content();

            int pos = children.indexOf(portletClassElement);

            QName qName = rootElement.getQName();

            Element initParamElement = SAXReaderUtil
                    .createElement(SAXReaderUtil.createQName("init-param", qName.getNamespace()));

            initParamElement.addElement("name").setText("com.liferay.portal.invokerPortletName");
            initParamElement.addElement("value").setText(invokerPortletName);

            children.add(pos + 1, initParamElement);
        } else {
            Element valueElement = invokerPortletNameEl.element("value");

            invokerPortletName = valueElement.getTextTrim();

            if (!invokerPortletName.startsWith(StringPool.SLASH)) {
                invokerPortletName = StringPool.SLASH.concat(invokerPortletName);
            }

            invokerPortletName = "osgi".concat(webContextpath).concat(invokerPortletName);

            valueElement.setText(invokerPortletName);
        }
    }

    content = DDMXMLUtil.formatXML(document);

    FileUtil.write(portletXMLFile, content);
}

From source file:com.liferay.web.extender.internal.WebXMLLoader.java

License:Open Source License

protected static void loadContext(Bundle bundle, Element root, WebXML webXML) throws Exception {

    Hashtable<String, String> contextParams = webXML.getContextParams();

    for (Element element : root.elements("context-param")) {
        String contextParamName = element.element("param-name").getTextTrim();
        String contextParamValue = element.element("param-value").getTextTrim();

        webXML.setContextParam(contextParamName, contextParamValue);
    }//from w  w w  .j a  va2  s.com

    Map<String, ListenerDefinition> listeners = webXML.getListeners();

    for (Element listenerElement : root.elements("listener")) {
        String listenerClass = listenerElement.element("listener-class").getTextTrim();

        ListenerDefinition listenerDefinition = null;

        try {
            Object listener = bundle.loadClass(listenerClass).newInstance();

            listenerDefinition = new ListenerDefinition();

            listenerDefinition.setListener(listener);
            listenerDefinition.setContextParams(contextParams);
        } catch (Exception e) {
            if (_log.isWarnEnabled()) {
                _log.warn(e.getMessage());
            }

            continue;
        }

        listeners.put(listenerClass, listenerDefinition);
    }
}