@Override public void insertEditorSourceForModel(String modelId, byte[] modelSource) { ModelEntity model = findById(modelId); if (model != null) { ByteArrayRef ref = new ByteArrayRef(model.getEditorSourceValueId()); ref.setValue("source", modelSource); if (model.getEditorSourceValueId() == null) { model.setEditorSourceValueId(ref.getId()); updateModel(model); } } }
public void updateInfoJson(String id, byte[] json) { ProcessDefinitionInfoEntity processDefinitionInfo = findById(id); if (processDefinitionInfo != null) { ByteArrayRef ref = new ByteArrayRef(processDefinitionInfo.getInfoJsonId()); ref.setValue("json", json); if (processDefinitionInfo.getInfoJsonId() == null) { processDefinitionInfo.setInfoJsonId(ref.getId()); updateProcessDefinitionInfo(processDefinitionInfo); } } }
@Override public byte[] findEditorSourceExtraByModelId(String modelId) { ModelEntity model = findById(modelId); if (model == null || model.getEditorSourceExtraValueId() == null) { return null; } ByteArrayRef ref = new ByteArrayRef(model.getEditorSourceExtraValueId()); return ref.getBytes(); }
private void deleteAllScopeTasks(ExecutionEntity scopeExecution, TaskEntityManager taskEntityManager) { Collection<TaskEntity> tasksForExecution = taskEntityManager.findTasksByExecutionId(scopeExecution.getId()); for (TaskEntity taskEntity : tasksForExecution) { taskEntityManager.deleteTask(taskEntity, execution.getDeleteReason(), false, false); } }
@Override public void insertEditorSourceExtraForModel(String modelId, byte[] modelSource) { ModelEntity model = findById(modelId); if (model != null) { ByteArrayRef ref = new ByteArrayRef(model.getEditorSourceExtraValueId()); ref.setValue("source-extra", modelSource); if (model.getEditorSourceExtraValueId() == null) { model.setEditorSourceExtraValueId(ref.getId()); updateModel(model); } } }
private void addAssigneeIdentityLinks(TaskEntity taskEntity) { if (taskEntity.getAssignee() != null && taskEntity.getProcessInstance() != null) { getIdentityLinkEntityManager().involveUser(taskEntity.getProcessInstance(), taskEntity.getAssignee(), IdentityLinkType.PARTICIPANT); } }
protected void addOwnerIdentityLink(TaskEntity taskEntity, String owner) { if (owner == null && taskEntity.getOwner() == null) { return; } if (owner != null && taskEntity.getProcessInstanceId() != null) { getIdentityLinkEntityManager().involveUser(taskEntity.getProcessInstance(), owner, IdentityLinkType.PARTICIPANT); } }
@Override public void insert(TaskEntity taskEntity, boolean fireCreateEvent) { if (taskEntity.getOwner() != null) { addOwnerIdentityLink(taskEntity, taskEntity.getOwner()); } if (taskEntity.getAssignee() != null) { addAssigneeIdentityLinks(taskEntity); } super.insert(taskEntity, fireCreateEvent); }
private ExecutionEntityManager deleteAllChildExecutions(ExecutionEntityManager executionEntityManager, ExecutionEntity scopeExecution) { // Delete all child executions Collection<ExecutionEntity> childExecutions = executionEntityManager.findChildExecutionsByParentExecutionId(scopeExecution.getId()); for (ExecutionEntity childExecution : childExecutions) { executionEntityManager.deleteExecutionAndRelatedData(childExecution, execution.getDeleteReason(), false); } return executionEntityManager; } }
@Override public void deleteIdentityLink(ProcessDefinitionEntity processDefinitionEntity, String userId, String groupId) { List<IdentityLinkEntity> identityLinks = findIdentityLinkByProcessDefinitionUserAndGroup(processDefinitionEntity.getId(), userId, groupId); for (IdentityLinkEntity identityLink : identityLinks) { deleteIdentityLink(identityLink, false); } }
@Override public byte[] findEditorSourceByModelId(String modelId) { ModelEntity model = findById(modelId); if (model == null || model.getEditorSourceValueId() == null) { return null; } ByteArrayRef ref = new ByteArrayRef(model.getEditorSourceValueId()); return ref.getBytes(); }
private void removeAllVariablesFromScope(ExecutionEntity scopeExecution, VariableInstanceEntityManager variableInstanceEntityManager) { Collection<VariableInstanceEntity> variablesForExecution = variableInstanceEntityManager.findVariableInstancesByExecutionId(scopeExecution.getId()); for (VariableInstanceEntity variable : variablesForExecution) { variableInstanceEntityManager.delete(variable); } }
@Override public CompensateEventSubscriptionEntity insertCompensationEvent(ExecutionEntity execution, String activityId) { CompensateEventSubscriptionEntity eventSubscription = createCompensateEventSubscription(); eventSubscription.setExecution(execution); eventSubscription.setActivityId(activityId); if (execution.getTenantId() != null) { eventSubscription.setTenantId(execution.getTenantId()); } insert(eventSubscription); return eventSubscription; }
public void setExceptionStacktrace(String exception) { if (exceptionByteArrayRef == null) { exceptionByteArrayRef = new ByteArrayRef(); } exceptionByteArrayRef.setValue("stacktrace", getUtf8Bytes(exception)); }
@Override public void delete(HistoricDetailEntity entity, boolean fireDeleteEvent) { super.delete(entity, fireDeleteEvent); if (entity instanceof HistoricDetailVariableInstanceUpdateEntity) { HistoricDetailVariableInstanceUpdateEntity historicDetailVariableInstanceUpdateEntity = ((HistoricDetailVariableInstanceUpdateEntity) entity); if (historicDetailVariableInstanceUpdateEntity.getByteArrayRef() != null) { historicDetailVariableInstanceUpdateEntity.getByteArrayRef().delete(); } } }
@Override public void delete(HistoricVariableInstanceEntity entity, boolean fireDeleteEvent) { super.delete(entity, fireDeleteEvent); if (entity.getByteArrayRef() != null) { entity.getByteArrayRef().delete(); } }
@Override public void delete(String modelId) { ModelEntity modelEntity = findById(modelId); super.delete(modelEntity); deleteEditorSource(modelEntity); deleteEditorSourceExtra(modelEntity); }
protected int getNumberOfActiveChildExecutionsForExecution(ExecutionEntityManager executionEntityManager, String executionId) { List<ExecutionEntity> executions = executionEntityManager.findChildExecutionsByParentExecutionId(executionId); int activeExecutions = 0; // Filter out the boundary events for (ExecutionEntity activeExecution : executions) { if (!(activeExecution.getCurrentFlowElement() instanceof BoundaryEvent)) { activeExecutions++; } } return activeExecutions; }
/** * Deletes a the byte array used to store the exception information. Subclasses may override * to provide custom implementations. */ protected void deleteExceptionByteArrayRef(DeadLetterJobEntity jobEntity) { ByteArrayRef exceptionByteArrayRef = jobEntity.getExceptionByteArrayRef(); if (exceptionByteArrayRef != null) { exceptionByteArrayRef.delete(); } }
@Override public void delete(ExecutionEntity entity, boolean fireDeleteEvent) { super.delete(entity, fireDeleteEvent); entity.setDeleted(true); }