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

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

Introduction

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

Prototype

@Override
    public String formattedString() throws IOException;

Source Link

Usage

From source file:com.liferay.dynamic.data.mapping.internal.util.DDMXMLImpl.java

License:Open Source License

protected void validate(Document document) throws Exception {
    XPath xPathSelector = _saxReader.createXPath("//dynamic-element");

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

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

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

        String name = StringUtil.toLowerCase(element.attributeValue("name"));

        if (Validator.isNull(name)) {
            throw new StructureDefinitionException(
                    "Element must have a name attribute " + element.formattedString());
        }//from   w  w w .  j a  v  a2 s .c om

        if (name.startsWith(DDMStructureConstants.XSD_NAME_RESERVED)) {
            throw new StructureDefinitionException("Element name " + name + " is reserved");
        }

        if (elementNames.contains(name)) {
            throw new StructureDuplicateElementException("Element with name " + name + " already exists");
        }

        elementNames.add(name);
    }
}

From source file:com.liferay.util.ant.Java2WsddTask.java

License:Open Source License

private static String _format(String content) throws Exception {
    content = HtmlUtil.stripComments(content);

    Document document = SAXReaderUtil.read(content);

    Element rootElement = document.getRootElement();

    Element serviceElement = rootElement.element("service");

    Map<String, Element> arrayMappingElements = new TreeMap<String, Element>();
    Map<String, Element> typeMappingElements = new TreeMap<String, Element>();
    Map<String, Element> operationElements = new TreeMap<String, Element>();
    Map<String, Element> parameterElements = new TreeMap<String, Element>();

    for (Element element : serviceElement.elements()) {
        String elementName = element.getName();

        if (elementName.equals("arrayMapping")) {
            element.detach();/*from w w  w  .  jav  a  2  s  .  co  m*/

            arrayMappingElements.put(element.formattedString(), element);
        } else if (elementName.equals("operation")) {
            element.detach();

            StringBundler sb = new StringBundler();

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

            sb.append(name);
            sb.append("_METHOD_");

            for (Element parameterElement : element.elements("parameter")) {
                String type = parameterElement.attributeValue("type");

                sb.append(type);
                sb.append("_PARAMETER_");
            }

            operationElements.put(sb.toString(), element);
        } else if (elementName.equals("parameter")) {
            element.detach();

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

            if (name.equals("allowedMethods")) {
                Attribute valueAttribute = element.attribute("value");

                String[] values = StringUtil.split(valueAttribute.getValue(), CharPool.SPACE);

                Arrays.sort(values);

                valueAttribute.setValue(StringUtil.merge(values, StringPool.SPACE));
            } else if (name.equals("schemaUnqualified")) {
                Attribute valueAttribute = element.attribute("value");

                String[] values = StringUtil.split(valueAttribute.getValue());

                Arrays.sort(values);

                valueAttribute.setValue(StringUtil.merge(values));
            }

            parameterElements.put(name, element);
        } else if (elementName.equals("typeMapping")) {
            element.detach();

            typeMappingElements.put(element.formattedString(), element);
        }
    }

    _addElements(serviceElement, arrayMappingElements);
    _addElements(serviceElement, typeMappingElements);
    _addElements(serviceElement, operationElements);
    _addElements(serviceElement, parameterElements);

    content = StringUtil.replace(document.formattedString(), "\"/>", "\" />");

    return content;
}