@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); } } }
if (isAutoClaim(ksessionById, workItem, task)) { try { runtime.getTaskService().claim(taskId, (String) workItem.getParameter("SwimlaneActorId")); } catch (PermissionDeniedException e) { logger.warn("User {} is not allowed to auto claim task due to permission violation", workItem.getParameter("SwimlaneActorId"));
@Test public void testTaskCompleteGroupActors() throws Exception { TestWorkItemManager manager = new TestWorkItemManager(); ksession.setWorkItemManager(manager); WorkItemImpl workItem = new WorkItemImpl(); workItem.setName("Human Task"); workItem.setParameter("NodeName", "TaskName"); workItem.setParameter("Comment", "Comment"); workItem.setParameter("Priority", "10"); workItem.setParameter("GroupId", "Crusaders"); workItem.setProcessInstanceId(10); getHandler().executeWorkItem(workItem, manager); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Luke Cage", "en-UK"); assertEquals(1, tasks.size()); TaskSummary taskSummary = tasks.get(0); assertEquals("TaskName", taskSummary.getName()); assertEquals(10, taskSummary.getPriority().intValue()); assertEquals("Comment", taskSummary.getDescription()); assertEquals(Status.Ready, taskSummary.getStatus()); taskService.claim(taskSummary.getId(), "Luke Cage"); taskService.start(taskSummary.getId(), "Luke Cage"); taskService.complete(taskSummary.getId(), "Luke Cage", null); assertTrue(manager.waitTillCompleted(MANAGER_COMPLETION_WAIT_TIME)); String actualOwner = (String) manager.getResults().get("ActorId"); assertNotNull(actualOwner); assertEquals("Luke Cage", actualOwner); }
runtime1.getTaskService().claim(tasks1.get(0), "john"); runtime1.getTaskService().start(tasks1.get(0), "john"); runtime1.getTaskService().complete(tasks1.get(0), "john", Collections.singletonMap("_output", data));
@Test public void testTaskMultipleActors() throws Exception { TestWorkItemManager manager = new TestWorkItemManager(); ksession.setWorkItemManager(manager); WorkItemImpl workItem = new WorkItemImpl(); workItem.setName("Human Task"); workItem.setParameter("NodeName", "TaskName"); workItem.setParameter("Comment", "Comment"); workItem.setParameter("Priority", "10"); workItem.setParameter("ActorId", "Darth Vader, Dalai Lama"); workItem.setProcessInstanceId(10); getHandler().executeWorkItem(workItem, manager); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK"); assertEquals(1, tasks.size()); TaskSummary task = tasks.get(0); assertEquals("TaskName", task.getName()); assertEquals(10, task.getPriority().intValue()); assertEquals("Comment", task.getDescription()); assertEquals(Status.Ready, task.getStatus()); taskService.claim(task.getId(), "Darth Vader"); taskService.start(task.getId(), "Darth Vader"); taskService.complete(task.getId(), "Darth Vader", null); assertTrue(manager.waitTillCompleted(MANAGER_COMPLETION_WAIT_TIME)); }
taskService.claim(taskSummary.getId(), "nocrusadaer"); } catch (PermissionDeniedException e) { denied = e;
runtime1.getTaskService().claim(tasks1.get(0), "john"); runtime1.getTaskService().start(tasks1.get(0), "john"); runtime1.getTaskService().complete(tasks1.get(0), "john", Collections.singletonMap("_output", data));
runtime1.getTaskService().claim(tasks1.get(0), "john"); runtime1.getTaskService().start(tasks1.get(0), "john"); runtime1.getTaskService().complete(tasks1.get(0), "john", Collections.singletonMap("_output", data));
public void claimTask(String userId, long taskId) { RuntimeEngine runtime = getRuntime(); runtime.getTaskService().claim(taskId, userId); manager.disposeRuntimeEngine(runtime); }
@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); } } }
if (isAutoClaim(ksessionById, workItem, task)) { try { runtime.getTaskService().claim(taskId, (String) workItem.getParameter("SwimlaneActorId")); } catch (PermissionDeniedException e) { logger.warn("User {} is not allowed to auto claim task due to permission violation", workItem.getParameter("SwimlaneActorId"));
TaskSummary task1 = taskService.getTasksAssignedAsPotentialOwner("sales-rep", "en-UK").get(0); System.out.println("Sales-rep executing task " + task1.getName() + "(" + task1.getId() + ": " + task1.getDescription() + ")"); taskService.claim(task1.getId(), "sales-rep"); taskService.start(task1.getId(), "sales-rep"); Map<String, Object> results = new HashMap<String, Object>(); taskService.claim(task3.getId(), "john"); taskService.start(task3.getId(), "john"); results = new HashMap<String, Object>();
System.out.println("John executing task " + task2.getName() + "(" + task2.getId() + ": " + task2.getDescription() + ")"); System.out.println(taskService.getTasksAssignedAsPotentialOwner("john", "en-UK").size()); taskService.claim(task2.getId(), "john"); taskService.start(task2.getId(), "john"); taskService.complete(task2.getId(), "john", null); taskService.claim(task3.getId(), "mary"); taskService.delegate(task3.getId(), "mary", "krisv");
public void minimumRestBuilderExample() throws Exception { RuntimeEngine runtimeEngine = RemoteRuntimeEngineFactory.newRestBuilder() .addUserName("user") .addPassword("pass") .addUrl(new URL("http://localhost:8080/business-central")) .build(); runtimeEngine.getTaskService().claim(23l, "user"); // This will throw a MissingRequiredInfoException because the deployment id is required here runtimeEngine.getKieSession().startProcess("org.test.process"); }
public void minimumRestBuilderExample() throws Exception { RemoteRestRuntimeEngineFactory factory = RemoteRestRuntimeEngineFactory.newBuilder() .addUserName("user") .addPassword("pass") .addUrl(new URL("http://localhost:8080/business-central")) .build(); RuntimeEngine runtimeEngine = factory.newRuntimeEngine(); runtimeEngine.getTaskService().claim(23l, "user"); // This will throw a MissingRequiredInfoException because the deployment id is required here runtimeEngine.getKieSession().startProcess("org.test.process"); } }
@Test public void setHeaderFields() throws Exception { RuntimeEngine runtimeEngine = RemoteRuntimeEngineFactory.newRestBuilder() .addUserName("user") .addPassword("pass") .addUrl(new URL("http://localhost:8080/business-central")) .addHeader("HEADER-NAME", "header-value") .clearHeaderFields() .addCorrelationProperties() .addDeploymentId("dep-id") .build(); try { runtimeEngine.getTaskService().claim(23l, "user"); fail( "This should have failed because there's no server running... "); } catch( org.kie.remote.client.api.exception.RemoteCommunicationException rce ) { // expected } } }
@Test public void testTaskCompleteGroupActors() throws Exception { TestWorkItemManager manager = new TestWorkItemManager(); ksession.setWorkItemManager(manager); WorkItemImpl workItem = new WorkItemImpl(); workItem.setName("Human Task"); workItem.setParameter("NodeName", "TaskName"); workItem.setParameter("Comment", "Comment"); workItem.setParameter("Priority", "10"); workItem.setParameter("GroupId", "Crusaders"); workItem.setProcessInstanceId(10); getHandler().executeWorkItem(workItem, manager); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Luke Cage", "en-UK"); assertEquals(1, tasks.size()); TaskSummary taskSummary = tasks.get(0); assertEquals("TaskName", taskSummary.getName()); assertEquals(10, taskSummary.getPriority().intValue()); assertEquals("Comment", taskSummary.getDescription()); assertEquals(Status.Ready, taskSummary.getStatus()); taskService.claim(taskSummary.getId(), "Luke Cage"); taskService.start(taskSummary.getId(), "Luke Cage"); taskService.complete(taskSummary.getId(), "Luke Cage", null); assertTrue(manager.waitTillCompleted(MANAGER_COMPLETION_WAIT_TIME)); String actualOwner = (String) manager.getResults().get("ActorId"); assertNotNull(actualOwner); assertEquals("Luke Cage", actualOwner); }
@Test public void testTaskMultipleActors() throws Exception { TestWorkItemManager manager = new TestWorkItemManager(); ksession.setWorkItemManager(manager); WorkItemImpl workItem = new WorkItemImpl(); workItem.setName("Human Task"); workItem.setParameter("NodeName", "TaskName"); workItem.setParameter("Comment", "Comment"); workItem.setParameter("Priority", "10"); workItem.setParameter("ActorId", "Darth Vader, Dalai Lama"); workItem.setProcessInstanceId(10); getHandler().executeWorkItem(workItem, manager); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Darth Vader", "en-UK"); assertEquals(1, tasks.size()); TaskSummary task = tasks.get(0); assertEquals("TaskName", task.getName()); assertEquals(10, task.getPriority().intValue()); assertEquals("Comment", task.getDescription()); assertEquals(Status.Ready, task.getStatus()); taskService.claim(task.getId(), "Darth Vader"); taskService.start(task.getId(), "Darth Vader"); taskService.complete(task.getId(), "Darth Vader", null); assertTrue(manager.waitTillCompleted(MANAGER_COMPLETION_WAIT_TIME)); }
taskService.claim(taskSummary.getId(), "nocrusadaer"); } catch (PermissionDeniedException e) { denied = e;