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:org.apache.openmeetings.util.LangExport.java

License:Apache License

public static void serializetoXML(Writer out, String aEncodingScheme, Document doc) throws Exception {
    OutputFormat outformat = OutputFormat.createPrettyPrint();
    outformat.setEncoding(aEncodingScheme);
    XMLWriter writer = new XMLWriter(out, outformat);
    writer.write(doc);
    writer.flush();/*  w w w  .  j a va 2  s .co  m*/
}

From source file:org.apache.openmeetings.util.XmlExport.java

License:Apache License

public static void toXml(Writer out, Document doc) throws Exception {
    OutputFormat outformat = OutputFormat.createPrettyPrint();
    outformat.setEncoding(StandardCharsets.UTF_8.name());
    XMLWriter writer = new XMLWriter(out, outformat);
    writer.write(doc);
    writer.flush();/* w  w  w  . j a v  a2s. c o m*/
    out.flush();
    out.close();
}

From source file:org.apache.poi.openxml4j.opc.StreamHelper.java

License:Apache License

/**
 * Turning the DOM4j object in the specified output stream.
 *
 * @param xmlContent/*from ww  w.jav  a 2  s . c om*/
 *            The XML document.
 * @param outStream
 *            The OutputStream in which the XML document will be written.
 * @return <b>true</b> if the xml is successfully written in the stream,
 *         else <b>false</b>.
 */
public static boolean saveXmlInStream(Document xmlContent, OutputStream outStream) {
    try {
        OutputFormat outformat = OutputFormat.createPrettyPrint();
        outformat.setEncoding("UTF-8");
        XMLWriter writer = new XMLWriter(outStream, outformat);
        writer.write(xmlContent);
    } catch (Exception e) {
        return false;
    }
    return true;
}

From source file:org.apache.taglibs.xtags.xpath.CopyOfTag.java

License:Apache License

public int doEndTag() throws JspException {
    Object input = getInputNodes();
    if (xpath != null) {
        input = xpath.selectNodes(input);
    }/*from   w w  w .  j a v a 2  s . c  om*/
    if (input != null) {
        try {
            XMLWriter writer = TagHelper.getXMLWriter(pageContext, this);
            writer.write(input);
        } catch (IOException e) {
            handleException(e);
        }
    }
    return EVAL_PAGE;
}

From source file:org.apache.taglibs.xtags.xpath.JspCopyOfAction.java

License:Apache License

public void run(Node node) throws Exception {
    if (node != null) {
        XMLWriter writer = getXMLWriter();
        writer.setWriter(pageContext.getOut());
        writer.write(node);
        writer.flush();//from   w  w  w  .  j  a va2  s .  co m
    }
}

From source file:org.apereo.portal.layout.dlm.RDBMDistributedLayoutStore.java

License:Apache License

