workItemInfo = em.find(WorkItemInfo.class, id);
}
// work item may have been aborted
if (workItemInfo != null) {
WorkItem workItem = (WorkItemImpl) workItemInfo.getWorkItem();
workItem.setResults(results);
ProcessInstance processInstance = workingMemory.getProcessInstance(workItem.getProcessInstanceId());
workItem.setState(WorkItem.COMPLETED);
// process instance may have finished already
if (processInstance != null) {
processInstance.signalEvent("workItemCompleted", workItem);
}
em.remove(workItemInfo);
if (workItems != null) {
this.workItems.remove(workItem.getId());
}
workingMemory.fireAllRules();
}
}