Example usage for org.dom4j.io XMLWriter write

List of usage examples for org.dom4j.io XMLWriter write

Introduction

In this page you can find the example usage for org.dom4j.io XMLWriter write.

Prototype

public void write(Object object) throws IOException 

Source Link

Document

Writes the given object which should be a String, a Node or a List of Nodes.

Usage

From source file:com.taobao.osceola.demo.acount.persist.service.impl.AccountPersistServiceImpl.java

License:Open Source License

/**
 * @param doc//from  www . j  a va 2  s  .c  o  m
 */
private void writeDocment(Document doc) throws AccountPersistException {
    Writer out = null;
    try {
        out = new OutputStreamWriter(new FileOutputStream(file), "utf-8");
        XMLWriter writer = new XMLWriter(out, OutputFormat.createPrettyPrint());
        writer.write(doc);
    } catch (Exception e) {
        throw new AccountPersistException("", e);
    } finally {
        try {
            if (out != null) {
                out.close();
            }
        } catch (IOException e) {
            throw new AccountPersistException("", e);
        }
    }
}

From source file:com.tedi.engine.XMLOutput.java

License:Open Source License

/**
 * Handles functionality of formatting and writing document.
 * /*from   w  w  w  .jav a  2  s.  com*/
 * @param doc
 *            The document
 * @return the cleaned document.
 * @throws Exception
 */
private String cleanDocument(Document doc) throws Exception {
    if (logger.isDebugEnabled()) {
        logger.debug("Cleaning the document object.");
    }
    String docStr = "";
    // --COMMENTED OUT 10-10-2005
    // JBG----------------------------------------------------------------------------------
    // if (dtd != null && dtd.length()>0) {
    // xmlUtils.setDocument(doc);
    // try {
    // AbstractSchemaDescriptor schema =
    // AbstractSchemaDescriptor.createDescriptor(absoluteDTD_URL.toString());
    // schema.processSchema(doc.getRootElement().getName());
    // xmlUtils.setSchema(schema);
    // xmlUtils.cleanDocument();
    // }
    // catch (Exception e) {
    // execResults.addMessage(ExecutionResults.M_WARNING,
    // ExecutionResults.J2EE_TARGET_ERR,
    // "Error removing optional attributes/elements: " + e.getMessage());
    // }
    // }
    // ----------------------------------------------------------------------------------------------------------------
    cleanElement(doc.getRootElement());
    StringWriter sw = new StringWriter();
    OutputFormat format = isCompact ? OutputFormat.createCompactFormat() : OutputFormat.createPrettyPrint();
    format.setExpandEmptyElements(false);
    XMLWriter writer = new XMLWriter(sw, format);
    writer.setMaximumAllowedCharacter(127);
    writer.write(doc);
    writer.close();
    docStr = sw.toString();
    if (isSuppressDocType && doc.getDocType() != null) {
        int ndx = docStr.indexOf("<" + doc.getRootElement().getName());
        docStr = docStr.substring(ndx);
    }
    return docStr;
}

From source file:com.test.android.push.xmpp.net.Connection.java

License:Open Source License

/**
 * Delivers the packet to this connection (without checking the recipient).
 * /* w  ww  .  ja  v a  2 s.c  o m*/
 * @param packet the packet to deliver
 */
public void deliver(Packet packet) {
    log.debug("SENT: " + packet.toXML());
    if (!isClosed()) {
        IoBuffer buffer = IoBuffer.allocate(4096);
        buffer.setAutoExpand(true);

        boolean errorDelivering = false;
        try {
            XMLWriter xmlSerializer = new XMLWriter(new IoBufferWriter(buffer, (CharsetEncoder) encoder.get()),
                    new OutputFormat());
            xmlSerializer.write(packet.getElement());
            xmlSerializer.flush();
            buffer.flip();
            ioSession.write(buffer);
        } catch (Exception e) {
            log.debug("Connection: Error delivering packet" + "\n" + this.toString(), e);
            errorDelivering = true;
        }
        if (errorDelivering) {
            close();
        } else {
            session.incrementServerPacketCount();
        }
    }
    log.debug("deliver() end...");
}

From source file:com.thinkberg.moxo.dav.LockHandler.java

License:Apache License