private org.dom4j.Element getExportLayoutDom(IPerson person, IUserProfile profile) {
    if (!this.layoutExistsForUser(person)) {
        return null;
    }//from  w ww .j  ava2 s.  co m

    org.dom4j.Document layoutDoc = null;
    try {
        final Document layoutDom = this._safeGetUserLayout(person, profile);
        person.setAttribute(Constants.PLF, layoutDom);
        layoutDoc = this.reader.get().read(layoutDom);
    } catch (final Throwable t) {
        final String msg = "Unable to obtain layout & profile for user '" + person.getUserName()
                + "', profileId " + profile.getProfileId();
        throw new RuntimeException(msg, t);
    }

    if (logger.isDebugEnabled()) {
        // Write out this version of the layout to the log for dev purposes...
        final StringWriter str = new StringWriter();
        final XMLWriter xml = new XMLWriter(str, new OutputFormat("  ", true));
        try {
            xml.write(layoutDoc);
            xml.close();
        } catch (final Throwable t) {
            throw new RuntimeException(
                    "Failed to write the layout for user '" + person.getUserName() + "' to the DEBUG log", t);
        }
        logger.debug("Layout for user: {}\n{}", person.getUserName(), str.getBuffer().toString());
    }

    /*
     * Attempt to detect a corrupted layout; return null in such cases
     */

    if (isLayoutCorrupt(layoutDoc)) {
        logger.warn("Layout for user: {} is corrupt; layout structures will not be exported.",
                person.getUserName());
        return null;
    }

    /*
     * Clean up the DOM for export.
     */

    // (1) Add structure & theme attributes...
    final int structureStylesheetId = profile.getStructureStylesheetId();
    this.addStylesheetUserPreferencesAttributes(person, profile, layoutDoc, structureStylesheetId, "structure");

    final int themeStylesheetId = profile.getThemeStylesheetId();
    this.addStylesheetUserPreferencesAttributes(person, profile, layoutDoc, themeStylesheetId, "theme");

    // (2) Remove locale info...
    final Iterator<org.dom4j.Attribute> locale = (Iterator<org.dom4j.Attribute>) layoutDoc
            .selectNodes("//@locale").iterator();
    while (locale.hasNext()) {
        final org.dom4j.Attribute loc = locale.next();
        loc.getParent().remove(loc);
    }

    // (3) Scrub unnecessary channel information...
    for (final Iterator<org.dom4j.Element> orphanedChannels = (Iterator<org.dom4j.Element>) layoutDoc
            .selectNodes("//channel[@fname = '']").iterator(); orphanedChannels.hasNext();) {
        // These elements represent UP_LAYOUT_STRUCT rows where the
        // CHAN_ID field was not recognized by ChannelRegistryStore;
        // best thing to do is remove the elements...
        final org.dom4j.Element ch = orphanedChannels.next();
        ch.getParent().remove(ch);
    }
    final List<String> channelAttributeWhitelist = Arrays.asList(new String[] { "fname", "unremovable",
            "hidden", "immutable", "ID", "dlm:plfID", "dlm:moveAllowed", "dlm:deleteAllowed" });
    final Iterator<org.dom4j.Element> channels = (Iterator<org.dom4j.Element>) layoutDoc
            .selectNodes("//channel").iterator();
    while (channels.hasNext()) {
        final org.dom4j.Element oldCh = channels.next();
        final org.dom4j.Element parent = oldCh.getParent();
        final org.dom4j.Element newCh = this.fac.createElement("channel");
        for (final String aName : channelAttributeWhitelist) {
            final org.dom4j.Attribute a = (org.dom4j.Attribute) oldCh.selectSingleNode("@" + aName);
            if (a != null) {
                newCh.addAttribute(a.getQName(), a.getValue());
            }
        }
        parent.elements().add(parent.elements().indexOf(oldCh), newCh);
        parent.remove(oldCh);
    }

    // (4) Convert internal DLM noderefs to external form (pathrefs)...
    for (final Iterator<org.dom4j.Attribute> origins = (Iterator<org.dom4j.Attribute>) layoutDoc
            .selectNodes("//@dlm:origin").iterator(); origins.hasNext();) {
        final org.dom4j.Attribute org = origins.next();
        final Pathref dlmPathref = this.nodeReferenceFactory.getPathrefFromNoderef(
                (String) person.getAttribute(IPerson.USERNAME), org.getValue(), layoutDoc.getRootElement());
        if (dlmPathref != null) {
            // Change the value only if we have a valid pathref...
            org.setValue(dlmPathref.toString());
        } else {
            if (logger.isWarnEnabled()) {
                logger.warn("Layout element '{}' from user '{}' failed to match noderef '{}'",
                        org.getUniquePath(), person.getAttribute(IPerson.USERNAME), org.getValue());
            }
        }
    }
    for (final Iterator<org.dom4j.Attribute> it = (Iterator<org.dom4j.Attribute>) layoutDoc
            .selectNodes("//@dlm:target").iterator(); it.hasNext();) {
        final org.dom4j.Attribute target = it.next();
        final Pathref dlmPathref = this.nodeReferenceFactory.getPathrefFromNoderef(
                (String) person.getAttribute(IPerson.USERNAME), target.getValue(), layoutDoc.getRootElement());
        if (dlmPathref != null) {
            // Change the value only if we have a valid pathref...
            target.setValue(dlmPathref.toString());
        } else {
            if (logger.isWarnEnabled()) {
                logger.warn("Layout element '{}' from user '{}' failed to match noderef '{}'",
                        target.getUniquePath(), person.getAttribute(IPerson.USERNAME), target.getValue());
            }
        }
    }
    for (final Iterator<org.dom4j.Attribute> names = (Iterator<org.dom4j.Attribute>) layoutDoc
            .selectNodes("//dlm:*/@name").iterator(); names.hasNext();) {
        final org.dom4j.Attribute n = names.next();
        if (n.getValue() == null || n.getValue().trim().length() == 0) {
            // Outer <dlm:positionSet> elements don't seem to use the name
            // attribute, though their childern do.  Just skip these so we
            // don't send a false WARNING.
            continue;
        }
        final Pathref dlmPathref = this.nodeReferenceFactory.getPathrefFromNoderef(
                (String) person.getAttribute(IPerson.USERNAME), n.getValue(), layoutDoc.getRootElement());
        if (dlmPathref != null) {
            // Change the value only if we have a valid pathref...
            n.setValue(dlmPathref.toString());
            // These *may* have fnames...
            if (dlmPathref.getPortletFname() != null) {
                n.getParent().addAttribute("fname", dlmPathref.getPortletFname());
            }
        } else {
            if (logger.isWarnEnabled()) {
                logger.warn("Layout element '{}' from user '{}' failed to match noderef '{}'",
                        n.getUniquePath(), person.getAttribute(IPerson.USERNAME), n.getValue());
            }
        }
    }

    // Remove synthetic Ids, but from non-fragment owners only...
    if (!this.isFragmentOwner(person)) {

        /*
         * In the case of fragment owners, the original database Ids allow
         * us keep (not break) the associations that subscribers have with
         * nodes on the fragment layout.
         */

        // (5) Remove dlm:plfID...
        for (final Iterator<org.dom4j.Attribute> plfid = (Iterator<org.dom4j.Attribute>) layoutDoc
                .selectNodes("//@dlm:plfID").iterator(); plfid.hasNext();) {
            final org.dom4j.Attribute plf = plfid.next();
            plf.getParent().remove(plf);
        }

        // (6) Remove database Ids...
        for (final Iterator<org.dom4j.Attribute> ids = (Iterator<org.dom4j.Attribute>) layoutDoc
                .selectNodes("//@ID").iterator(); ids.hasNext();) {
            final org.dom4j.Attribute a = ids.next();
            a.getParent().remove(a);
        }
    }

    return layoutDoc.getRootElement();
}

