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.beangle.emsapp.security.action.MenuAction.java

License:Open Source License

public void exportXML() {
    Document doc = DocumentHelper.createDocument();
    Element root = doc.addElement("root");
    List<Menu> menus = (List<Menu>) entityDao.search(getQueryBuilder().limit(null));
    for (Menu m : menus) {
        Element em = root.addElement("menu");
        em.addAttribute("id", m.getId().toString());
        em.addAttribute("code", m.getCode());
        em.addAttribute("name", m.getName());
        em.addAttribute("title", m.getTitle());
        em.addAttribute("entry", m.getEntry());
        em.addAttribute("remark", m.getRemark());
        em.addAttribute("profileId", m.getProfile().getId().toString());
        if (m.getParent() != null) {
            em.addAttribute("parentId", m.getParent().getId().toString());
        }//  w ww .j  ava  2  s . c  o m
        for (Resource res : m.getResources()) {
            Element eres = em.addElement("resource");
            eres.addAttribute("id", res.getId().toString());
            eres.addAttribute("name", res.getName());
            eres.addAttribute("title", res.getTitle());
            eres.addAttribute("remark", res.getRemark());
            eres.addAttribute("scope", res.getScope() + "");
            for (Category c : res.getCategories()) {
                Element ec = eres.addElement("category");
                ec.addAttribute("id", c.getId().toString());
            }
        }
    }

    try {
        HttpServletResponse response = ServletActionContext.getResponse();
        response.setHeader("Content-Disposition", "attachment;filename=menu.xml");
        response.setContentType("application/x-msdownload");
        OutputFormat of = new OutputFormat();
        of.setIndent(true);
        of.setNewlines(true);
        XMLWriter writer = new XMLWriter(getResponse().getOutputStream(), of);
        writer.write(doc);
        writer.close();
    } catch (UnsupportedEncodingException e) {
        logger.error("exportXML error", e);
    } catch (IOException e) {
        logger.error("exportXML error", e);
    }
}

From source file:org.bedework.appcommon.NotifyResource.java

License:Apache License

/**
 * @return formatted xml without the header
 *//*from w  ww .j  a v  a  2  s .  co m*/
public String getXmlFragment() {
    try {
        OutputFormat format = OutputFormat.createPrettyPrint();
        format.setTrimText(false);
        format.setSuppressDeclaration(true);

        StringWriter sw = new StringWriter();
        XMLWriter writer = new XMLWriter(sw, format);
        writer.write(DocumentHelper.parseText(content));

        return sw.toString();
    } catch (Throwable t) {
        return "<error>" + t.getLocalizedMessage() + "</error>";
    }
}

From source file:org.brunocvcunha.taskerbox.core.TaskerboxXmlReader.java

License:Apache License

private void handleConcreteChannelNode(Element xmlChannel) throws Exception {
    log.info("Found channel: " + xmlChannel.getName() + ": " + xmlChannel.toString());

    StringWriter sw = new StringWriter();
    XMLWriter writer = new XMLWriter(sw);
    writer.write(xmlChannel);

    String macroElement = sw.toString();

    for (String defaultAttr : this.tasker.getDefaultProperties().keySet()) {
        macroElement = macroElement.replace("{" + defaultAttr + "}",
                this.tasker.getDefaultProperties().get(defaultAttr));
    }/*from w  w w. j a v  a  2  s .  c o m*/
    for (String defaultAttr : this.tasker.getDefaultProperties().keySet()) {
        macroElement = macroElement.replace("default-" + defaultAttr + "=\"\"", defaultAttr + "=\""
                + StringEscapeUtils.escapeXml(this.tasker.getDefaultProperties().get(defaultAttr)) + "\"");
    }

    log.debug("Creating channel: " + macroElement);
    Element replacedXmlChannel = new SAXReader().read(new StringReader(macroElement)).getRootElement();

    TaskerboxChannel<?> channel = TaskerboxFactory.buildChannel(replacedXmlChannel);
    TaskerboxLauncher.startChannel(channel, this.tasker.getFrame(), this.tasker.getDaemons(),
            this.tasker.getChannels());

}

From source file:org.brunocvcunha.taskerbox.core.TaskerboxXmlReader.java

License:Apache License

private void handleMacrosNode(Element xmlChannel) throws IOException {

    for (Object attrObj : xmlChannel.elements()) {
        DefaultElement e = (DefaultElement) attrObj;

        StringWriter sw = new StringWriter();
        XMLWriter writer = new XMLWriter(sw);
        writer.write(e.elements());

        if (this.tasker.getMacros().containsKey(e.attributeValue("name"))) {
            throw new RuntimeException("Macro " + e.attributeValue("name") + " already exists in map.");
        }/*from   w  w  w .  ja  v  a 2 s  .  co m*/

        this.tasker.getMacros().put(e.attributeValue("name"), sw.toString());
        this.tasker.getMacroAttrs().put(e.attributeValue("name"), e.attributes());
    }

}

From source file:org.cleverbus.admin.web.msg.MessageController.java

License:Apache License

