public static DocumentImpl getClientDocument(final DocumentationManager manager, final org.ow2.bonita.services.Document document) { final DocumentUUID uuid = new DocumentUUID(document.getId()); final String name = document.getName(); final String author = document.getAuthor(); final Date creationDate = document.getCreationDate(); final String lastModifiedBy = document.getLastModifiedBy(); final Date lastModificationDate = document.getLastModificationDate(); final boolean isLatestVersion = document.isLatestVersion(); final boolean isMajorVersion = document.isMajorVersion(); final String versionLabel = document.getVersionLabel(); final String versionSeriesId = document.getVersionSeriesId(); final String fileName = document.getContentFileName(); final String mimeType = document.getContentMimeType(); final long size = document.getContentSize(); final ProcessDefinitionUUID definitionUUID = document.getProcessDefinitionUUID(); final ProcessInstanceUUID instanceUUID = document.getProcessInstanceUUID(); final DocumentImpl doc = new DocumentImpl(uuid, name, definitionUUID, instanceUUID, author, creationDate, lastModifiedBy, lastModificationDate, isLatestVersion, isMajorVersion, versionLabel, versionSeriesId, fileName, mimeType, size); return doc; }
@Override public byte[] getContent(final Document document) throws DocumentNotFoundException { return documentStorageService.getContent(document.getContentStorageId()); }
public static AttachmentInstance getAttachmentFromDocument(final DocumentationManager manager, final org.ow2.bonita.services.Document document) { final String name = document.getName(); final String author = document.getAuthor(); final Date creationDate = document.getCreationDate(); final String fileName = document.getContentFileName(); final String mimeType = document.getContentMimeType(); final DocumentUUID documentUUID = new DocumentUUID(document.getId()); final ProcessInstanceUUID instanceUUID = document.getProcessInstanceUUID(); final AttachmentInstanceImpl attachment = new AttachmentInstanceImpl(documentUUID, name, instanceUUID, author, creationDate); attachment.setFileName(fileName); if (mimeType != null) { final Map<String, String> metadata = new HashMap<String, String>(); metadata.put("content-type", mimeType); attachment.setMetaData(metadata); } return attachment; }
List<org.ow2.bonita.services.Document> documentVersions; try { documentVersions = manager.getVersionsOfDocument(document.getId()); allDocuments.addAll(documentVersions); } catch (final DocumentNotFoundException e) { for (int i = 0; i < allDocuments.size(); i++) { final org.ow2.bonita.services.Document tmp = allDocuments.get(i); final long tmpDate = tmp.getCreationDate().getTime(); if (tmpDate <= date.getTime()) { if (doc == null) { doc = tmp; } else if (doc.getCreationDate().getTime() <= tmpDate) { doc = tmp;
private static List<Document> getAllDocumentVersions(final DocumentationManager manager, final ProcessInstanceUUID instanceUUID, final String attachmentName) { final List<org.ow2.bonita.services.Document> documents = getDocuments(manager, instanceUUID, attachmentName); final List<org.ow2.bonita.services.Document> result = new ArrayList<org.ow2.bonita.services.Document>(); for (final org.ow2.bonita.services.Document document : documents) { List<org.ow2.bonita.services.Document> versionsOfDocument; try { versionsOfDocument = manager.getVersionsOfDocument(document.getId()); result.addAll(versionsOfDocument); } catch (final DocumentNotFoundException e) { throw new BonitaRuntimeException(e); } } return result; }
try { final long nbOfDocuments = manager.getNbOfDocuments(rootProcessInstance.getProcessInstanceUUID(), createDocument.getName()); if (nbOfDocuments == 0) { manager.attachDocumentTo(rootProcessInstance.getProcessDefinitionUUID(), rootInstanceUUID, createDocument.getId()); while (iterator.hasNext() && document == null) { final Document next = iterator.next(); if (attachmentName.equals(next.getName())) { document = next; iterator.remove();
public static List<org.ow2.bonita.services.Document> getAllDocumentVersions(final DocumentationManager manager, final ProcessInstanceUUID instanceUUID) { final List<org.ow2.bonita.services.Document> result = new ArrayList<org.ow2.bonita.services.Document>(); final List<org.ow2.bonita.services.Document> documents = manager.getDocuments(instanceUUID, 0, Integer.MAX_VALUE); for (final org.ow2.bonita.services.Document document : documents) { List<org.ow2.bonita.services.Document> versionsOfDocument; try { versionsOfDocument = manager.getVersionsOfDocument(document.getId()); result.addAll(versionsOfDocument); } catch (final DocumentNotFoundException e) { throw new BonitaRuntimeException(e); } } return result; }
private void createDocumentOrVersion(final ProcessInstanceUUID instanceUUID, final String name, final String fileName, final byte[] value, final String mimeType) { final DocumentationManager manager = EnvTool.getDocumentationManager(); final List<org.ow2.bonita.services.Document> documents = DocumentService.getDocuments(manager, instanceUUID, name); try { if (documents.size() == 0) { createDocument(name, instanceUUID, fileName, mimeType, value); } else { addDocumentVersion(documents.get(0).getId(), true, fileName, mimeType, value); } } catch (final BonitaException e) { throw new BonitaRuntimeException(e); } }
@Override public void removeAttachment(final ProcessInstanceUUID instanceUUID, final String name) throws InstanceNotFoundException { FacadeUtil.checkArgsNotNull(instanceUUID, name); final InternalProcessInstance instance = EnvTool.getJournalQueriers().getProcessInstance(instanceUUID); if (instance == null) { throw new InstanceNotFoundException("bai_RAPII_1", instanceUUID); } if (instance.getNbOfAttachments() <= 0) { throw new BonitaRuntimeException(new DocumentNotFoundException(name)); } final DocumentationManager manager = EnvTool.getDocumentationManager(); final List<org.ow2.bonita.services.Document> documents = DocumentService.getDocuments(manager, instanceUUID, name); if (!documents.isEmpty()) { final org.ow2.bonita.services.Document document = documents.get(0); try { manager.deleteDocument(document.getId(), true); // Keep mapping with number of attachments. instance.setNbOfAttachments(instance.getNbOfAttachments() - 1); } catch (final DocumentNotFoundException e) { throw new BonitaRuntimeException(e); } } }
for (final Document document : lastAttachments) { try { manager.attachDocumentTo(processUUID, instanceUUID, document.getId()); } catch (final DocumentNotFoundException e) { new BonitaRuntimeException(e);