private void sendLockAcquiredResponse(HttpServletResponse response, Lock lock) throws IOException {
    response.setContentType("text/xml");
    response.setCharacterEncoding("UTF-8");
    response.setHeader(HEADER_LOCK_TOKEN, "<" + lock.getToken() + ">");

    Document propDoc = DocumentHelper.createDocument();
    Element propEl = propDoc.addElement(TAG_PROP, "DAV:");
    Element lockdiscoveryEl = propEl.addElement(TAG_LOCKDISCOVERY);

    lock.serializeToXml(lockdiscoveryEl);

    XMLWriter xmlWriter = new XMLWriter(response.getWriter());
    xmlWriter.write(propDoc);
    log(propDoc);// w  w w.ja va  2 s  . c om
}

From source file:com.thinkberg.moxo.dav.PropFindHandler.java

License:Apache License

public void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
    SAXReader saxReader = new SAXReader();
    try {/*from   ww w  . j  a v  a  2 s .  co  m*/
        Document propDoc = saxReader.read(request.getInputStream());
        // log(propDoc);
        Element propFindEl = propDoc.getRootElement();
        Element propEl = (Element) propFindEl.elementIterator().next();
        String propElName = propEl.getName();

        List<String> requestedProperties = new ArrayList<String>();
        boolean ignoreValues = false;
        if (TAG_PROP.equals(propElName)) {
            for (Object id : propEl.elements()) {
                requestedProperties.add(((Element) id).getName());
            }
        } else if (TAG_ALLPROP.equals(propElName)) {
            requestedProperties = DavResource.ALL_PROPERTIES;
        } else if (TAG_PROPNAMES.equals(propElName)) {
            requestedProperties = DavResource.ALL_PROPERTIES;
            ignoreValues = true;
        }

        FileObject object = getResourceManager().getFileObject(request.getPathInfo());
        if (object.exists()) {
            // respond as XML encoded multi status
            response.setContentType("text/xml");
            response.setCharacterEncoding("UTF-8");
            response.setStatus(SC_MULTI_STATUS);

            Document multiStatusResponse = getMultiStatusRespons(object, requestedProperties,
                    getBaseUrl(request), getDepth(request), ignoreValues);
            //log(multiStatusResponse);

            // write the actual response
            XMLWriter writer = new XMLWriter(response.getWriter(), OutputFormat.createCompactFormat());
            writer.write(multiStatusResponse);
            writer.flush();
            writer.close();

        } else {
            log("!! " + object.getName().getPath() + " NOT FOUND");
            response.sendError(HttpServletResponse.SC_NOT_FOUND);
        }
    } catch (DocumentException e) {
        log("!! inavlid request: " + e.getMessage());
        response.sendError(HttpServletResponse.SC_BAD_REQUEST);
    }
}

From source file:com.thinkberg.moxo.dav.PropPatchHandler.java

License:Apache License

public void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
    FileObject object = getResourceManager().getFileObject(request.getPathInfo());

    try {/*from   w ww. j a v  a2  s .c  o  m*/
        LockManager.getInstance().checkCondition(object, getIf(request));
    } catch (LockException e) {
        if (e.getLocks() != null) {
            response.sendError(SC_LOCKED);
        } else {
            response.sendError(HttpServletResponse.SC_PRECONDITION_FAILED);
        }
        return;
    }

    SAXReader saxReader = new SAXReader();
    try {
        Document propDoc = saxReader.read(request.getInputStream());
        //      log(propDoc);

        response.setContentType("text/xml");
        response.setCharacterEncoding("UTF-8");
        response.setStatus(SC_MULTI_STATUS);

        if (object.exists()) {
            Document resultDoc = DocumentHelper.createDocument();
            Element multiStatusResponse = resultDoc.addElement("multistatus", "DAV:");
            Element responseEl = multiStatusResponse.addElement("response");
            try {
                URL url = new URL(getBaseUrl(request), URLEncoder.encode(object.getName().getPath(), "UTF-8"));
                log("!! " + url);
                responseEl.addElement("href").addText(url.toExternalForm());
            } catch (Exception e) {
                e.printStackTrace();
            }

            Element propstatEl = responseEl.addElement("propstat");
            Element propEl = propstatEl.addElement("prop");

            Element propertyUpdateEl = propDoc.getRootElement();
            for (Object elObject : propertyUpdateEl.elements()) {
                Element el = (Element) elObject;
                if ("set".equals(el.getName())) {
                    for (Object propObject : el.elements()) {
                        setProperty(propEl, object, (Element) propObject);
                    }
                } else if ("remove".equals(el.getName())) {
                    for (Object propObject : el.elements()) {
                        removeProperty(propEl, object, (Element) propObject);
                    }
                }
            }
            propstatEl.addElement("status").addText(DavResource.STATUS_403);

            //        log(resultDoc);

            // write the actual response
            XMLWriter writer = new XMLWriter(response.getWriter(), OutputFormat.createCompactFormat());
            writer.write(resultDoc);
            writer.flush();
            writer.close();
        } else {
            log("!! " + object.getName().getPath() + " NOT FOUND");
            response.sendError(HttpServletResponse.SC_NOT_FOUND);
        }
    } catch (DocumentException e) {
        log("!! inavlid request: " + e.getMessage());
        response.sendError(HttpServletResponse.SC_BAD_REQUEST);
    }
}

