if (assignmentValue.startsWith(userPrefix)) { assignmentValue = assignmentValue.substring(userPrefix.length(), assignmentValue.length() - 1).trim(); ((UserTask) parentElement).getCandidateUsers().add(assignmentValue); } else if (assignmentValue.startsWith(groupPrefix)) { assignmentValue = assignmentValue.substring(groupPrefix.length(), assignmentValue.length() - 1).trim();
@Override protected ObjectNode createPropertiesNode(FlowElement flowElement, ObjectNode flowElementNode, ObjectMapper objectMapper) { UserTask userTask = (UserTask) flowElement; ObjectNode taskNameNode = objectMapper.createObjectNode(); putPropertyValue(BPMN_MODEL_VALUE, userTask.getName(), taskNameNode); putPropertyValue(DYNAMIC_VALUE, flowElementNode.path(USER_TASK_NAME), taskNameNode); ObjectNode assigneeNode = objectMapper.createObjectNode(); putPropertyValue(BPMN_MODEL_VALUE, userTask.getAssignee(), assigneeNode); putPropertyValue(DYNAMIC_VALUE, flowElementNode.path(USER_TASK_ASSIGNEE), assigneeNode); ObjectNode candidateUsersNode = objectMapper.createObjectNode(); putPropertyValue(BPMN_MODEL_VALUE, userTask.getCandidateUsers(), candidateUsersNode); putPropertyValue(DYNAMIC_VALUE, flowElementNode.path(USER_TASK_CANDIDATE_USERS), candidateUsersNode); ObjectNode candidateGroupsNode = objectMapper.createObjectNode(); putPropertyValue(BPMN_MODEL_VALUE, userTask.getCandidateGroups(), candidateGroupsNode); putPropertyValue(DYNAMIC_VALUE, flowElementNode.path(USER_TASK_CANDIDATE_GROUPS), candidateGroupsNode); ObjectNode propertiesNode = objectMapper.createObjectNode(); propertiesNode.set(USER_TASK_NAME, taskNameNode); propertiesNode.set(USER_TASK_ASSIGNEE, assigneeNode); propertiesNode.set(USER_TASK_CANDIDATE_USERS, candidateUsersNode); propertiesNode.set(USER_TASK_CANDIDATE_GROUPS, candidateGroupsNode); return propertiesNode; }
@Override protected ObjectNode createPropertiesNode(FlowElement flowElement, ObjectNode flowElementNode, ObjectMapper objectMapper) { UserTask userTask = (UserTask) flowElement; ObjectNode taskNameNode = objectMapper.createObjectNode(); putPropertyValue(BPMN_MODEL_VALUE, userTask.getName(), taskNameNode); putPropertyValue(DYNAMIC_VALUE, flowElementNode.path(USER_TASK_NAME), taskNameNode); ObjectNode assigneeNode = objectMapper.createObjectNode(); putPropertyValue(BPMN_MODEL_VALUE, userTask.getAssignee(), assigneeNode); putPropertyValue(DYNAMIC_VALUE, flowElementNode.path(USER_TASK_ASSIGNEE), assigneeNode); ObjectNode candidateUsersNode = objectMapper.createObjectNode(); putPropertyValue(BPMN_MODEL_VALUE, userTask.getCandidateUsers(), candidateUsersNode); putPropertyValue(DYNAMIC_VALUE, flowElementNode.path(USER_TASK_CANDIDATE_USERS), candidateUsersNode); ObjectNode candidateGroupsNode = objectMapper.createObjectNode(); putPropertyValue(BPMN_MODEL_VALUE, userTask.getCandidateGroups(), candidateGroupsNode); putPropertyValue(DYNAMIC_VALUE, flowElementNode.path(USER_TASK_CANDIDATE_GROUPS), candidateGroupsNode); ObjectNode propertiesNode = objectMapper.createObjectNode(); propertiesNode.set(USER_TASK_NAME, taskNameNode); propertiesNode.set(USER_TASK_ASSIGNEE, assigneeNode); propertiesNode.set(USER_TASK_CANDIDATE_USERS, candidateUsersNode); propertiesNode.set(USER_TASK_CANDIDATE_GROUPS, candidateGroupsNode); return propertiesNode; }
String assignee = userTask.getAssignee(); if (StringUtils.isNotEmpty(assignee) || CollectionUtils.isNotEmpty(userTask.getCandidateUsers()) || CollectionUtils.isNotEmpty(userTask.getCandidateGroups())) { if (CollectionUtils.isNotEmpty(userTask.getCandidateUsers()) && CollectionUtils.isNotEmpty(idmCandidateUserList)) { if (userTask.getCandidateUsers().size() > 0) { ArrayNode candidateUsersNode = objectMapper.createArrayNode(); idmNode.set("candidateUsers", candidateUsersNode); idmNode.put("type", "users"); for (String candidateUser : userTask.getCandidateUsers()) { ObjectNode candidateUserNode = objectMapper.createObjectNode(); candidateUserNode.put("id", candidateUser); if (CollectionUtils.isNotEmpty(userTask.getCandidateUsers())) { ArrayNode candidateArrayNode = objectMapper.createArrayNode(); for (String candidateUser : userTask.getCandidateUsers()) { ObjectNode candidateNode = objectMapper.createObjectNode(); candidateNode.put("value", candidateUser);
setCandidateUsers(new ArrayList<>(otherElement.getCandidateUsers()));
setCandidateUsers(new ArrayList<>(otherElement.getCandidateUsers()));
protected void mapProperties(Object element) { UserTask userTask = (UserTask) element; createPropertyNode("Assignee", userTask.getAssignee()); createPropertyNode("Candidate users", userTask.getCandidateUsers()); createPropertyNode("Candidate groups", userTask.getCandidateGroups()); createPropertyNode("Due date", userTask.getDueDate()); createPropertyNode("Form key", userTask.getFormKey()); createPropertyNode("Priority", userTask.getPriority()); } }
userTask.getCandidateUsers().addAll(parseDelimitedList(expression));
taskDefinition.setOwnerExpression(expressionManager.createExpression(userTask.getOwner())); for (String candidateUser : userTask.getCandidateUsers()) { taskDefinition.addCandidateUserIdExpression(expressionManager.createExpression(candidateUser));
@Override @SuppressWarnings("unchecked") protected void writeAdditionalAttributes(BaseElement element, BpmnModel model, XMLStreamWriter xtw) throws Exception { UserTask userTask = (UserTask) element; writeQualifiedAttribute(ATTRIBUTE_TASK_USER_ASSIGNEE, userTask.getAssignee(), xtw); writeQualifiedAttribute(ATTRIBUTE_TASK_USER_OWNER, userTask.getOwner(), xtw); writeQualifiedAttribute(ATTRIBUTE_TASK_USER_CANDIDATEUSERS, convertToDelimitedString(userTask.getCandidateUsers()), xtw); writeQualifiedAttribute(ATTRIBUTE_TASK_USER_CANDIDATEGROUPS, convertToDelimitedString(userTask.getCandidateGroups()), xtw); writeQualifiedAttribute(ATTRIBUTE_TASK_USER_DUEDATE, userTask.getDueDate(), xtw); writeQualifiedAttribute(ATTRIBUTE_TASK_USER_BUSINESS_CALENDAR_NAME, userTask.getBusinessCalendarName(), xtw); writeQualifiedAttribute(ATTRIBUTE_TASK_USER_CATEGORY, userTask.getCategory(), xtw); writeQualifiedAttribute(ATTRIBUTE_FORM_FORMKEY, userTask.getFormKey(), xtw); if (userTask.getPriority() != null) { writeQualifiedAttribute(ATTRIBUTE_TASK_USER_PRIORITY, userTask.getPriority(), xtw); } if (StringUtils.isNotEmpty(userTask.getExtensionId())) { writeQualifiedAttribute(ATTRIBUTE_TASK_SERVICE_EXTENSIONID, userTask.getExtensionId(), xtw); } if (userTask.getSkipExpression() != null) { writeQualifiedAttribute(ATTRIBUTE_TASK_USER_SKIP_EXPRESSION, userTask.getSkipExpression(), xtw); } // write custom attributes BpmnXMLUtil.writeCustomAttributes(userTask.getAttributes().values(), xtw, defaultElementAttributes, defaultActivityAttributes, defaultUserTaskAttributes); }
activeTaskAssignee = getActiveValue(userTask.getAssignee(), DynamicBpmnConstants.USER_TASK_ASSIGNEE, taskElementProperties); activeTaskOwner = getActiveValue(userTask.getOwner(), DynamicBpmnConstants.USER_TASK_OWNER, taskElementProperties); activeTaskCandidateUsers = getActiveValueList(userTask.getCandidateUsers(), DynamicBpmnConstants.USER_TASK_CANDIDATE_USERS, taskElementProperties); activeTaskCandidateGroups = getActiveValueList(userTask.getCandidateGroups(), DynamicBpmnConstants.USER_TASK_CANDIDATE_GROUPS, taskElementProperties); activeTaskAssignee = userTask.getAssignee(); activeTaskOwner = userTask.getOwner(); activeTaskCandidateUsers = userTask.getCandidateUsers(); activeTaskCandidateGroups = userTask.getCandidateGroups();