I want to supply a list of string Id values and create a task query that returns all active tasks wherein, every value is reflected in the process variable of the Returned task list. at the moment I have the following code:
try {
return bdoIds.stream().map(objId -> taskService.createTaskQuery().active()
.processVariableValueEquals("businessDomainObjectId", objId).includeProcessVariables().singleResult())
.collect(Collectors.toList());
}
catch (Exception ge){
ge.printStackTrace()
return Collections.emptyList();
}
}
Which seems terribly inefficient and will not scale very well at all.
Can this be refactored such that I’m not executing a task query for every id?