/**
 * Converts input XML to "nice" XML./*from w  ww  .ja v a 2s . c  o  m*/
 *
 * @param original the original XML
 * @return pretty XML
 */
static String prettyPrintXML(String original) {
    try {
        OutputFormat format = OutputFormat.createPrettyPrint();
        Document document = DocumentHelper.parseText(original);
        StringWriter sw = new StringWriter();
        XMLWriter writer = new XMLWriter(sw, format);
        writer.write(document);
        return sw.toString();
    } catch (Exception exc) {
        Log.debug("Error pretty-printing XML: ", exc);
        return original;
    }
}

From source file:org.codehaus.aspectwerkz.metadata.AttributeC.java

License:Open Source License

/**
 * Writes a DOM document to file.//from   w  w  w. j  a  va 2s .  c o m
 *
 * @param document the document
 * @param fileName the name of the file (full path)
 */
public static void writeDocumentToFile(final Document document, final String fileName) {
    try {
        OutputFormat format = OutputFormat.createPrettyPrint();
        XMLWriter writer = new XMLWriter(new FileWriter(fileName), format);
        writer.write(document);
        writer.close();
    } catch (IOException e) {
        throw new WrappedRuntimeException(e);
    }
}

From source file:org.codehaus.cargo.container.weblogic.WebLogic8xConfigXmlInstalledLocalDeployer.java

License:Apache License

/**
 * write the domain's config.xml to disk.
 * //from ww  w . jav a2 s.com
 * @param configXml document to write to disk
 */
public void writeConfigXml(Document configXml) {
    OutputFormat outformat = OutputFormat.createPrettyPrint();
    XMLWriter writer = null;
    try {
        writer = new XMLWriter(
                getFileHandler().getOutputStream(getFileHandler().append(getDomainHome(), "config.xml")),
                outformat);
        writer.write(configXml);
        writer.flush();
    } catch (UnsupportedEncodingException e) {
        throw new ContainerException("Error encoding config.xml for " + this.getServerName(), e);
    } catch (IOException e) {
        throw new ContainerException("Error writing config.xml for " + this.getServerName(), e);
    } finally {
        if (writer != null) {
            try {
                writer.close();
            } catch (IOException ignored) {
                // Ignored
            }
            writer = null;
            System.gc();
        }
    }
}

From source file:org.codehaus.cargo.util.Dom4JUtil.java

License:Apache License

/**
 * write the xml document to disk, closing the destination on completion.
 * //from   w  w  w. j a  va2s  . c om
 * @param document document to write to disk
 * @param destination where to write the document
 * @throws IOException when the document cannot be written to the destination
 */
private void writeXmlToOutputStream(Document document, OutputStream destination) throws IOException {
    try {
        OutputFormat outformat = OutputFormat.createPrettyPrint();
        XMLWriter writer = new XMLWriter(destination, outformat);
        writer.write(document);
        writer.flush();
        writer.close();
    } finally {
        destination.close();
    }
}

From source file:org.codehaus.modello.plugin.jaxrs.JaxRSMappingModelloGenerator.java

License:Apache License

private void generateJaxRS(File webXml, Model model) throws IOException, ModelloException {
    OutputStreamWriter fileWriter = new OutputStreamWriter(new FileOutputStream(webXml), "UTF-8");

    org.dom4j.io.XMLWriter writer = null;

    namespace = DocumentHelper.createNamespace("", "http://java.sun.com/xml/ns/j2ee");
    Document document = DocumentHelper.createDocument();
    Element root = document.addElement("web-app");
    root.addNamespace("", "http://java.sun.com/xml/ns/j2ee");
    root.addAttribute("version", "2.4");
    root.addAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
    root.addAttribute("xsi:schemaLocation",
            "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd");
    Element displayName = addElement(root, "display-name", model.getName());
    // add the declaration for the Jersey servlet
    Element servlet = addElement(root, "servlet");
    addElement(servlet, "servlet-name", JERSEY_SERVLET_NAME);
    addElement(servlet, "servlet-class", "com.sun.jersey.spi.container.servlet.ServletContainer");
    Element pkgsParam = addElement(servlet, "init-param");
    addElement(pkgsParam, "param-name", "com.sun.jersey.config.property.packages");
    addElement(servlet, "load-on-startup", "1");

    Set<String> pkgs = new HashSet<String>();

    // Processed classes to be mapped here
    for (Iterator it = model.getClasses(getGeneratedVersion()).iterator(); it.hasNext();) {
        ModelClass modelClass = (ModelClass) it.next();

        JaxRSClassLevelMetadata metadata = (JaxRSClassLevelMetadata) modelClass
                .getMetadata(JaxRSClassLevelMetadata.ID);

        // only generate servlet-mappings for classes which have a jaxrs.urls parameter
        if (!isEmpty(metadata.getUrls())) {
            String packageName = modelClass.getPackageName(isPackageWithVersion(), getGeneratedVersion());
            if (!pkgs.contains(packageName)) {
                pkgs.add(packageName);/*from   www.j a  va2s.  co  m*/
            }

            String[] urls = metadata.getUrls().split(",");
            for (String url : urls) {
                Element mapping = addElement(root, "servlet-mapping");
                addElement(mapping, "servlet-name", JERSEY_SERVLET_NAME);
                addElement(mapping, "url-pattern", url);
            }
        }

    }

    String pkgsString = "";
    for (String s : pkgs) {
        if (!"".equals(pkgsString))
            pkgsString += ",";
        pkgsString += s;
    }
    addElement(pkgsParam, "param-value", pkgsString);

    OutputFormat format = OutputFormat.createPrettyPrint();
    writer = new XMLWriter(fileWriter, format);
    writer.write(document);
    writer.close();
}

