void processDocumentOnIndex(final DocumentValue documentValue, final String documentName, final long processInstanceId, final List<SMappedDocument> currentList, final int index, final long authorId) throws SObjectCreationException, SObjectAlreadyExistsException, SObjectNotFoundException, SObjectModificationException { if (documentValue.getDocumentId() != null) { // if hasChanged update final SMappedDocument documentToUpdate = getDocumentHavingDocumentIdAndRemoveFromList(currentList, documentValue.getDocumentId(), documentName, processInstanceId); updateExistingDocument(documentToUpdate, index, documentValue, authorId); } else { // create new element documentService.attachDocumentToProcessInstance(createDocumentObject(documentValue, authorId), processInstanceId, documentName, null, index); } }
void processDocumentOnIndex(final DocumentValue documentValue, final String documentName, final long processInstanceId, final List<SMappedDocument> currentList, final int index, final long authorId) throws SObjectCreationException, SObjectAlreadyExistsException, SObjectNotFoundException, SObjectModificationException { if (documentValue.getDocumentId() != null) { // if hasChanged update final SMappedDocument documentToUpdate = getDocumentHavingDocumentIdAndRemoveFromList(currentList, documentValue.getDocumentId(), documentName, processInstanceId); updateExistingDocument(documentToUpdate, index, documentValue, authorId); } else { // create new element documentService.attachDocumentToProcessInstance(createDocumentObject(documentValue, authorId), processInstanceId, documentName, null, index); } }
@Override public Object update(final SLeftOperand sLeftOperand, Map<String, Object> inputValues, final Object newValue, final long containerId, final String containerType) throws SOperationExecutionException { final DocumentValue documentValue = documentHelper.toCheckedDocumentValue(newValue); final String documentName = sLeftOperand.getName(); long processInstanceId; try { processInstanceId = getProcessInstanceId(containerId, containerType); if (newValue == null) { // we just delete the current version documentHelper.deleteDocument(documentName, processInstanceId); } else { if (documentValue.getDocumentId() != null && !documentValue.hasChanged()) { //do not update if the document value say it did not changed return newValue; } documentHelper.createOrUpdateDocument(documentValue, documentName, processInstanceId, getAuthorId(containerId, containerType), null); } return newValue; } catch (final SBonitaException e) { throw new SOperationExecutionException(e); } }
@Override public Object update(final SLeftOperand sLeftOperand, Map<String, Object> inputValues, final Object newValue, final long containerId, final String containerType) throws SOperationExecutionException { final DocumentValue documentValue = documentHelper.toCheckedDocumentValue(newValue); final String documentName = sLeftOperand.getName(); long processInstanceId; try { processInstanceId = getProcessInstanceId(containerId, containerType); if (newValue == null) { // we just delete the current version documentHelper.deleteDocument(documentName, processInstanceId); } else { if (documentValue.getDocumentId() != null && !documentValue.hasChanged()) { //do not update if the document value say it did not changed return newValue; } documentHelper.createOrUpdateDocument(documentValue, documentName, processInstanceId, getAuthorId(containerId, containerType), null); } return newValue; } catch (final SBonitaException e) { throw new SOperationExecutionException(e); } }