Example usage for org.dom4j.io XMLWriter setWriter

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

Introduction

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

Prototype

public void setWriter(Writer writer) 

Source Link

Usage

From source file:com.gote.pojo.Tournament.java

License:Apache License

/**
 * Transform Tournament in a formatted XML
 * /*from www  . ja v  a2 s .c  o m*/
 * @return XML to write as a String
 */
public String toXML() {
    // Create document
    Document doc = DocumentHelper.createDocument();

    // Create tournament element
    Element root = doc.addElement(TournamentGOTEUtil.TAG_TOURNAMENT);
    // Add attributes
    root.addAttribute(TournamentGOTEUtil.ATT_TOURNAMENT_NAME, getTitle());
    root.addAttribute(TournamentGOTEUtil.ATT_TOURNAMENT_SERVER, getServerType());
    root.addAttribute(TournamentGOTEUtil.ATT_TOURNAMENT_DATESTART, getStartDate().toString());
    root.addAttribute(TournamentGOTEUtil.ATT_TOURNAMENT_DATEEND, getEndDate().toString());

    // Add rules
    getTournamentRules().toXML(root);

    // Add players
    Element players = root.addElement(TournamentGOTEUtil.TAG_PLAYERS);
    for (Player player : getParticipantsList()) {
        player.toXML(players);
    }
    // Add rounds
    Element rounds = root.addElement(TournamentGOTEUtil.TAG_ROUNDS);
    for (Round round : getRounds()) {
        round.toXML(rounds);
    }

    StringWriter out = new StringWriter(1024);
    XMLWriter writer;
    try {
        writer = new XMLWriter(OutputFormat.createPrettyPrint());
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
        return null;
    }
    writer.setWriter(out);
    try {
        writer.write(doc);
    } catch (IOException e) {
        e.printStackTrace();
    }

    // Return the friendly XML
    return out.toString();
}

From source file:org.alfresco.web.bean.dashboard.PageConfig.java

License:Open Source License

/**
 * Convert this config to an XML definition which can be serialized.
 * Example://from  w  w w  .j a  v a  2  s . co  m
 * <code>
 * <?xml version="1.0"?>
 * <dashboard>
 *    <page id="main" layout-id="narrow-left-2column">
 *       <column>
 *          <dashlet idref="clock" />
 *          <dashlet idref="random-joke" />
 *       </column>
 *       <column>
 *          <dashlet idref="getting-started" />
 *          <dashlet idref="task-list" />
 *          <dashlet idref="my-checkedout-docs" />
 *          <dashlet idref="my-documents" />
 *       </column>
 *    </page>
 * </dashboard>
 * </code>
 * 
 * @return XML for this config
 */
public String toXML() {
    try {
        Document doc = DocumentHelper.createDocument();

        Element root = doc.addElement(ELEMENT_DASHBOARD);
        for (Page page : pages) {
            Element pageElement = root.addElement(ELEMENT_PAGE);
            pageElement.addAttribute(ATTR_ID, page.getId());
            pageElement.addAttribute(ATTR_LAYOUTID, page.getLayoutDefinition().Id);
            for (Column column : page.getColumns()) {
                Element columnElement = pageElement.addElement(ELEMENT_COLUMN);
                for (DashletDefinition dashletDef : column.getDashlets()) {
                    columnElement.addElement(ELEMENT_DASHLET).addAttribute(ATTR_REFID, dashletDef.Id);
                }
            }
        }

        StringWriter out = new StringWriter(512);
        XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint());
        writer.setWriter(out);
        writer.write(doc);

        return out.toString();
    } catch (Throwable err) {
        throw new AlfrescoRuntimeException(
                "Unable to serialize Dashboard PageConfig to XML: " + err.getMessage(), err);
    }
}

From source file:org.alfresco.web.bean.search.SearchContext.java

License:Open Source License

