@Override public List<InternalProcessInstance> getProcessInstances(final int fromIndex, final int pageSize, final ProcessInstanceCriterion pagingCriterion) { return getDbSession().getProcessInstances(fromIndex, pageSize, pagingCriterion); }
@Override public Execution getExecutionOnActivity(final ProcessInstanceUUID instanceUUID, final ActivityInstanceUUID activityUUID) { Misc.checkArgsNotNull(instanceUUID, activityUUID); final InternalProcessInstance instance = getProcessInstance(instanceUUID); if (instance != null) { return getExecOnNode(instance.getRootExecution(), activityUUID); } return getDbSession().getExecutionPointingOnNode(activityUUID); }
@Override public Set<ProcessInstanceUUID> getParentInstancesUUIDs() { final Set<InternalProcessInstance> parentInstances = getParentInstances(); final Set<ProcessInstanceUUID> result = new HashSet<ProcessInstanceUUID>(); for (final InternalProcessInstance instance : parentInstances) { result.add(instance.getUUID()); } return result; }
@Override public Set<TaskInstance> getUserTasks(final String userId, final ActivityState taskState) { final Collection<ActivityState> taskStates = new HashSet<ActivityState>(); taskStates.add(taskState); return getUserTasks(userId, taskStates); }
private Execution getExecOnNode(final Execution exec, final ActivityInstanceUUID activityInstanceUUID) { Misc.checkArgsNotNull(exec, activityInstanceUUID); if (exec.getExecutions() == null || exec.getExecutions().isEmpty()) { if (exec.getNode() != null && exec.getActivityInstanceUUID() != null && exec.getActivityInstanceUUID().equals(activityInstanceUUID)) { return exec; } } else { for (final Execution child : exec.getExecutions()) { final Execution found = getExecOnNode(child, activityInstanceUUID); if (found != null) { return found; } } } return null; }
@Override public Set<TaskInstance> getUserTasks(final String userId, final ActivityState taskState, final Set<ProcessDefinitionUUID> definitionUUIDs) { final Collection<ActivityState> taskStates = new HashSet<ActivityState>(); taskStates.add(taskState); final Set<TaskInstance> userTasks = getUserTasks(userId, taskStates); final Set<TaskInstance> filteredTasks = new HashSet<TaskInstance>(); for (final TaskInstance taskInstance : userTasks) { if (definitionUUIDs.contains(taskInstance.getProcessDefinitionUUID())) { filteredTasks.add(taskInstance); } } return filteredTasks; }
@Override public List<InternalProcessInstance> getParentProcessInstancesExcept(final Set<ProcessDefinitionUUID> exceptions, final int fromIndex, final int pageSize, final ProcessInstanceCriterion pagingCriterion) { return getDbSession().getParentProcessInstancesExcept(exceptions, fromIndex, pageSize, pagingCriterion); }
@Override public Set<InternalProcessInstance> getProcessInstancesWithTaskState(final Collection<ActivityState> activityStates) { final Set<InternalProcessInstance> dbInstances = getDbSession().getProcessInstancesWithTaskState(activityStates); if (dbInstances == null) { return Collections.emptySet(); } return dbInstances; }
@Override public List<InternalProcessInstance> getProcessInstances(final Set<ProcessDefinitionUUID> definitionUUIDs, final int fromIndex, final int pageSize, final ProcessInstanceCriterion pagingCriterion) { return getDbSession().getProcessInstances(definitionUUIDs, fromIndex, pageSize, pagingCriterion); }
@Override public List<InternalProcessInstance> getParentUserInstances(final String userId, final int startingIndex, final int pageSize, final Set<ProcessDefinitionUUID> definitionUUIDs) { final List<InternalProcessInstance> dbInstances = getDbSession().getParentUserInstances(userId, startingIndex, pageSize, definitionUUIDs); if (dbInstances == null) { return Collections.emptyList(); } return dbInstances; }
@Override public List<InternalProcessInstance> getParentProcessInstancesWithInvolvedUser(final String userId, final int startingIndex, final int pageSize) { final List<InternalProcessInstance> dbInstances = getDbSession().getParentProcessInstancesWithInvolvedUser(userId, startingIndex, pageSize); if (dbInstances == null) { return Collections.emptyList(); } return dbInstances; }
@Override public Integer getNumberOfParentProcessInstancesWithActiveUser(final String userId, final Set<ProcessDefinitionUUID> visibleProcessUUIDs) { return getDbSession().getNumberOfParentProcessInstancesWithActiveUser(userId, visibleProcessUUIDs); }
@Override public Integer getNumberOfParentProcessInstancesWithInvolvedUser(final String userId, final Set<ProcessDefinitionUUID> visibleProcessUUIDs) { return getDbSession().getNumberOfParentProcessInstancesWithInvolvedUser(userId, visibleProcessUUIDs); }
@Override public List<Long> getActivityInstancesExecutionTimeFromProcessUUIDs(final Set<ProcessDefinitionUUID> processUUIDs, final Date since, final Date until) { return getDbSession().getActivityInstancesExecutionTimeFromProcessUUIDs(processUUIDs, since, until); }
@Override public List<Long> getActivityInstancesExecutionTime(final ActivityDefinitionUUID activityUUID, final Date since, final Date until) { return getDbSession().getActivityInstancesExecutionTime(activityUUID, since, until); }
@Override public List<Long> getTaskInstancesWaitingTimeOfUser(final String username, final ProcessDefinitionUUID processUUID, final Date since, final Date until) { return getDbSession().getTaskInstancesWaitingTimeOfUser(username, processUUID, since, until); }
@Override public List<Long> getTaskInstancesWaitingTimeOfUser(final String username, final ActivityDefinitionUUID taskUUID, final Date since, final Date until) { return getDbSession().getTaskInstancesWaitingTimeOfUser(username, taskUUID, since, until); }
@Override public List<Long> getTaskInstancesWaitingTimeOfUserFromTaskUUIDs(final String username, final Set<ActivityDefinitionUUID> taskUUIDs, final Date since, final Date until) { return getDbSession().getTaskInstancesWaitingTimeOfUserFromTaskUUIDs(username, taskUUIDs, since, until); }
@Override public List<Long> getActivityInstancesDurationFromProcessUUIDs(final Set<ProcessDefinitionUUID> processUUIDs, final Date since, final Date until) { return getDbSession().getActivityInstancesDurationFromProcessUUIDs(processUUIDs, since, until); }
@Override public List<Long> getActivityInstancesDuration(final ActivityDefinitionUUID activityUUID, final Date since, final Date until) { return getDbSession().getActivityInstancesDuration(activityUUID, since, until); }