public String getWorkItem(String containerId, Number processInstanceId, Number workItemId, String marshallingType) { containerId = context.getContainerId(containerId, new ByProcessInstanceIdContainerLocator(processInstanceId.longValue())); WorkItem workItem = processService.getWorkItem(containerId, processInstanceId.longValue(), workItemId.longValue()); if (workItem == null) { throw new IllegalStateException("Unable to find work item with id " + workItemId); } WorkItemInstance workItemInstance = WorkItemInstance.builder() .id(workItem.getId()) .nodeInstanceId(((org.drools.core.process.instance.WorkItem) workItem).getNodeInstanceId()) .processInstanceId(workItem.getProcessInstanceId()) .containerId(((org.drools.core.process.instance.WorkItem) workItem).getDeploymentId()) .name(workItem.getName()) .nodeId(((org.drools.core.process.instance.WorkItem) workItem).getNodeId()) .parameters(workItem.getParameters()) .state(workItem.getState()) .build(); logger.debug("About to marshal work item {}", workItemInstance); String response = marshallerHelper.marshal(containerId, marshallingType, workItemInstance, new ByProcessInstanceIdContainerLocator(processInstanceId.longValue())); return response; }
@Test public void testGetWorkItemByProcessInstanceId() { Long workItemId = 1L; Long processInstanceId = 2L; WorkItemInstance workItem = WorkItemInstance.builder() .id(workItemId) .parameters(singletonMap("key", "value")) .build(); when(processServicesClient.getWorkItem(containerId, processInstanceId, workItemId)).thenReturn(workItem); final WorkItemSummary summary = service.getWorkItemByProcessInstanceId(serverTemplateId, containerId, processInstanceId, workItemId); assertNotNull(summary); assertWorkItemSummary(workItem, summary); }
@Test public void testGetWorkItemByProcessInstanceId() { Long workItemId = 1L; Long processInstanceId = 2L; WorkItemInstance workItem = WorkItemInstance.builder() .id(workItemId) .parameters(singletonMap("key", "value")) .build(); when(processServicesClient.getWorkItem(containerId, processInstanceId, workItemId)).thenReturn(workItem); final WorkItemSummary summary = service.getWorkItemByProcessInstanceId(serverTemplateId, containerId, processInstanceId, workItemId); assertNotNull(summary); assertWorkItemSummary(workItem, summary); }
public String getWorkItemByProcessInstance(String containerId, Number processInstanceId, String marshallingType) { containerId = context.getContainerId(containerId, new ByProcessInstanceIdContainerLocator(processInstanceId.longValue())); List<WorkItem> workItems = processService.getWorkItemByProcessInstance(containerId, processInstanceId.longValue()); WorkItemInstance[] instances = new WorkItemInstance[workItems.size()]; int counter = 0; for (WorkItem workItem : workItems) { WorkItemInstance workItemInstance = WorkItemInstance.builder() .id(workItem.getId()) .nodeInstanceId(((org.drools.core.process.instance.WorkItem) workItem).getNodeInstanceId()) .processInstanceId(workItem.getProcessInstanceId()) .containerId(((org.drools.core.process.instance.WorkItem) workItem).getDeploymentId()) .name(workItem.getName()) .nodeId(((org.drools.core.process.instance.WorkItem) workItem).getNodeId()) .parameters(workItem.getParameters()) .state(workItem.getState()) .build(); instances[counter] = workItemInstance; counter++; } WorkItemInstanceList result = new WorkItemInstanceList(instances); logger.debug("About to marshal work items {}", result); String response = marshallerHelper.marshal(containerId, marshallingType, result); return response; }
@Test public void testWorkItemSummaryMapper_mapWorkItemSummary() { final WorkItemInstance workItemInstance = WorkItemInstance.builder() .id(1L) .name("Human Task") .parameters(singletonMap("initiator", "String")) .build(); assertWorkItemSummary(workItemInstance, new WorkItemSummaryMapper().apply(workItemInstance)); }
@Test public void testWorkItemSummaryMapper_mapWorkItemSummary() { final WorkItemInstance workItemInstance = WorkItemInstance.builder() .id(1L) .name("Human Task") .parameters(singletonMap("initiator", "String")) .build(); assertWorkItemSummary(workItemInstance, new WorkItemSummaryMapper().apply(workItemInstance)); }