use of org.kie.api.runtime.process.WorkItemManager in project jbpm by kiegroup.
the class UIWorkItemHandler method complete.
public void complete(WorkItem workItem, Map<String, Object> results) {
WorkItemManager manager = workItems.get(workItem);
if (manager != null) {
manager.completeWorkItem(workItem.getId(), results);
workItems.remove(workItem);
reloadWorkItemsList();
}
selectButton.setEnabled(getSelectedWorkItem() != null);
}
use of org.kie.api.runtime.process.WorkItemManager in project jbpm by kiegroup.
the class HumanTaskHandler method abort.
public void abort(WorkItem workItem) {
WorkItemManager manager = workItems.get(workItem);
if (manager != null) {
manager.abortWorkItem(workItem.getId());
}
workItems.remove(workItem);
update();
selectButton.setEnabled(getSelectedWorkItem() != null);
}
use of org.kie.api.runtime.process.WorkItemManager in project jbpm by kiegroup.
the class ExecutorLogCleanTest method deleteInfoLogsByStatus.
@Test
public void deleteInfoLogsByStatus() throws Exception {
CountDownAsyncJobListener countDownListener = new CountDownAsyncJobListener(1);
((ExecutorServiceImpl) getExecutorService()).addAsyncJobListener(countDownListener);
KieSession kieSession = createKSession(ASYNC_DATA_EXEC);
WorkItemManager wim = kieSession.getWorkItemManager();
wim.registerWorkItemHandler("async", new AsyncWorkItemHandler(getExecutorService()));
Map<String, Object> pm = new HashMap<String, Object>();
pm.put("command", "org.jbpm.test.jobexec.UserCommand");
ProcessInstance pi = kieSession.startProcess(ASYNC_DATA_EXEC_ID, pm);
// Wait for the job to complete
countDownListener.waitTillCompleted();
// Assert completion of the job
Assertions.assertThat(getExecutorService().getCompletedRequests(new QueryContext())).hasSize(1);
// Delete a record
int resultCount = auditService.requestInfoLogDeleteBuilder().status(STATUS.DONE).build().execute();
Assertions.assertThat(resultCount).isEqualTo(1);
// Assert remaining records
Assertions.assertThat(getExecutorService().getCompletedRequests(new QueryContext())).hasSize(0);
}
use of org.kie.api.runtime.process.WorkItemManager in project jbpm by kiegroup.
the class ExecutorLogCleanTest method deleteErrorLogsByDate.
@Test
@BZ("1188702")
public void deleteErrorLogsByDate() throws Exception {
CountDownAsyncJobListener countDownListener = new CountDownAsyncJobListener(2);
((ExecutorServiceImpl) getExecutorService()).addAsyncJobListener(countDownListener);
KieSession ksession = createKSession(ASYNC_DATA_EXEC);
WorkItemManager wim = ksession.getWorkItemManager();
wim.registerWorkItemHandler("async", new AsyncWorkItemHandler(getExecutorService()));
Map<String, Object> pm = new HashMap<String, Object>();
pm.put("command", "org.jbpm.test.jobexec.UserFailingCommand");
ProcessInstance pi = ksession.startProcess(ASYNC_DATA_EXEC_ID, pm);
// Wait for the all retries to fail
countDownListener.waitTillCompleted();
// Assert completion of the job
List<ErrorInfo> errorList = getExecutorService().getAllErrors(new QueryContext());
Assertions.assertThat(errorList).hasSize(2);
// Delete a record
int resultCount = auditService.errorInfoLogDeleteBuilder().date(errorList.get(0).getTime()).build().execute();
Assertions.assertThat(resultCount).isEqualTo(1);
// Assert remaining records
Assertions.assertThat(getExecutorService().getAllErrors(new QueryContext())).hasSize(1);
// Abort running process instance
ksession.abortProcessInstance(pi.getId());
}
use of org.kie.api.runtime.process.WorkItemManager in project jbpm by kiegroup.
the class AsyncTaskCallbackTest method testTaskCallback.
@Test(timeout = 30000)
public void testTaskCallback() throws Exception {
NodeLeftCountDownProcessEventListener countDownListener = new NodeLeftCountDownProcessEventListener("Continue", 1);
addProcessEventListener(countDownListener);
KieSession ksession = createKSession(ASYNC_EXECUTOR_CALLBACK, ASYNC_DATA_EXECUTOR);
WorkItemManager wim = ksession.getWorkItemManager();
wim.registerWorkItemHandler("async", new AsyncWorkItemHandler(getExecutorService()));
Map<String, Object> pm = new HashMap<String, Object>();
pm.put("_command", CALLBACK_COMMAND);
ProcessInstance pi = ksession.startProcess(ASYNC_EXECUTOR_CALLBACK_ID, pm);
// Wait for the job to be picked up and processed. The job will send
// the 'Continue' signal on OK or Fail. We expect OK.
countDownListener.waitTillCompleted();
ProcessInstance processInstance = ksession.getProcessInstance(pi.getId());
assertNull(processInstance);
// Make sure the user registered callback was executed (a.k.a the "continue" signal was received by the process)
assertNodeTriggered(pi.getId(), "Process async", "Continue");
assertProcessInstanceCompleted(pi.getId());
// Make sure the job was processed by the job executor (a.k.a the _user property was set)
List<VariableInstanceLog> varLogList = auditLogService.findVariableInstances(pi.getId(), "_user");
assertEquals(1, varLogList.size());
VariableInstanceLog userVarLog = varLogList.get(0);
assertEquals("[Name=john after command execution, age=25]", userVarLog.getValue());
}
Aggregations