Example usage for org.dom4j.io XMLWriter close

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

Introduction

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

Prototype

public void close() throws IOException 

Source Link

Document

Closes the underlying Writer

Usage

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();
}

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());
        }/* ww  w  .  j a  v  a 2  s.co 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.codehaus.aspectwerkz.metadata.AttributeC.java

License:Open Source License

/**
 * Writes a DOM document to file.//from w  ww .  j  a v  a2 s.  com
 *
 * @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  w w  w. ja  v  a2 s .c  o m*/
 * @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 ww w .j a  va 2 s. c  o m*/
 * @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 v  a  2 s.  com*/
            }

            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;/*  www .  j a  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();
}

From source file:org.codehaus.mojo.hibernate2.MappingsAggregatorMojo.java

License:Apache License

public void execute() throws MojoExecutionException {
    try {//from   w  ww  .  j a  v  a2 s.  c om
        String version = null;

        if (getBasedir() == null) {
            throw new MojoExecutionException("Required configuration missing: basedir");
        }

        File files[] = getIncludeFiles();
        if (files == null || files.length <= 0) {
            return;
        }
        File f = new File(getOutputFile());
        if (!f.exists()) {
            f.getParentFile().mkdirs();
            f.createNewFile();
        }
        OutputFormat format = OutputFormat.createPrettyPrint();
        XMLWriter writer = new XMLWriter(new FileWriter(f), format);
        writer.setEntityResolver(new HibernateEntityResolver());
        //writer.setResolveEntityRefs(false);
        Document finalDoc = DocumentHelper.createDocument();
        Element rootHM = null;
        for (int i = 0; i < files.length; i++) {
            print("Parsing: " + files[i].getAbsolutePath());
            SAXReader reader = new SAXReader(false);
            reader.setEntityResolver(new HibernateEntityResolver());
            //reader.setIncludeExternalDTDDeclarations(false);
            //reader.setIncludeExternalDTDDeclarations(false);
            Document current = reader.read(files[i]);
            String currentVersion = getVersion(current);
            if (version == null) {
                version = currentVersion;
                finalDoc.setProcessingInstructions(current.processingInstructions());
                finalDoc.setDocType(current.getDocType());
                rootHM = finalDoc.addElement("hibernate-mapping");
            } else if (!version.equals(currentVersion)) {
                //LOG.warn("Mapping in " + files[i].getName() + " is not of the same mapping version as " + files[0].getName() + " mapping, so merge is impossible. Skipping");
                continue;
            }
            for (Iterator iter = current.selectSingleNode("hibernate-mapping").selectNodes("class")
                    .iterator(); iter.hasNext(); rootHM.add((Element) ((Element) iter.next()).clone())) {
            }
        }

        print("Writing aggregate file: " + f.getAbsolutePath());
        writer.write(finalDoc);
        writer.close();
    } catch (Exception ex) {
        throw new MojoExecutionException("Error in executing MappingsAgrregatorBean", ex);
    }
}

From source file:org.compass.core.xml.dom4j.converter.AbstractXmlWriterXmlContentConverter.java

License:Apache License

/**
 * Converts the {@link XmlObject} (assumes it is a {@link org.compass.core.xml.dom4j.Dom4jXmlObject}) into
 * an xml string. Uses dom4j <code>XmlWriter</code> and <code>OutputFormat</code>
 * (in a compact mode) to perform it.//ww w  . ja v  a  2 s .c o m
 *
 * @param xmlObject The xml object to convert into an xml string (must be a {@link org.compass.core.xml.dom4j.Dom4jXmlObject} implementation).
 * @return An xml string representation of the xml object
 * @throws ConversionException Should not really happne...
 */
public String toXml(XmlObject xmlObject) throws ConversionException {
    Dom4jXmlObject dom4jXmlObject = (Dom4jXmlObject) xmlObject;
    StringBuilderWriter stringWriter = StringBuilderWriter.Cached.cached();
    OutputFormat outputFormat = null;
    if (compact) {
        outputFormat = OutputFormat.createCompactFormat();
    }
    XMLWriter xmlWriter;
    if (outputFormat != null) {
        xmlWriter = new XMLWriter(stringWriter, outputFormat);
    } else {
        xmlWriter = new XMLWriter(stringWriter);
    }
    try {
        xmlWriter.write(dom4jXmlObject.getNode());
        xmlWriter.close();
    } catch (IOException e) {
        throw new ConversionException("This should not happen", e);
    }
    return stringWriter.toString();
}

From source file:org.craftercms.cstudio.alfresco.transform.TaxonomyRendition.java

License:Open Source License

/**
 * Write renditionResult along with the flattened XML file to WCM
 * //  w  w w  .j ava  2 s .  com
 * @param articleRef
 */
public InputStream generateOutputFile(NodeRef articleRef) throws ServiceException {

    InputStream retStream = null;

    try {

        Document document = retreiveXml(articleRef);

        String encoding = document.getXMLEncoding();
        if (encoding == null) {
            encoding = "UTF-16";
        }

        Writer stringOutputWriter = new StringWriter();
        OutputFormat opf = OutputFormat.createCompactFormat();
        opf.setSuppressDeclaration(true);
        XMLWriter writer = new XMLWriter(stringOutputWriter, opf);
        writer.write(document);
        writer.close();

        retStream = new ByteArrayInputStream(stringOutputWriter.toString().getBytes(encoding));

    } catch (ServiceException e) {
        if (LOGGER.isErrorEnabled()) {
            LOGGER.error("Cannot create output XML Document: " + e.getMessage(), e);
        }
        throw new ServiceException("Cannot create output XML Document: " + e.getMessage(), e);

    } catch (IOException e) {
        if (LOGGER.isErrorEnabled()) {
            LOGGER.error("Cannot create output XML Document: " + e.getMessage(), e);
        }
        throw new ServiceException("Cannot create output XML Document: " + e.getMessage(), e);
    }

    return retStream;
}