String viewId = Pages.getViewId(facesContext);
String baseName = Pages.getCurrentBaseName();
DocumentStore store = DocumentStore.instance();
DocumentType documentType = new DocumentData.DocumentType("pdf", "application/pdf");
DocumentData documentData = new ByteArrayDocumentData(baseName, documentType, buffer.toByteArray());
documentData.setFilename(getFilename());
if (getExportKey() != null)
{
log.debug("Exporting PDF data to event key #0", getExportKey());
Contexts.getEventContext().set(getExportKey(), documentData);
return;
}
String id = store.newId();
String url = store.preferredUrlForContent(baseName, documentType.getExtension(), id);
url = Manager.instance().encodeConversationId(url, viewId);
store.saveData(id, documentData);
log.debug("Redirecting to #0 for PDF view", url);
facesContext.getExternalContext().redirect(url);
}