private Message successMultiStatus(MULTISTATUS multiStatus) { final Document doc = new Document(XML_DECLARATION, multiStatus); return Response.build(SUCCESS_MULTI_STATUS) .header(CONTENT_TYPE) .set(APPLICATION_XML.toString()) .setBody(CHARSET_UTF_8.encode(XMLWriter.write(doc))); }
@LOCK public Message lock(@PathTranslated Path path, Depth depth) throws IOException { final Resource resource = resolveResource(path); if (resource.exists()) { final Lock lock = resource.lock(WRITE, EXCLUSIVE); final ACTIVE_LOCK activelock = activeLock(lock, depth, relativizeResource(resource)); final Element lockDiscovery = lockDiscovery(activelock); final Element prop = prop(lockDiscovery); final Document doc = new Document(XML_DECLARATION, prop); return Response.build(SUCCESS_OK) .header(LOCK_TOKEN) .set("<" + lock.token() + ">") .setBody(Charset.defaultCharset().encode(XMLWriter.write(doc))); } else { return clientErrorNotFound(); } }
private final Document getPropfind(final ByteBuffer buffer) throws IOException { Document document = SNAX.parse(CHARSET_UTF_8.decode(buffer)); LOG.debug("Request Body: " + XMLWriter.write(document)); return document; }