@Override public long getNumberOfDocuments(final long processInstanceId) throws DocumentException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { return documentService.getNumberOfDocumentsOfProcessInstance(processInstanceId); } catch (final SBonitaReadException e) { throw new DocumentException(e); } }
@Override public byte[] getDocumentContent(final String documentStorageId) throws DocumentNotFoundException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { return documentService.getDocumentContent(documentStorageId); } catch (final SObjectNotFoundException sbe) { throw new DocumentNotFoundException(sbe); } }
@Override public long getNumberOfDocuments(final long processInstanceId) throws DocumentException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { return documentService.getNumberOfDocumentsOfProcessInstance(processInstanceId); } catch (final SBonitaReadException e) { throw new DocumentException(e); } }
@Override public byte[] getDocumentContent(final String documentStorageId) throws DocumentNotFoundException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { return documentService.getDocumentContent(documentStorageId); } catch (final SObjectNotFoundException sbe) { throw new DocumentNotFoundException(sbe); } }
@Override public Document getDocument(final long documentId) throws DocumentNotFoundException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { return ModelConvertor.toDocument(documentService.getMappedDocument(documentId), documentService); } catch (final SObjectNotFoundException | SBonitaReadException e) { throw new DocumentNotFoundException(e); } }
@Override public Document getLastDocument(final long processInstanceId, final String documentName) throws DocumentNotFoundException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { return ModelConvertor.toDocument(documentService.getMappedDocument(processInstanceId, documentName), documentService); } catch (final SObjectNotFoundException | SBonitaReadException sbe) { throw new DocumentNotFoundException(sbe); } }
@Override public Document getLastDocument(final long processInstanceId, final String documentName) throws DocumentNotFoundException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { return ModelConvertor.toDocument(documentService.getMappedDocument(processInstanceId, documentName), documentService); } catch (final SObjectNotFoundException | SBonitaReadException sbe) { throw new DocumentNotFoundException(sbe); } }
@Override public Document getDocument(final long documentId) throws DocumentNotFoundException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { return ModelConvertor.toDocument(documentService.getMappedDocument(documentId), documentService); } catch (final SObjectNotFoundException | SBonitaReadException e) { throw new DocumentNotFoundException(e); } }
@Override public ArchivedDocument getArchivedVersionOfProcessDocument(final long sourceObjectId) throws ArchivedDocumentNotFoundException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { return ModelConvertor.toArchivedDocument(documentService.getArchivedVersionOfProcessDocument(sourceObjectId), documentService); } catch (final SObjectNotFoundException e) { throw new ArchivedDocumentNotFoundException(e); } }
@Override public ArchivedDocument getArchivedProcessDocument(final long archivedProcessDocumentId) throws ArchivedDocumentNotFoundException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { return ModelConvertor.toArchivedDocument(documentService.getArchivedDocument(archivedProcessDocumentId), documentService); } catch (final SObjectNotFoundException e) { throw new ArchivedDocumentNotFoundException(e); } }
@Override public ArchivedDocument getArchivedVersionOfProcessDocument(final long sourceObjectId) throws ArchivedDocumentNotFoundException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { return ModelConvertor.toArchivedDocument(documentService.getArchivedVersionOfProcessDocument(sourceObjectId), documentService); } catch (final SObjectNotFoundException e) { throw new ArchivedDocumentNotFoundException(e); } }
@Override public ArchivedDocument getArchivedProcessDocument(final long archivedProcessDocumentId) throws ArchivedDocumentNotFoundException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { return ModelConvertor.toArchivedDocument(documentService.getArchivedDocument(archivedProcessDocumentId), documentService); } catch (final SObjectNotFoundException e) { throw new ArchivedDocumentNotFoundException(e); } }
@Override public Document updateDocument(final long documentId, final DocumentValue documentValue) throws DocumentAttachmentException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { final SMappedDocument document = documentService.updateDocument(documentId, buildSDocument(documentValue)); return ModelConvertor.toDocument(document, documentService); } catch (final SBonitaException e) { throw new DocumentAttachmentException(e); } }
@Override public Document updateDocument(final long documentId, final DocumentValue documentValue) throws DocumentAttachmentException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); try { final SMappedDocument document = documentService.updateDocument(documentId, buildSDocument(documentValue)); return ModelConvertor.toDocument(document, documentService); } catch (final SBonitaException e) { throw new DocumentAttachmentException(e); } }
@Override public Document attachNewDocumentVersion(final long processInstanceId, final String documentName, final String fileName, final String mimeType, final String url) throws DocumentAttachmentException { final DocumentService documentService = getTenantAccessor().getDocumentService(); try { return ModelConvertor.toDocument( documentService.updateDocument(documentService.getMappedDocument(processInstanceId, documentName), buildExternalProcessDocumentReference(fileName, mimeType, getUserId(), url)), documentService); } catch (final Exception e) { throw new DocumentAttachmentException(e); } }
@Override public Document attachNewDocumentVersion(final long processInstanceId, final String documentName, final String contentFileName, final String contentMimeType, final byte[] documentContent) throws DocumentAttachmentException { final DocumentService documentService = getTenantAccessor().getDocumentService(); try { return ModelConvertor.toDocument( documentService.updateDocument(documentService.getMappedDocument(processInstanceId, documentName), buildProcessDocument(contentFileName, contentMimeType, getUserId(), documentContent)), documentService); } catch (final Exception e) { throw new DocumentAttachmentException(e); } }
@Override public void setDocumentList(final long processInstanceId, final String name, final List<DocumentValue> documentsValues) throws DocumentException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentHelper documentHelper = new DocumentHelper(tenantAccessor.getDocumentService(), tenantAccessor.getProcessDefinitionService(), tenantAccessor.getProcessInstanceService()); try { documentHelper.setDocumentList(documentsValues, name, processInstanceId, getUserId()); } catch (final SBonitaException e) { throw new DocumentException("Unable to set the list " + name + " on process instance " + processInstanceId, e); } }
@Override public Document attachNewDocumentVersion(final long processInstanceId, final String documentName, final String contentFileName, final String contentMimeType, final byte[] documentContent) throws DocumentAttachmentException { final DocumentService documentService = getTenantAccessor().getDocumentService(); try { return ModelConvertor.toDocument( documentService.updateDocument(documentService.getMappedDocument(processInstanceId, documentName), buildProcessDocument(contentFileName, contentMimeType, getUserId(), documentContent)), documentService); } catch (final Exception e) { throw new DocumentAttachmentException(e); } }
@Override public void setDocumentList(final long processInstanceId, final String name, final List<DocumentValue> documentsValues) throws DocumentException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentHelper documentHelper = new DocumentHelper(tenantAccessor.getDocumentService(), tenantAccessor.getProcessDefinitionService(), tenantAccessor.getProcessInstanceService()); try { documentHelper.setDocumentList(documentsValues, name, processInstanceId, getUserId()); } catch (final SBonitaException e) { throw new DocumentException("Unable to set the list " + name + " on process instance " + processInstanceId, e); } }
@Override public Document getDocumentAtActivityInstanceCompletion(final long activityInstanceId, final String documentName) throws DocumentNotFoundException { final TenantServiceAccessor tenantAccessor = getTenantAccessor(); final DocumentService documentService = tenantAccessor.getDocumentService(); final ActivityInstanceService activityInstanceService = tenantAccessor.getActivityInstanceService(); try { final SAActivityInstance instance = activityInstanceService.getMostRecentArchivedActivityInstance(activityInstanceId); final SMappedDocument document = documentService.getMappedDocument(instance.getRootContainerId(), documentName, instance.getArchiveDate()); return ModelConvertor.toDocument(document, documentService); } catch (final SBonitaException sbe) { throw new DocumentNotFoundException(sbe); } }