/**
 * @return this SearchContext as XML// w  w w .j av a2  s.  c om
 * 
 * Example:
 * <code>
 * <?xml version="1.0" encoding="UTF-8"?>
 * <search>
 *    <text>CDATA</text>
 *    <mode>int</mode>
 *    <location>XPath</location>
 *    <categories>
 *       <category>XPath</category>
 *    </categories>
 *    <content-type>String</content-type>
 *    <folder-type>String</folder-type>
 *    <mimetype>String</mimetype>
 *    <attributes>
 *       <attribute name="String">String</attribute>
 *    </attributes>
 *    <ranges>
 *       <range name="String">
 *          <lower>String</lower>
 *          <upper>String</upper>
 *          <inclusive>boolean</inclusive>
 *       </range>
 *    </ranges>
 *    <fixed-values>
 *       <value name="String">String</value>
 *    </fixed-values>
 *    <query>CDATA</query>
 * </search>
 * </code>
 */
public String toXML() {
    try {
        NamespaceService ns = Repository.getServiceRegistry(FacesContext.getCurrentInstance())
                .getNamespaceService();

        Document doc = DocumentHelper.createDocument();

        Element root = doc.addElement(ELEMENT_SEARCH);

        root.addElement(ELEMENT_TEXT).addCDATA(this.text);
        root.addElement(ELEMENT_MODE).addText(Integer.toString(this.mode));
        if (this.location != null) {
            root.addElement(ELEMENT_LOCATION).addText(this.location);
        }

        Element categories = root.addElement(ELEMENT_CATEGORIES);
        for (String path : this.categories) {
            categories.addElement(ELEMENT_CATEGORY).addText(path);
        }

        if (this.contentType != null) {
            root.addElement(ELEMENT_CONTENT_TYPE).addText(this.contentType);
        }
        if (this.folderType != null) {
            root.addElement(ELEMENT_FOLDER_TYPE).addText(this.folderType);
        }
        if (this.mimeType != null && this.mimeType.length() != 0) {
            root.addElement(ELEMENT_MIMETYPE).addText(this.mimeType);
        }

        Element attributes = root.addElement(ELEMENT_ATTRIBUTES);
        for (QName attrName : this.queryAttributes.keySet()) {
            attributes.addElement(ELEMENT_ATTRIBUTE).addAttribute(ELEMENT_NAME, attrName.toPrefixString(ns))
                    .addCDATA(this.queryAttributes.get(attrName));
        }

        Element ranges = root.addElement(ELEMENT_RANGES);
        for (QName rangeName : this.rangeAttributes.keySet()) {
            RangeProperties rangeProps = this.rangeAttributes.get(rangeName);
            Element range = ranges.addElement(ELEMENT_RANGE);
            range.addAttribute(ELEMENT_NAME, rangeName.toPrefixString(ns));
            range.addElement(ELEMENT_LOWER).addText(rangeProps.lower);
            range.addElement(ELEMENT_UPPER).addText(rangeProps.upper);
            range.addElement(ELEMENT_INCLUSIVE).addText(Boolean.toString(rangeProps.inclusive));
        }

        Element values = root.addElement(ELEMENT_FIXED_VALUES);
        for (QName valueName : this.queryFixedValues.keySet()) {
            values.addElement(ELEMENT_VALUE).addAttribute(ELEMENT_NAME, valueName.toPrefixString(ns))
                    .addCDATA(this.queryFixedValues.get(valueName));
        }

        // outputing the full lucene query may be useful for some situations
        Element query = root.addElement(ELEMENT_QUERY);
        String queryString = buildQuery(0);
        if (queryString != null) {
            query.addCDATA(queryString);
        }

        StringWriter out = new StringWriter(1024);
        XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint());
        writer.setWriter(out);
        writer.write(doc);

        return out.toString();
    } catch (Throwable err) {
        throw new AlfrescoRuntimeException("Failed to export SearchContext to XML.", err);
    }
}

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);/*from   w  w  w.j  a v  a  2 s  . com*/
        writer.flush();
    }
}