@Override public void executeWorkItem(WorkItem workItem, WorkItemManager manager) { Task task = createTaskBasedOnWorkItemParams(ksession, workItem); ContentData content = createTaskContentBasedOnWorkItemParams(ksession, workItem); try { long taskId = ((InternalTaskService) taskService).addTask(task, content); if (isAutoClaim(ksession, workItem, task)) { taskService.claim(taskId, (String) workItem.getParameter("SwimlaneActorId")); } } catch (Exception e) { if (action.equals(OnErrorAction.ABORT)) { manager.abortWorkItem(workItem.getId()); } else if (action.equals(OnErrorAction.RETHROW)) { if (e instanceof RuntimeException) { throw (RuntimeException) e; } else { throw new RuntimeException(e); } } else if (action.equals(OnErrorAction.LOG)) { StringBuilder logMsg = new StringBuilder(); logMsg.append(new Date()).append(": Error when creating task on task server for work item id ").append(workItem.getId()); logMsg.append(". Error reported by task server: ").append(e.getMessage()); logger.error(logMsg.toString(), e); } } }
@Override public void executeWorkItem(WorkItem workItem, WorkItemManager manager) { Task task = createTaskBasedOnWorkItemParams(ksession, workItem); ContentData content = createTaskContentBasedOnWorkItemParams(ksession, workItem); try { long taskId = ((InternalTaskService) taskService).addTask(task, content); if (isAutoClaim(ksession, workItem, task)) { taskService.claim(taskId, (String) workItem.getParameter("SwimlaneActorId")); } } catch (Exception e) { if (action.equals(OnErrorAction.ABORT)) { manager.abortWorkItem(workItem.getId()); } else if (action.equals(OnErrorAction.RETHROW)) { if (e instanceof RuntimeException) { throw (RuntimeException) e; } else { throw new RuntimeException(e); } } else if (action.equals(OnErrorAction.LOG)) { StringBuilder logMsg = new StringBuilder(); logMsg.append(new Date()).append(": Error when creating task on task server for work item id ").append(workItem.getId()); logMsg.append(". Error reported by task server: ").append(e.getMessage()); logger.error(logMsg.toString(), e); } } }