public DocumentServiceImpl(final Recorder recorder, final ReadPersistenceService persistenceService, final SDocumentDownloadURLProvider urlProvider, final ArchiveService archiveService) { this.recorder = recorder; this.persistenceService = persistenceService; this.urlProvider = urlProvider; this.archiveService = archiveService; definitiveArchiveReadPersistenceService = archiveService.getDefinitiveArchiveReadPersistenceService(); }
@Override public void deleteArchivedComments(List<Long> processInstanceIds) throws SBonitaException { archiveService.deleteFromQuery("deleteArchiveCommentsOfProcessInstances", Collections.<String,Object>singletonMap("processInstanceIds", processInstanceIds)); }
private void archiveFlowNodeInstance(final SFlowNodeInstance flowNodeInstance, final ArchiveService archiveService, final long archiveDate) throws SArchivingException { try { final SAFlowNodeInstance saFlowNodeInstance = getArchivedObject(flowNodeInstance); if (saFlowNodeInstance != null) { final ArchiveInsertRecord insertRecord = new ArchiveInsertRecord(saFlowNodeInstance); archiveService.recordInsert(archiveDate, insertRecord); } } catch (final SBonitaException e) { throw new SArchivingException(e); } }
@Override public void archive(final SDocumentMapping docMapping, final long archiveDate) throws SObjectModificationException { if (archiveService.isArchivable(SDocumentMapping.class)) { final SADocumentMappingImpl saDocumentMapping = new SADocumentMappingImpl(docMapping.getDocumentId(), docMapping.getProcessInstanceId(), archiveDate, docMapping.getId(), docMapping.getName(), docMapping.getDescription(), docMapping.getVersion()); saDocumentMapping.setIndex(docMapping.getIndex()); final ArchiveInsertRecord insertRecord = new ArchiveInsertRecord(saDocumentMapping); try { archiveService.recordInsert(archiveDate, insertRecord); } catch (final SBonitaException e) { throw new SObjectModificationException("Unable to archive the document with id = <" + docMapping.getId() + ">", e); } } }
@Override public void archiveAndDeleteUserTaskData(final long userTaskId, final long archiveDate) throws SObjectModificationException { try { final List<STaskContractData> contractData = getContractDataOfUserTask(userTaskId); if (!contractData.isEmpty()) { final ArchiveInsertRecord[] records = buildArchiveUserTaskRecords(contractData); archiveService.recordInserts(archiveDate, records); for (STaskContractData taskContractData : contractData) { deleteUserTaskData(taskContractData); } } } catch (final SBonitaException sbe) { throw new SObjectModificationException(sbe); } }
private void deleteArchivedComments(final long processInstanceId) throws SBonitaException { final List<FilterOption> filters = Collections.singletonList(new FilterOption(SAComment.class, BuilderFactory.get(SACommentBuilderFactory.class) .getProcessInstanceIdKey(), processInstanceId)); final List<OrderByOption> orderByOptions = Collections.singletonList(new OrderByOption(SAComment.class, BuilderFactory.get( SACommentBuilderFactory.class).getIdKey(), OrderByType.ASC)); List<SAComment> searchArchivedComments; // fromIndex always will be zero because the elements will be deleted final QueryOptions queryOptions = new QueryOptions(0, 100, orderByOptions, filters, null); do { searchArchivedComments = commentService.searchArchivedComments(queryOptions); for (final SAComment saComment : searchArchivedComments) { archiveService.recordDelete(new DeleteRecord(saComment)); } } while (!searchArchivedComments.isEmpty()); }
private void archiveFlowNodeInstance(final SFlowNodeInstance flowNodeInstance, final ArchiveService archiveService, final long archiveDate) throws SArchivingException { try { final SAFlowNodeInstance saFlowNodeInstance = getArchivedObject(flowNodeInstance); if (saFlowNodeInstance != null) { final ArchiveInsertRecord insertRecord = new ArchiveInsertRecord(saFlowNodeInstance); archiveService.recordInsert(archiveDate, insertRecord); } } catch (final SBonitaException e) { throw new SArchivingException(e); } }
@Override public void archive(final SDocumentMapping docMapping, final long archiveDate) throws SObjectModificationException { if (archiveService.isArchivable(SDocumentMapping.class)) { final SADocumentMappingImpl saDocumentMapping = new SADocumentMappingImpl(docMapping.getDocumentId(), docMapping.getProcessInstanceId(), archiveDate, docMapping.getId(), docMapping.getName(), docMapping.getDescription(), docMapping.getVersion()); saDocumentMapping.setIndex(docMapping.getIndex()); final ArchiveInsertRecord insertRecord = new ArchiveInsertRecord(saDocumentMapping); try { archiveService.recordInsert(archiveDate, insertRecord); } catch (final SBonitaException e) { throw new SObjectModificationException("Unable to archive the document with id = <" + docMapping.getId() + ">", e); } } }
@Override public void archiveAndDeleteProcessData(final long processInstanceId, final long archiveDate) throws SObjectModificationException { try { final List<SProcessContractData> contractData = getContractDataOfProcess(processInstanceId); if (!contractData.isEmpty()) { final ArchiveInsertRecord[] records = buildArchiveProcessRecords(contractData); archiveService.recordInserts(archiveDate, records); for (SProcessContractData processContractData : contractData) { deleteProcessData(processContractData); } } } catch (final SBonitaException sbe) { throw new SObjectModificationException(sbe); } }
private void deleteArchivedComments(final long processInstanceId) throws SBonitaException { final List<FilterOption> filters = Collections.singletonList(new FilterOption(SAComment.class, BuilderFactory.get(SACommentBuilderFactory.class) .getProcessInstanceIdKey(), processInstanceId)); final List<OrderByOption> orderByOptions = Collections.singletonList(new OrderByOption(SAComment.class, BuilderFactory.get( SACommentBuilderFactory.class).getIdKey(), OrderByType.ASC)); List<SAComment> searchArchivedComments; // fromIndex always will be zero because the elements will be deleted final QueryOptions queryOptions = new QueryOptions(0, 100, orderByOptions, filters, null); do { searchArchivedComments = commentService.searchArchivedComments(queryOptions); for (final SAComment saComment : searchArchivedComments) { archiveService.recordDelete(new DeleteRecord(saComment)); } } while (!searchArchivedComments.isEmpty()); }
public DocumentServiceImpl(final Recorder recorder, final ReadPersistenceService persistenceService, final SDocumentDownloadURLProvider urlProvider, final ArchiveService archiveService) { this.recorder = recorder; this.persistenceService = persistenceService; this.urlProvider = urlProvider; this.archiveService = archiveService; definitiveArchiveReadPersistenceService = archiveService.getDefinitiveArchiveReadPersistenceService(); }
@Override public void deleteArchivedComments(List<Long> processInstanceIds) throws SBonitaException { archiveService.deleteFromQuery("deleteArchiveCommentsOfProcessInstances", Collections.<String,Object>singletonMap("processInstanceIds", processInstanceIds)); }
private void archiveProcessInstance(final SProcessInstance processInstance) throws SProcessInstanceModificationException { final SAProcessInstance saProcessInstance = BuilderFactory.get(SAProcessInstanceBuilderFactory.class).createNewInstance(processInstance).done(); final ArchiveInsertRecord insertRecord = new ArchiveInsertRecord(saProcessInstance); try { archiveService.recordInsert(System.currentTimeMillis(), insertRecord); } catch (final SRecorderException e) { throw new SProcessInstanceModificationException(e); } }
@Override public void archiveAndDeleteUserTaskData(final long userTaskId, final long archiveDate) throws SObjectModificationException { try { final List<STaskContractData> contractData = getContractDataOfUserTask(userTaskId); if (!contractData.isEmpty()) { final ArchiveInsertRecord[] records = buildArchiveUserTaskRecords(contractData); archiveService.recordInserts(archiveDate, records); for (STaskContractData taskContractData : contractData) { deleteUserTaskData(taskContractData); } } } catch (final SBonitaException sbe) { throw new SObjectModificationException(sbe); } }
@Override public long getNumberOfArchivedProcessInstancesSupervisedBy(final long userId, final QueryOptions countOptions) throws SBonitaReadException { final ReadPersistenceService persistenceService = archiveService.getDefinitiveArchiveReadPersistenceService(); final Map<String, Object> parameters = Collections.singletonMap(USER_ID, (Object) userId); return persistenceService.getNumberOfEntities(SAProcessInstance.class, SUPERVISED_BY, countOptions, parameters); }
@Override public void deleteArchivedFlowNodeInstances(List<Long> sourceObjectIds) throws SBonitaException { archiveService.deleteFromQuery("deleteArchivedFlowNodeInstances", Collections.<String, Object>singletonMap("sourceObjectIds", sourceObjectIds)); }
private void archiveProcessInstance(final SProcessInstance processInstance) throws SProcessInstanceModificationException { final SAProcessInstance saProcessInstance = BuilderFactory.get(SAProcessInstanceBuilderFactory.class).createNewInstance(processInstance).done(); final ArchiveInsertRecord insertRecord = new ArchiveInsertRecord(saProcessInstance); try { archiveService.recordInsert(System.currentTimeMillis(), insertRecord); } catch (final SRecorderException e) { throw new SProcessInstanceModificationException(e); } }
@Override public void archiveAndDeleteProcessData(final long processInstanceId, final long archiveDate) throws SObjectModificationException { try { final List<SProcessContractData> contractData = getContractDataOfProcess(processInstanceId); if (!contractData.isEmpty()) { final ArchiveInsertRecord[] records = buildArchiveProcessRecords(contractData); archiveService.recordInserts(archiveDate, records); for (SProcessContractData processContractData : contractData) { deleteProcessData(processContractData); } } } catch (final SBonitaException sbe) { throw new SObjectModificationException(sbe); } }
@Override public long getNumberOfArchivedProcessInstancesSupervisedBy(final long userId, final QueryOptions countOptions) throws SBonitaReadException { final ReadPersistenceService persistenceService = archiveService.getDefinitiveArchiveReadPersistenceService(); final Map<String, Object> parameters = Collections.singletonMap(USER_ID, (Object) userId); return persistenceService.getNumberOfEntities(SAProcessInstance.class, SUPERVISED_BY, countOptions, parameters); }
@Override public void deleteArchivedFlowNodeInstances(List<Long> sourceObjectIds) throws SBonitaException { archiveService.deleteFromQuery("deleteArchivedFlowNodeInstances", Collections.<String, Object>singletonMap("sourceObjectIds", sourceObjectIds)); }