Example usage for org.dom4j.io SAXReader resetHandlers

List of usage examples for org.dom4j.io SAXReader resetHandlers

Introduction

In this page you can find the example usage for org.dom4j.io SAXReader resetHandlers.

Prototype

public void resetHandlers() 

Source Link

Document

This method clears out all the existing handlers and default handler setting things back as if no handler existed.

Usage

From source file:org.craftercms.cstudio.alfresco.service.impl.PersistenceManagerServiceImpl.java

License:Open Source License

/**
 * get document from dm content//from  w  ww.j a v  a 2  s  .  c  o m
 *
 * @param fullPath
 * @param nodeRef
 * @return document
 * @throws ServiceException
 */
protected Document getDocumentFromDmContent(String fullPath, NodeRef nodeRef) throws ServiceException {
    if (nodeRef == null) {
        return null;
    }
    FileFolderService fileFolderService = getService(FileFolderService.class);
    ContentReader reader = fileFolderService.getReader(nodeRef);
    SAXReader saxReader = new SAXReader();
    InputStream is = null;
    try {
        is = reader.getContentInputStream();
        return saxReader.read(is);
    } catch (DocumentException e) {
        if (LOGGER.isErrorEnabled()) {
            LOGGER.error("Failed to read content from " + fullPath, e);
        }
        return null;
    } catch (Exception e) {
        if (LOGGER.isErrorEnabled()) {
            LOGGER.error("Failed to read content from " + fullPath, e);
        }
        return null;
    } finally {
        ContentUtils.release(is);
        is = null;
        reader = null;
        saxReader.resetHandlers();
        saxReader = null;
    }
}

From source file:org.craftercms.cstudio.alfresco.service.impl.PersistenceManagerServiceImpl.java

License:Open Source License

public Document loadXml(NodeRef nodeRef) {
    if (nodeRef == null) {
        return null;
    }/* ww w.  j  a v a 2s  . c  o  m*/
    FileFolderService fileFolderService = getService(FileFolderService.class);
    ContentReader contentReader = fileFolderService.getReader(nodeRef);
    InputStream in = null;
    SAXReader reader = new SAXReader();
    try {
        in = contentReader.getContentInputStream();
        Document document = reader.read(in);
        return document;
    } catch (Exception e) {
        if (LOGGER.isErrorEnabled()) {
            LOGGER.error("Failed to load a file.", e);
        }
    } finally {
        ContentUtils.release(in);
        in = null;
        contentReader = null;
        reader.resetHandlers();
        reader = null;
    }
    return null;
}

From source file:org.craftercms.cstudio.publishing.processor.SearchUpdateFlattenXmlProcessor.java

License:Open Source License

private Document flattenXml(String root, File file, Set<String> flattenedFiles)
        throws IOException, DocumentException, URISyntaxException {

    SAXReader reader = new SAXReader();
    SAXReader includeReader = new SAXReader();

    try {//from w  w  w. j a v a 2  s.  c  om
        reader.setEncoding(charEncoding);

        Document document = reader.read(file);
        List<Element> includeElements = document.selectNodes(includeElementXPathQuery);
        if (CollectionUtils.isEmpty(includeElements)) {
            return document;
        }
        for (Element includeElement : includeElements) {
            String includeSrcPath = root + File.separatorChar + includeElement.getTextTrim();
            if (StringUtils.isEmpty(includeSrcPath)) {
                continue;
            }

            File includeFile = new File(includeSrcPath);
            if (includeFile != null && includeFile.exists()) {
                flattenedFiles.add(includeSrcPath);
                Document includeDocument = flattenXml(root, includeFile, flattenedFiles);

                if (logger.isDebugEnabled()) {
                    logger.debug("Include found in " + file.getAbsolutePath() + ": " + includeSrcPath);
                }

                doInclude(includeElement, includeSrcPath, includeDocument);
            }

        }
        return document;
    } finally {
        reader.resetHandlers();
        reader = null;
        includeReader.resetHandlers();
        includeReader = null;
    }
}