/** * Return response body as {@link LockDiscovery} object. * @throws IllegalStateException when response does not represent a {@link LockDiscovery} * @throws DavException for failures in obtaining/parsing the response body */ public LockDiscovery getResponseBodyAsLockDiscovery(HttpResponse response) throws DavException { try { Document doc = getResponseBodyAsDocument(response.getEntity()); if (doc == null) { throw new DavException(response.getStatusLine().getStatusCode(), "no response body"); } Element root = doc.getDocumentElement(); if (!DomUtil.matches(root, DavConstants.XML_PROP, DavConstants.NAMESPACE) && DomUtil.hasChildElement(root, DavConstants.PROPERTY_LOCKDISCOVERY, DavConstants.NAMESPACE)) { throw new DavException(response.getStatusLine().getStatusCode(), "Missing DAV:prop response body in LOCK response."); } Element lde = DomUtil.getChildElement(root, DavConstants.PROPERTY_LOCKDISCOVERY, DavConstants.NAMESPACE); if (!DomUtil.hasChildElement(lde, DavConstants.XML_ACTIVELOCK, DavConstants.NAMESPACE)) { throw new DavException(response.getStatusLine().getStatusCode(), "The DAV:lockdiscovery must contain a least a single DAV:activelock in response to a successful LOCK request."); } return LockDiscovery.createFromXml(lde); } catch (IOException ex) { throw new DavException(response.getStatusLine().getStatusCode(), ex); } }
/** * Return response body as {@link LockDiscovery} object. * @throws IllegalStateException when response does not represent a {@link LockDiscovery} * @throws DavException for failures in obtaining/parsing the response body */ public LockDiscovery getResponseBodyAsLockDiscovery(HttpResponse response) throws DavException { try { Document doc = getResponseBodyAsDocument(response.getEntity()); if (doc == null) { throw new DavException(response.getStatusLine().getStatusCode(), "no response body"); } Element root = doc.getDocumentElement(); if (!DomUtil.matches(root, DavConstants.XML_PROP, DavConstants.NAMESPACE) && DomUtil.hasChildElement(root, DavConstants.PROPERTY_LOCKDISCOVERY, DavConstants.NAMESPACE)) { throw new DavException(response.getStatusLine().getStatusCode(), "Missing DAV:prop response body in LOCK response."); } Element lde = DomUtil.getChildElement(root, DavConstants.PROPERTY_LOCKDISCOVERY, DavConstants.NAMESPACE); if (!DomUtil.hasChildElement(lde, DavConstants.XML_ACTIVELOCK, DavConstants.NAMESPACE)) { throw new DavException(response.getStatusLine().getStatusCode(), "The DAV:lockdiscovery must contain a least a single DAV:activelock in response to a successful LOCK request."); } return LockDiscovery.createFromXml(lde); } catch (IOException ex) { throw new DavException(response.getStatusLine().getStatusCode(), ex); } }
if (ps.contains(DavPropertyName.LOCKDISCOVERY)) { DavProperty<?> p = ps.get(DavPropertyName.LOCKDISCOVERY); LockDiscovery ld = LockDiscovery.createFromXml(p.toXml(DomUtil.createDocument())); NodeId parentId = getParentId(uri, ps, sessionInfo); return retrieveLockInfo(ld, sessionInfo, nodeId, parentId);
if (ps.contains(DavPropertyName.LOCKDISCOVERY)) { DavProperty<?> p = ps.get(DavPropertyName.LOCKDISCOVERY); LockDiscovery ld = LockDiscovery.createFromXml(p.toXml(DomUtil.createDocument())); NodeId parentId = getParentId(uri, ps, sessionInfo); return retrieveLockInfo(ld, sessionInfo, nodeId, parentId);