@Test public void testMessageIntermediateThrowVerifyWorkItemData() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventMessage.bpmn2"); ksession = createKnowledgeSession(kbase); TestWorkItemHandler handler = new TestWorkItemHandler(); ksession.getWorkItemManager().registerWorkItemHandler("Send Task", handler); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "MyValue"); ProcessInstance processInstance = ksession.startProcess("MessageIntermediateEvent", params); assertProcessInstanceCompleted(processInstance); WorkItem workItem = handler.getWorkItem(); assertThat(workItem).isNotNull(); assertThat(workItem instanceof org.drools.core.process.instance.WorkItem).isTrue(); long nodeInstanceId = ((org.drools.core.process.instance.WorkItem) workItem).getNodeInstanceId(); long nodeId = ((org.drools.core.process.instance.WorkItem) workItem).getNodeId(); assertThat(nodeId).isNotNull(); assertThat(nodeId > 0).isTrue(); assertThat(nodeInstanceId).isNotNull(); assertThat(nodeInstanceId > 0).isTrue(); }
long nodeId = ((org.drools.core.process.instance.WorkItem) workItem).getNodeId(); String deploymentId = ((org.drools.core.process.instance.WorkItem) workItem).getDeploymentId(); nodeId = ((org.drools.core.process.instance.WorkItem) workItem).getNodeId(); deploymentId = ((org.drools.core.process.instance.WorkItem) workItem).getDeploymentId();
public static JBPMMessages.WorkItem writeWorkItem(MarshallerWriteContext context, WorkItem workItem, boolean includeVariables) throws IOException { JBPMMessages.WorkItem.Builder _workItem = JBPMMessages.WorkItem.newBuilder() .setId( workItem.getId() ) .setProcessInstancesId( workItem.getProcessInstanceId() ) .setName( workItem.getName() ) .setState( workItem.getState() ); if (workItem instanceof org.drools.core.process.instance.WorkItem) { if (((org.drools.core.process.instance.WorkItem)workItem).getDeploymentId() != null){ _workItem.setDeploymentId(((org.drools.core.process.instance.WorkItem)workItem).getDeploymentId()); } _workItem.setNodeId(((org.drools.core.process.instance.WorkItem)workItem).getNodeId()) .setNodeInstanceId(((org.drools.core.process.instance.WorkItem)workItem).getNodeInstanceId()); } if ( includeVariables ) { Map<String, Object> parameters = workItem.getParameters(); for ( Map.Entry<String, Object> entry : parameters.entrySet() ) { _workItem.addVariable( marshallVariable( context, entry.getKey(), entry.getValue() ) ); } } return _workItem.build(); }
@Override public Void execute(Context context) { KieSession ksession = ((RegistryContext) context).lookup( KieSession.class ); ProcessInstance processInstance = ksession.getProcessInstance(pId); assertNotNull(processInstance); NodeInstance nodeInstance = ((WorkflowProcessInstance) processInstance) .getNodeInstance(((org.drools.core.process.instance.WorkItem) workItem).getNodeInstanceId()); assertNotNull(nodeInstance); assertTrue(nodeInstance instanceof WorkItemNodeInstance); String deploymentId = ((WorkItemNodeInstance) nodeInstance).getWorkItem().getDeploymentId(); long nodeInstanceId = ((WorkItemNodeInstance) nodeInstance).getWorkItem().getNodeInstanceId(); long nodeId = ((WorkItemNodeInstance) nodeInstance).getWorkItem().getNodeId(); assertEquals(((org.drools.core.process.instance.WorkItem) workItem).getDeploymentId(), deploymentId); assertEquals(((org.drools.core.process.instance.WorkItem) workItem).getNodeId(), nodeId); assertEquals(((org.drools.core.process.instance.WorkItem) workItem).getNodeInstanceId(), nodeInstanceId); return null; } });
long nodeId = ((org.drools.core.process.instance.WorkItem) workItem).getNodeId(); String deploymentId = ((org.drools.core.process.instance.WorkItem) workItem).getDeploymentId(); nodeId = ((org.drools.core.process.instance.WorkItem) workItem).getNodeId(); deploymentId = ((org.drools.core.process.instance.WorkItem) workItem).getDeploymentId();
@Test public void testMessageIntermediateThrowVerifyWorkItemData() throws Exception { KieBase kbase = createKnowledgeBase("BPMN2-IntermediateThrowEventMessage.bpmn2"); ksession = createKnowledgeSession(kbase); TestWorkItemHandler handler = new TestWorkItemHandler(); ksession.getWorkItemManager().registerWorkItemHandler("Send Task", handler); Map<String, Object> params = new HashMap<String, Object>(); params.put("x", "MyValue"); ProcessInstance processInstance = ksession.startProcess("MessageIntermediateEvent", params); assertProcessInstanceCompleted(processInstance); WorkItem workItem = handler.getWorkItem(); assertThat(workItem).isNotNull(); assertThat(workItem instanceof org.drools.core.process.instance.WorkItem).isTrue(); long nodeInstanceId = ((org.drools.core.process.instance.WorkItem) workItem).getNodeInstanceId(); long nodeId = ((org.drools.core.process.instance.WorkItem) workItem).getNodeId(); assertThat(nodeId).isNotNull(); assertThat(nodeId > 0).isTrue(); assertThat(nodeInstanceId).isNotNull(); assertThat(nodeInstanceId > 0).isTrue(); }
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; }
long nodeId = ((org.drools.core.process.instance.WorkItem) workItem).getNodeId(); String deploymentId = ((org.drools.core.process.instance.WorkItem) workItem).getDeploymentId(); nodeId = ((org.drools.core.process.instance.WorkItem) workItem).getNodeId(); deploymentId = ((org.drools.core.process.instance.WorkItem) workItem).getDeploymentId();
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; }
public static JBPMMessages.WorkItem writeWorkItem(MarshallerWriteContext context, WorkItem workItem, boolean includeVariables) throws IOException { JBPMMessages.WorkItem.Builder _workItem = JBPMMessages.WorkItem.newBuilder() .setId( workItem.getId() ) .setProcessInstancesId( workItem.getProcessInstanceId() ) .setName( workItem.getName() ) .setState( workItem.getState() ); if (workItem instanceof org.drools.core.process.instance.WorkItem) { if (((org.drools.core.process.instance.WorkItem)workItem).getDeploymentId() != null){ _workItem.setDeploymentId(((org.drools.core.process.instance.WorkItem)workItem).getDeploymentId()); } _workItem.setNodeId(((org.drools.core.process.instance.WorkItem)workItem).getNodeId()) .setNodeInstanceId(((org.drools.core.process.instance.WorkItem)workItem).getNodeInstanceId()); } if ( includeVariables ) { Map<String, Object> parameters = workItem.getParameters(); for ( Map.Entry<String, Object> entry : parameters.entrySet() ) { _workItem.addVariable( marshallVariable( context, entry.getKey(), entry.getValue() ) ); } } return _workItem.build(); }
@Override public Void execute(Context context) { KieSession ksession = ((RegistryContext) context).lookup( KieSession.class ); ProcessInstance processInstance = ksession.getProcessInstance(pId); assertNotNull(processInstance); NodeInstance nodeInstance = ((WorkflowProcessInstance) processInstance) .getNodeInstance(((org.drools.core.process.instance.WorkItem) workItem).getNodeInstanceId()); assertNotNull(nodeInstance); assertTrue(nodeInstance instanceof WorkItemNodeInstance); String deploymentId = ((WorkItemNodeInstance) nodeInstance).getWorkItem().getDeploymentId(); long nodeInstanceId = ((WorkItemNodeInstance) nodeInstance).getWorkItem().getNodeInstanceId(); long nodeId = ((WorkItemNodeInstance) nodeInstance).getWorkItem().getNodeId(); assertEquals(((org.drools.core.process.instance.WorkItem) workItem).getDeploymentId(), deploymentId); assertEquals(((org.drools.core.process.instance.WorkItem) workItem).getNodeId(), nodeId); assertEquals(((org.drools.core.process.instance.WorkItem) workItem).getNodeInstanceId(), nodeInstanceId); return null; } });
long nodeId = ((org.drools.core.process.instance.WorkItem) workItem).getNodeId(); String deploymentId = ((org.drools.core.process.instance.WorkItem) workItem).getDeploymentId(); nodeId = ((org.drools.core.process.instance.WorkItem) workItem).getNodeId(); deploymentId = ((org.drools.core.process.instance.WorkItem) workItem).getDeploymentId();