Example usage for com.liferay.portal.kernel.xml Node asXPathResult

List of usage examples for com.liferay.portal.kernel.xml Node asXPathResult

Introduction

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

Prototype

public Node asXPathResult(Element parent);

Source Link

Usage

From source file:com.liferay.portlet.dynamicdatamapping.model.impl.DDMStructureImpl.java

License:Open Source License

public Map<String, String> getFields(String fieldName, String attributeName, String attributeValue,
        String locale) {//from  www  .jav  a2  s. c om

    try {
        StringBundler sb = new StringBundler(7);

        sb.append("//dynamic-element[@name=\"");
        sb.append(fieldName);
        sb.append("\"] //dynamic-element[@");
        sb.append(attributeName);
        sb.append("=\"");
        sb.append(attributeValue);
        sb.append("\"]");

        XPath xPathSelector = SAXReaderUtil.createXPath(sb.toString());

        Node node = xPathSelector.selectSingleNode(getDocument());

        if (node != null) {
            return _getField((Element) node.asXPathResult(node.getParent()), locale);
        }
    } catch (Exception e) {
        _log.error(e, e);
    }

    return null;
}

From source file:com.liferay.portlet.dynamicdatamapping.model.impl.DDMStructureImpl.java

License:Open Source License

private Map<String, String> _getField(Element element, String locale) {
    Map<String, String> field = new HashMap<String, String>();

    List<String> availableLocales = getAvailableLocales();

    if ((locale != null) && !(availableLocales.contains(locale))) {
        locale = getDefaultLocale();/*from   ww w .  j a  va 2s .c o  m*/
    }

    String xPathExpression = "meta-data[@locale=\"".concat(locale).concat("\"]");

    XPath xPathSelector = SAXReaderUtil.createXPath(xPathExpression);

    Node node = xPathSelector.selectSingleNode(element);

    Element metaDataElement = (Element) node.asXPathResult(node.getParent());

    if (metaDataElement != null) {
        List<Element> childMetaDataElements = metaDataElement.elements();

        for (Element childMetaDataElement : childMetaDataElements) {
            String name = childMetaDataElement.attributeValue("name");
            String value = childMetaDataElement.getText();

            field.put(name, value);
        }
    }

    for (Attribute attribute : element.attributes()) {
        field.put(attribute.getName(), attribute.getValue());
    }

    return field;
}

From source file:it.smc.calendar.sync.caldav.util.CalDAVUtil.java

License:Open Source License

public static Element getReportDateFilter() throws InvalidRequestException {
    try {//from  w ww  .  j a  va2 s.c  om
        Document document = CalDAVRequestThreadLocal.getRequestDocument();

        String xPathExpression = "//*[local-name()='time-range']";

        XPath xPathSelector = SAXReaderUtil.createXPath(xPathExpression);

        Node node = xPathSelector.selectSingleNode(document);

        if (node == null) {
            return null;
        }

        Element timeRangeElement = (Element) node.asXPathResult(node.getParent());

        return timeRangeElement;
    } catch (Exception e) {
        throw new InvalidRequestException(e);
    }
}