From source file:org.arangitester.log.XmlResult.java

License:Apache License

public void save(File file, FunctionalSuite result) {

    // file indicates a pathname
    Document document = DocumentHelper.createDocument(); // create a new xml document
    Element root = document.addElement("LccFunctionalSuite"); // create the root tag named LccFunctionalSuite
    if (result == null)
        return;/*from  w w  w. j  a v a  2  s. com*/

    SummaryHelper summary = new SummaryHelper(result);

    root.addAttribute("totalTime", String.valueOf(summary.getTotalTime()));
    System.out.println("Tempo de Execuo: " + summary.getTotalTime() + " min");
    root.addAttribute("total", String.valueOf(summary.getTotal()));
    System.out.println("Total: " + summary.getTotal());
    root.addAttribute("skip", String.valueOf(summary.getSkip()));
    System.out.println("Skiped: " + summary.getSkip());
    root.addAttribute("fail", String.valueOf(summary.getFail()));
    System.out.println("Fail: " + summary.getFail());
    root.addAttribute("successful", String.valueOf(summary.getSuccessful()));
    System.out.println("Successful: " + summary.getSuccessful());
    root.addAttribute("percent", String.valueOf(summary.getPercent()));
    System.out.println("Sucessful: " + summary.getPercent() + "%");

    for (UseCase usecase : result.getCases()) {
        Element userCaseElement = root.addElement("UseCase").addAttribute("name", usecase.getName())
                .addAttribute("startTime", getFormatedDate((usecase.getStartTime())))
                .addAttribute("endTime", getFormatedDate(usecase.getEndTime()));

        for (String obs : usecase.getObs()) {
            Element obsElement = userCaseElement.addElement("Obs");
            obsElement.addText(obs);
        }

        for (Object log : usecase.getlogs()) {
            if (log instanceof Info) {
                userCaseElement.addElement("info").addText(((Info) log).getMessage());
            } else {
                Error error = ((Error) log);
                Element errorElement = userCaseElement.addElement("error").addAttribute("cause",
                        error.getCause());
                if (error.getScreenshot() != null)
                    errorElement.addAttribute("screenshot", error.getScreenshot());

                if (error.getError() != null)
                    errorElement.addText(error.getError());
            }
        }

        for (TestCase testcase : usecase.getTestcases()) {
            Element testCaseElement = userCaseElement.addElement("TestCase")
                    .addAttribute("name", testcase.getJavaMethod())
                    .addAttribute("description", testcase.getTestcase())
                    .addAttribute("startTime", getFormatedDate(testcase.getStartTime()))
                    .addAttribute("endTime", getFormatedDate(testcase.getEndTime()))
                    .addAttribute("skip", String.valueOf(testcase.isSkip()));

            for (Object log : testcase.getlogs()) {
                if (log instanceof Info) {
                    testCaseElement.addElement("info").addText(((Info) log).getMessage());
                } else {
                    Error error = ((Error) log);
                    Element errorElement = testCaseElement.addElement("error").addAttribute("cause",
                            error.getCause());
                    if (error.getScreenshot() != null)
                        errorElement.addAttribute("screenshot", error.getScreenshot());

                    if (error.getError() != null)
                        errorElement.addText(error.getError());
                }
            }

        }
    }
    // End of the document building
    // Now, we will start to write in document
    try {
        file.getParentFile().mkdirs();
        file.createNewFile();
        OutputFormat outformat = OutputFormat.createPrettyPrint();
        XMLWriter write = new XMLWriter(new FileWriter(file), outformat); // Initialize the xml file
        write.write(document); // Write the final document on xml file
        write.close();
    } catch (IOException e) {
        System.out.println("Erro durante a gravao no arquivo " + file + " :\n" + e.toString());
    }

}

