in data-index/data-index-graphql/src/main/java/org/kie/kogito/index/graphql/AbstractGraphQLSchemaManager.java [191:219]
public List<String> getExecutionSummary(DataFetchingEnvironment env) {
ProcessInstance pi = env.getSource();
List<String> summary = new ArrayList<>();
List<NodeInstance> nodes = pi.getNodes();
nodes.sort((u, v) -> u.getEnter().compareTo(v.getEnter()));
ListIterator<NodeInstance> iter = nodes.listIterator();
summary.add(String.format(START_MESSAGE, pi.getStart()));
while (iter.hasNext()) {
NodeInstance item = iter.next();
if (Boolean.TRUE.equals(item.isRetrigger())) {
summary.add(String.format(RETRIGGERED_MESSAGE, item.getEnter()));
}
if (item.getErrorMessage() != null) {
summary.add(String.format(FAILED_MESSAGE, item.getErrorMessage(), item.getEnter()));
}
}
if (pi.getState() == KogitoProcessInstance.STATE_ACTIVE) {
while (iter.hasPrevious()) {
NodeInstance last = iter.previous();
if (last.getName() != null && last.getExit() == null) {
summary.add(String.format(WAITING_MESSAGE, last.getName(), last.getEnter()));
}
break;
}
} else if (pi.getState() == KogitoProcessInstance.STATE_COMPLETED) {
summary.add(String.format(COMPLETED_MESSAGE, pi.getEnd()));
}
return summary;
}