@Before public void setup() { for (int customerId = 1; customerId <= 5; customerId++) { ProcessInstance pi = sf.getWorkflowService() .startProcess(new QName(MODEL_NAME2, "OrderCreation").toString(), null, true); List<ActivityInstance> w = getWorklist(); Assert.assertEquals("worklist", 1, w.size()); ActivityInstance ai = w.get(0); Assert.assertEquals("process instance", pi.getOID(), ai.getProcessInstanceOID()); Assert.assertEquals("activity instance", "EnterOrderData", ai.getActivity().getId()); Map<String, Object> order = CollectionUtils.newMap(); order.put("date", new Date()); order.put("customerId", customerId); ai = complete( ai, PredefinedConstants.DEFAULT_CONTEXT, Collections.singletonMap("Order", order)); try { ProcessInstanceStateBarrier.instance().await(pi.getOID(), ProcessInstanceState.Completed); } catch (Exception e) { } w = getWorklist(); } }
@SuppressWarnings("unchecked") private List<ActivityInstance> getWorklist(ProcessInstance pi, EvaluationPolicy... policies) { WorkflowService ws = sf.getWorkflowService(); WorklistQuery query = WorklistQuery.findCompleteWorklist(); if (policies != null) { for (EvaluationPolicy policy : policies) { query.setPolicy(policy); } } query.getFilter().add(new ProcessInstanceFilter(pi.getOID(), false)); Worklist worklist = ws.getWorklist(query); return worklist.getCumulatedItems(); }