From source file:org.arquillian.graphene.visual.testing.impl.JCRMaskHandler.java

private void writeDocumentToFile(String suiteName, Document doc) {
    File toWrite = new File("suite.xml");
    try {/*from w  w  w .  jav  a  2  s . c o  m*/
        XMLWriter writer = new XMLWriter(new FileOutputStream(toWrite), OutputFormat.createPrettyPrint());
        writer.write(doc);
        crawlingMasksDoneEvent.fire(new CrawlMaskToJCREvent(toWrite, suiteName));
    } catch (IOException ex) {
        Logger.getLogger(JCRMaskHandler.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:org.ballproject.knime.base.config.CTDNodeConfigurationWriter.java

License:Open Source License

public void write(String filename) throws IOException {
    OutputFormat format = OutputFormat.createPrettyPrint();

    XMLWriter writer = new XMLWriter(new FileWriter(filename), format);
    writer.write(doc);

    writer.close();/*w ww  . j av a 2 s .  c  om*/
}

From source file:org.ballproject.knime.base.config.CTDNodeConfigurationWriter.java

License:Open Source License

public void writeINI(String filename) throws IOException {
    OutputFormat format = OutputFormat.createPrettyPrint();

    XMLWriter writer = new XMLWriter(new FileWriter(filename), format);
    writer.write(doc.selectSingleNode("//PARAMETERS"));

    writer.close();//w  w w  . jav  a2  s .  c  o m
}