protected DocumentWriter makeDocumentWriter(OutputStream outputStream, boolean exportAsTree, boolean exportAsZip) throws IOException { DocumentWriter documentWriter; if (exportAsZip) { documentWriter = new NuxeoArchiveWriter(outputStream); } else { if (exportAsTree) { documentWriter = new XMLDocumentTreeWriter(outputStream); } else { documentWriter = new XMLDocumentWriter(outputStream); } } return documentWriter; } }
@Override public DocumentTranslationMap exportDocuments(OutputStream out, DocumentReader customDocReader, String format) { DocumentWriter writer = null; try { DocumentPipe pipe = new DocumentPipeImpl(10); // XXX check format before creating writer writer = new NuxeoArchiveWriter(out); pipe.setWriter(writer); pipe.setReader(customDocReader); List<DocumentTranslationMap> maps = new ArrayList<DocumentTranslationMap>(); DocumentTranslationMap map = pipe.run(); if (map != null) { maps.add(map); } return DocumentTranslationMapImpl.merge(maps); } catch (IOException e) { throw new NuxeoException(e); } finally { // reader will be closed by caller if (writer != null) { writer.close(); } } }
@Override public void exportDocumentation(CoreSession session, OutputStream out) { try { String query = "SELECT * FROM " + DocumentationItem.TYPE_NAME + " WHERE " + QueryHelper.NOT_DELETED; DocumentModelList docList = session.query(query); DocumentReader reader = new DocumentModelListReader(docList); DocumentWriter writer = new NuxeoArchiveWriter(out); DocumentPipe pipe = new DocumentPipeImpl(10); pipe.setReader(reader); pipe.setWriter(writer); pipe.run(); reader.close(); writer.close(); } catch (IOException | NuxeoException e) { log.error("Error while exporting documentation", e); } }
public static void export(List<DocumentModel> docList) { DocumentReader reader = null; DocumentWriter writer = null; Blob blob = null; try { reader = new DocumentModelListReader(docList); blob = Blobs.createBlobWithExtension("zip"); writer = new NuxeoArchiveWriter(blob.getFile()); DocumentPipe pipe = new DocumentPipeImpl(10); pipe.setReader(reader); pipe.setWriter(writer); pipe.run(); } catch (IOException e) { log.error("Error during XML export " + e.getMessage()); } finally { if (reader != null) { reader.close(); } if (writer != null) { writer.close(); } } if (blob != null) { ComponentUtils.download(null, null, blob, "export.zip", "workListXML"); if (blob.getFile() != null) { blob.getFile().delete(); } } }
DocumentPipe pipe = new DocumentPipeImpl(10); writer = new NuxeoArchiveWriter(out); pipe.setWriter(writer); if (!recurse) {
@Override public void exportSnapshot(CoreSession session, String key, OutputStream out) throws IOException { DistributionSnapshot snap = getSnapshot(key, session); if (snap == null) { throw new NuxeoException("Unable to find Snapshot " + key); } if (snap.isLive()) { throw new NuxeoException("Can not export a live distribution snapshot : " + key); } RepositoryDistributionSnapshot docSnap = (RepositoryDistributionSnapshot) snap; DocumentModel root = docSnap.getDoc(); DocumentReader reader = new DocumentTreeReader(session, root); DocumentWriter writer = new NuxeoArchiveWriter(out); DocumentPipe pipe = new DocumentPipeImpl(10); pipe.setReader(reader); pipe.setWriter(writer); pipe.run(); reader.close(); writer.close(); }