@Override public void parseChildElement(XMLStreamReader xtr, BaseElement parentElement, BpmnModel model) throws Exception { String resourceElement = XMLStreamReaderUtil.moveDown(xtr); if (StringUtils.isNotEmpty(resourceElement) && ELEMENT_RESOURCE_ASSIGNMENT.equals(resourceElement)) { String expression = XMLStreamReaderUtil.moveDown(xtr); if (StringUtils.isNotEmpty(expression) && ELEMENT_FORMAL_EXPRESSION.equals(expression)) { ((UserTask) parentElement).setAssignee(xtr.getElementText()); } } } }
protected void fillAssigneeInfo(JsonNode idmDefNode, JsonNode canCompleteTaskNode, UserTask task) { JsonNode assigneeNode = idmDefNode.get("assignee"); if (assigneeNode != null && !assigneeNode.isNull()) { JsonNode idNode = assigneeNode.get("id"); JsonNode emailNode = assigneeNode.get("email"); if (idNode != null && !idNode.isNull() && StringUtils.isNotEmpty(idNode.asText())) { task.setAssignee(idNode.asText()); addExtensionElement("activiti-idm-assignee", String.valueOf(true), task); addExtensionElement("assignee-info-email", emailNode, task); addExtensionElement("assignee-info-firstname", assigneeNode.get("firstName"), task); addExtensionElement("assignee-info-lastname", assigneeNode.get("lastName"), task); } else if (emailNode != null && !emailNode.isNull() && StringUtils.isNotEmpty(emailNode.asText())) { task.setAssignee(emailNode.asText()); } } if (canCompleteTaskNode != null && !canCompleteTaskNode.isNull()) { addInitiatorCanCompleteExtensionElement(Boolean.valueOf(canCompleteTaskNode.asText()), task); } else { addInitiatorCanCompleteExtensionElement(false, task); } }
JsonNode assigneeNode = assignmentDefNode.get(PROPERTY_USERTASK_ASSIGNEE); if (assigneeNode != null && !assigneeNode.isNull()) { task.setAssignee(assigneeNode.asText()); task.setAssignee("$INITIATOR"); addExtensionElement("activiti-idm-initiator", String.valueOf(true), task);
public void setValues(UserTask otherElement) { super.setValues(otherElement); setAssignee(otherElement.getAssignee()); setOwner(otherElement.getOwner()); setFormKey(otherElement.getFormKey());
public void setValues(UserTask otherElement) { super.setValues(otherElement); setAssignee(otherElement.getAssignee()); setOwner(otherElement.getOwner()); setFormKey(otherElement.getFormKey());
userTask.setCategory(BpmnXMLUtil.getAttributeValue(ATTRIBUTE_TASK_USER_CATEGORY, xtr)); userTask.setFormKey(formKey); userTask.setAssignee(BpmnXMLUtil.getAttributeValue(ATTRIBUTE_TASK_USER_ASSIGNEE, xtr)); userTask.setOwner(BpmnXMLUtil.getAttributeValue(ATTRIBUTE_TASK_USER_OWNER, xtr)); userTask.setPriority(BpmnXMLUtil.getAttributeValue(ATTRIBUTE_TASK_USER_PRIORITY, xtr));
public BpmnModel createTwoTasksTestProcess() { BpmnModel model = new BpmnModel(); org.flowable.bpmn.model.Process process = new org.flowable.bpmn.model.Process(); model.addProcess(process); process.setId("twoTasksProcess"); process.setName("The two tasks process"); StartEvent startEvent = new StartEvent(); startEvent.setId("start"); process.addFlowElement(startEvent); UserTask userTask = new UserTask(); userTask.setName("The First Task"); userTask.setId("task1"); userTask.setAssignee("kermit"); process.addFlowElement(userTask); UserTask userTask2 = new UserTask(); userTask2.setName("The Second Task"); userTask2.setId("task2"); userTask2.setAssignee("kermit"); process.addFlowElement(userTask2); EndEvent endEvent = new EndEvent(); endEvent.setId("theEnd"); process.addFlowElement(endEvent); process.addFlowElement(new SequenceFlow("start", "task1")); process.addFlowElement(new SequenceFlow("start", "task2")); process.addFlowElement(new SequenceFlow("task1", "theEnd")); process.addFlowElement(new SequenceFlow("task2", "theEnd")); return model; }
/** * Since the 'one task process' is used everywhere the actual process content doesn't matter, instead of copying around the BPMN 2.0 xml one could use this method which gives a {@link BpmnModel} * version of the same process back. */ public BpmnModel createOneTaskTestProcess() { BpmnModel model = new BpmnModel(); org.flowable.bpmn.model.Process process = new org.flowable.bpmn.model.Process(); model.addProcess(process); process.setId("oneTaskProcess"); process.setName("The one task process"); StartEvent startEvent = new StartEvent(); startEvent.setId("start"); startEvent.setName("The start"); process.addFlowElement(startEvent); UserTask userTask = new UserTask(); userTask.setName("The Task"); userTask.setId("theTask"); userTask.setAssignee("kermit"); process.addFlowElement(userTask); EndEvent endEvent = new EndEvent(); endEvent.setId("theEnd"); endEvent.setName("The end"); process.addFlowElement(endEvent); process.addFlowElement(new SequenceFlow("start", "theTask")); process.addFlowElement(new SequenceFlow("theTask", "theEnd")); return model; }
userTask.setAssignee(dynamicUserTaskBuilder.getAssignee()); process.addFlowElement(userTask);
newUserTask.setAssignee(dynamicUserTaskBuilder.getAssignee()); subProcess.addFlowElement(newUserTask);