Example usage for org.apache.commons.httpclient URIException getReason

List of usage examples for org.apache.commons.httpclient URIException getReason

Introduction

In this page you can find the example usage for org.apache.commons.httpclient URIException getReason.

Prototype

public String getReason() 

Source Link

Document

Get the reason message.

Usage

From source file:org.apache.webdav.lib.properties.AclProperty.java

/**
 * Parse an ace./*ww  w. j  a v a 2  s.com*/
 */
protected Ace parseAce(Element element) {

    String principal = null;
    Element child = DOMUtils.getFirstElement(element, "DAV:", "principal");
    if (child == null) {
        System.err.println("Error: mandatory element <principal> is missing !");
        System.err.println("element: " + element);
        return null;
    }

    Element href = DOMUtils.getFirstElement(child, "DAV:", "href");
    if (href != null) {
        principal = DOMUtils.getTextValue(href);
        try {
            principal = URIUtil.decode(principal);
        } catch (URIException e) {
            System.err.println("Warning: decoding href element failed!");
            System.err.println("reason: " + e.getReason());
        }
    }

    String[] types = { "all", "authenticated", "unauthenticated", "property", "self" };
    for (int i = 0; i < types.length && principal == null; i++) {
        Element type = DOMUtils.getFirstElement(child, "DAV:", types[i]);
        if (type != null) {
            principal = types[i];
        }
    }

    if (principal == null) {
        System.err.println("Error: unknown type of principal");
        System.err.println("element: " + element);
        return null;
    }

    Ace ace = new Ace(principal);

    child = DOMUtils.getFirstElement(element, "DAV:", "grant");
    if (child == null) {
        child = DOMUtils.getFirstElement(element, "DAV:", "deny");
        ace.setNegative(true);
    }
    if (child != null) {
        NodeList privilegeElements = child.getElementsByTagNameNS("DAV:", "privilege");
        for (int i = 0; i < privilegeElements.getLength(); i++) {
            Element privilegeElement = (Element) privilegeElements.item(i);
            NodeList privileges = privilegeElement.getElementsByTagName("*");
            for (int j = 0; j < privileges.getLength(); j++) {
                Element privilege = (Element) privileges.item(j);
                ace.addPrivilege(parsePrivilege(privilege));
            }
        }
    }

    child = DOMUtils.getFirstElement(element, "DAV:", "inherited");
    if (child != null) {
        href = DOMUtils.getFirstElement(child, "DAV:", "href");
        String shref = null;
        if (href != null) {
            shref = DOMUtils.getTextValue(href);
            if (!shref.equals(response.getHref())) {
                ace.setInherited(true);
                ace.setInheritedFrom(shref);
            }
        } else {
            System.err.println("Error: mandatory element <href> is missing !");
            return null;
        }
    }

    child = DOMUtils.getFirstElement(element, "DAV:", "protected");
    if (child != null) {
        ace.setProtected(true);
    }

    child = DOMUtils.getFirstElement(element, "http://jakarta.apache.org/slide/", "non-inheritable");
    if (child != null) {
        ace.setInheritable(false);
    }

    return ace;

}

From source file:org.pengyou.client.lib.properties.AclProperty.java

/**
 * Parse an ace.//from www .  j  a va  2s. co  m
 */
protected Ace parseAce(Element element) {

    String principal = null;
    Element child = DOMUtils.getFirstElement(element, "DAV:", "principal");
    if (child == null) {
        System.err.println("Error: mandatory element <principal> is missing !");
        System.err.println("element: " + element);
        return null;
    }

    Element href = DOMUtils.getFirstElement(child, "DAV:", "href");
    if (href != null) {
        principal = DOMUtils.getTextValue(href);
        try {
            principal = URIUtil.decode(principal);
        } catch (URIException e) {
            System.err.println("Warning: decoding href element failed!");
            System.err.println("reason: " + e.getReason());
        }
    }

    String[] types = { "all", "authenticated", "unauthenticated", "property", "self" };
    for (int i = 0; i < types.length && principal == null; i++) {
        Element type = DOMUtils.getFirstElement(child, "DAV:", types[i]);
        if (type != null) {
            principal = types[i];
        }
    }

    if (principal == null) {
        System.err.println("Error: unknown type of principal");
        System.err.println("element: " + element);
        return null;
    }

    Ace ace = new Ace(principal);

    child = DOMUtils.getFirstElement(element, "DAV:", "grant");
    if (child == null) {
        child = DOMUtils.getFirstElement(element, "DAV:", "deny");
        ace.setNegative(true);
    }
    if (child != null) {
        NodeList privilegeElements = child.getElementsByTagNameNS("DAV:", "privilege");
        for (int i = 0; i < privilegeElements.getLength(); i++) {
            Element privilegeElement = (Element) privilegeElements.item(i);
            NodeList privileges = privilegeElement.getElementsByTagName("*");
            for (int j = 0; j < privileges.getLength(); j++) {
                Element privilege = (Element) privileges.item(j);
                ace.addPrivilege(parsePrivilege(privilege));
            }
        }
    }

    child = DOMUtils.getFirstElement(element, "DAV:", "inherited");
    if (child != null) {
        href = DOMUtils.getFirstElement(child, "DAV:", "href");
        String shref = null;
        if (href != null) {
            shref = DOMUtils.getTextValue(href);
            if (!shref.equals(response.getHref())) {
                ace.setInherited(true);
                ace.setInheritedFrom(shref);
            }
        } else {
            System.err.println("Error: mandatory element <href> is missing !");
            return null;
        }
    }

    child = DOMUtils.getFirstElement(element, "DAV:", "protected");
    if (child != null) {
        ace.setProtected(true);
    }

    return ace;

}