From source file:org.codehaus.modello.plugin.jpa.JpaOrmMappingModelloGenerator.java

License:Apache License

private void generateOrm(File orm, Model model) throws IOException, ModelloException {
    OutputStreamWriter fileWriter = new OutputStreamWriter(new FileOutputStream(orm), "UTF-8");

    org.dom4j.io.XMLWriter writer = null;

    JpaModelMetadata modelMetadata = (JpaModelMetadata) model.getMetadata(JpaModelMetadata.ID);

    String jpaVersion = modelMetadata.getVersion();

    String jpaUnit = modelMetadata.getUnit();

    Document document = DocumentHelper.createDocument();

    Element root = null;/* w ww  .  ja v a 2s .co  m*/

    if (JpaMetadataPlugin.JPA_VERSION_1.equals(jpaVersion) || (jpaVersion == null)) {
        namespace = DocumentHelper.createNamespace("", "http://java.sun.com/xml/ns/persistence/orm");
        root = document.addElement("entity-mappings");
        root.addNamespace("", "http://java.sun.com/xml/ns/persistence/orm");
        root.addAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
        root.addAttribute("xsi:schemaLocation",
                "http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd");
        root.addAttribute("version", "1.0");
    } else if (JpaMetadataPlugin.JPA_VERSION_2.equals(jpaVersion)) {
        namespace = DocumentHelper.createNamespace("", "http://java.sun.com/xml/ns/persistence");
        root = document.addElement("persistence");
        root.addNamespace("", "http://java.sun.com/xml/ns/persistence");
        root.addAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
        root.addAttribute("version", "2.0");
        root.addAttribute("xsi:schemaLocation",
                "http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd");
        Element persistenceUnit = addElement(root, "persistence-unit");
        persistenceUnit.addAttribute("name", jpaUnit);
        addElement(persistenceUnit, "provider", "org.apache.openjpa.persistence.PersistenceProviderImpl");
    }

    // Processed classes to be mapped here
    for (Iterator it = model.getClasses(getGeneratedVersion()).iterator(); it.hasNext();) {
        ModelClass modelClass = (ModelClass) it.next();

        String packageName = modelClass.getPackageName(isPackageWithVersion(), getGeneratedVersion());

        JpaClassLevelMetadata metadata = (JpaClassLevelMetadata) modelClass
                .getMetadata(JpaClassLevelMetadata.ID);

        List processorMetadataList = metadata.getProcessorMetadata();
        for (Iterator it2 = processorMetadataList.iterator(); it2.hasNext();) {
            ProcessorMetadata procMetadata = (ProcessorMetadata) it2.next();
            try {
                ((ClassMetadataProcessorMetadata) procMetadata).setModelClass(modelClass);

                ((ClassMetadataProcessorMetadata) procMetadata).setPackageName(modelClass.getPackageName());

                MetadataProcessor metadataProcessor = processorFactory.createMetadataProcessor(procMetadata);

                // set up Processor Context.
                MetadataProcessorContext processorContext = new MetadataProcessorContext();
                processorContext.setDocument(document);
                processorContext.setModel(model);

                boolean valid = metadataProcessor.validate(processorContext, procMetadata);

                if (valid)
                    metadataProcessor.process(processorContext, procMetadata);
                else
                    throw new ModelloException(
                            "Processor Metadata validate failed for '" + procMetadata.getKey() + "' in class "
                                    + modelClass.getPackageName() + '.' + modelClass.getName());
            } catch (MetadataProcessorInstantiationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (MetadataProcessorException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    if (JpaMetadataPlugin.JPA_VERSION_2.equals(jpaVersion)) {

        Element persistenceUnit = root.element("persistence-unit");
        addElement(persistenceUnit, "validation-mode", "NONE");
        File propsFile = new File("src/main/resources/" + jpaUnit + ".properties");
        if (propsFile.exists()) {
            Element properties = addElement(persistenceUnit, "properties");
            Properties persistenceProviderProps = new Properties();
            persistenceProviderProps.load(new FileInputStream(propsFile));
            Iterator it = persistenceProviderProps.keySet().iterator();
            while (it.hasNext()) {
                String k = it.next().toString();
                String v = persistenceProviderProps.getProperty(k);
                Element property = addElement(properties, "property");
                property.addAttribute("name", k);
                property.addAttribute("value", v);
            }
        }
    }

    OutputFormat format = OutputFormat.createPrettyPrint();
    writer = new XMLWriter(fileWriter, format);
    writer.write(document);
    writer.close();
}