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; }
@Override public void deleteDocuments(final boolean allVersions, final DocumentUUID... documentUUIDs) throws DocumentNotFoundException { final DocumentationManager manager = EnvTool.getDocumentationManager(); final Querier queriers = EnvTool.getAllQueriers(); if (documentUUIDs != null) { org.ow2.bonita.services.Document doc; ProcessInstanceUUID processInstanceUUID; for (final DocumentUUID documentUUID : documentUUIDs) { doc = manager.getDocument(documentUUID.getValue()); processInstanceUUID = doc.getProcessInstanceUUID(); manager.deleteDocument(documentUUID.getValue(), allVersions); if (processInstanceUUID != null) { final InternalProcessInstance instance = queriers.getProcessInstance(processInstanceUUID); if (instance != null) { final int nbOfAttachments = instance.getNbOfAttachments() - 1; instance.setNbOfAttachments(nbOfAttachments); } else { LOG.info("When deleting documents, cannot update the process instance because of its deletion"); } } } } } }
private org.ow2.bonita.facade.runtime.Document addDocumentVersion(final String documentId, final boolean isMajorVersion, final String fileName, final String mimeType, final byte[] content) throws DocumentationCreationException { final DocumentationManager manager = EnvTool.getDocumentationManager(); org.ow2.bonita.services.Document d = null; if (content != null) { d = manager.createVersion(documentId, isMajorVersion, fileName, mimeType, content); } else { d = manager.createVersion(documentId, isMajorVersion); } final ProcessInstanceUUID instanceUUID = d.getProcessInstanceUUID(); if (instanceUUID != null) { InternalProcessInstance instance = EnvTool.getJournalQueriers().getProcessInstance(instanceUUID); if (instance == null) { instance = EnvTool.getHistoryQueriers().getProcessInstance(instanceUUID); } if (instance != null) { instance.updateLastUpdateDate(); } } return DocumentService.getClientDocument(manager, d); }
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; }