From source file:com.thinkberg.moxo.dav.WebdavHandler.java

License:Apache License

void log(Node element) {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    try {//from   w  w  w .j  av a 2s.  co  m
        XMLWriter xmlWriter = new XMLWriter(bos, OutputFormat.createPrettyPrint());
        xmlWriter.write(element);
        System.out.print(bos.toString());
    } catch (IOException e) {
        servlet.log("!! " + e.getMessage());
    }
}

From source file:com.thinkberg.webdav.LockHandler.java

License:Apache License

private void sendLockAcquiredResponse(HttpServletResponse response, Lock lock) throws IOException {
    if (!lock.getObject().exists()) {
        response.setStatus(SC_CREATED);/*from   w  ww. jav  a 2  s.  c o  m*/
    }
    response.setContentType("text/xml");
    response.setCharacterEncoding("UTF-8");
    response.setHeader(HEADER_LOCK_TOKEN, "<" + lock.getToken() + ">");

    Document propDoc = DocumentHelper.createDocument();
    Element propEl = propDoc.addElement(TAG_PROP, "DAV:");
    Element lockdiscoveryEl = propEl.addElement(TAG_LOCKDISCOVERY);

    lock.serializeToXml(lockdiscoveryEl);

    XMLWriter xmlWriter = new XMLWriter(response.getWriter());
    xmlWriter.write(propDoc);

    logXml(propDoc);
}

From source file:com.thinkberg.webdav.LockHandler.java

License:Apache License

protected void logXml(Node element) {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    try {//from w  w  w.j  a  v  a2s.  c om
        XMLWriter xmlWriter = new XMLWriter(bos, OutputFormat.createPrettyPrint());
        xmlWriter.write(element);
        LOG.debug(bos.toString());
    } catch (IOException e) {
        LOG.debug("ERROR writing XML log: " + e.getMessage());
    }
}

From source file:com.thinkberg.webdav.PropFindHandler.java

License:Apache License

/**
 * Handle a PROPFIND request.//from  w  w  w . jav  a 2s .com
 *
 * @param request  the servlet request
 * @param response the servlet response
 * @throws IOException if there is an error that cannot be handled normally
 */
public void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
    SAXReader saxReader = new SAXReader();
    try {
        Document propDoc = saxReader.read(request.getInputStream());
        logXml(propDoc);

        Element propFindEl = propDoc.getRootElement();
        for (Object propElObject : propFindEl.elements()) {
            Element propEl = (Element) propElObject;
            if (VALID_PROPFIND_TAGS.contains(propEl.getName())) {
                FileObject object = VFSBackend.resolveFile(request.getPathInfo());
                if (object.exists()) {
                    // respond as XML encoded multi status
                    response.setContentType("text/xml");
                    response.setCharacterEncoding("UTF-8");
                    response.setStatus(SC_MULTI_STATUS);

                    Document multiStatusResponse = getMultiStatusResponse(object, propEl, getBaseUrl(request),
                            getDepth(request));
                    logXml(multiStatusResponse);

                    // write the actual response
                    XMLWriter writer = new XMLWriter(response.getWriter(), OutputFormat.createCompactFormat());
                    writer.write(multiStatusResponse);
                    writer.flush();
                    writer.close();

                } else {
                    response.sendError(HttpServletResponse.SC_NOT_FOUND);
                }
                break;
            }
        }
    } catch (DocumentException e) {
        LOG.error("invalid request: " + e.getMessage());
        response.sendError(HttpServletResponse.SC_BAD_REQUEST);
    }
}