protected void parsePotentialStarterResourceAssignment(Element performerElement, ProcessDefinitionEntity processDefinition) { Element raeElement = performerElement.element(RESOURCE_ASSIGNMENT_EXPR); if (raeElement != null) { Element feElement = raeElement.element(FORMAL_EXPRESSION); if (feElement != null) { List<String> assignmentExpressions = parseCommaSeparatedList(feElement.getText()); for (String assignmentExpression : assignmentExpressions) { assignmentExpression = assignmentExpression.trim(); if (assignmentExpression.startsWith(USER_PREFIX)) { String userAssignementId = getAssignmentId(assignmentExpression, USER_PREFIX); processDefinition.addCandidateStarterUserIdExpression(expressionManager.createExpression(userAssignementId)); } else if (assignmentExpression.startsWith(GROUP_PREFIX)) { String groupAssignementId = getAssignmentId(assignmentExpression, GROUP_PREFIX); processDefinition.addCandidateStarterGroupIdExpression(expressionManager.createExpression(groupAssignementId)); } else { // default: given string is a goupId, as-is. processDefinition.addCandidateStarterGroupIdExpression(expressionManager.createExpression(assignmentExpression)); } } } } }
protected void parsePotentialStarterResourceAssignment(Element performerElement, ProcessDefinitionEntity processDefinition) { Element raeElement = performerElement.element(RESOURCE_ASSIGNMENT_EXPR); if (raeElement != null) { Element feElement = raeElement.element(FORMAL_EXPRESSION); if (feElement != null) { List<String> assignmentExpressions = parseCommaSeparatedList(feElement.getText()); for (String assignmentExpression : assignmentExpressions) { assignmentExpression = assignmentExpression.trim(); if (assignmentExpression.startsWith(USER_PREFIX)) { String userAssignementId = getAssignmentId(assignmentExpression, USER_PREFIX); processDefinition.addCandidateStarterUserIdExpression(expressionManager.createExpression(userAssignementId)); } else if (assignmentExpression.startsWith(GROUP_PREFIX)) { String groupAssignementId = getAssignmentId(assignmentExpression, GROUP_PREFIX); processDefinition.addCandidateStarterGroupIdExpression(expressionManager.createExpression(groupAssignementId)); } else { // default: given string is a goupId, as-is. processDefinition.addCandidateStarterGroupIdExpression(expressionManager.createExpression(assignmentExpression)); } } } } }
protected void parseStartAuthorization(Element scopeElement, ProcessDefinition definition) { ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) definition; // parse activiti:potentialStarters Element extentionsElement = scopeElement.element("extensionElements"); if (extentionsElement != null) { List<Element> potentialStarterElements = extentionsElement.elementsNS(CAMUNDA_BPMN_EXTENSIONS_NS, POTENTIAL_STARTER); for (Element potentialStarterElement : potentialStarterElements) { parsePotentialStarterResourceAssignment(potentialStarterElement, processDefinition); } } // parse activiti:candidateStarterUsers String candidateUsersString = scopeElement.attributeNS(CAMUNDA_BPMN_EXTENSIONS_NS, CANDIDATE_STARTER_USERS_EXTENSION); if (candidateUsersString != null) { List<String> candidateUsers = parseCommaSeparatedList(candidateUsersString); for (String candidateUser : candidateUsers) { processDefinition.addCandidateStarterUserIdExpression(expressionManager.createExpression(candidateUser.trim())); } } // Candidate activiti:candidateStarterGroups String candidateGroupsString = scopeElement.attributeNS(CAMUNDA_BPMN_EXTENSIONS_NS, CANDIDATE_STARTER_GROUPS_EXTENSION); if (candidateGroupsString != null) { List<String> candidateGroups = parseCommaSeparatedList(candidateGroupsString); for (String candidateGroup : candidateGroups) { processDefinition.addCandidateStarterGroupIdExpression(expressionManager.createExpression(candidateGroup.trim())); } } }
protected void parseStartAuthorization(Element scopeElement, ProcessDefinition definition) { ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) definition; // parse activiti:potentialStarters Element extentionsElement = scopeElement.element("extensionElements"); if (extentionsElement != null) { List<Element> potentialStarterElements = extentionsElement.elementsNS(CAMUNDA_BPMN_EXTENSIONS_NS, POTENTIAL_STARTER); for (Element potentialStarterElement : potentialStarterElements) { parsePotentialStarterResourceAssignment(potentialStarterElement, processDefinition); } } // parse activiti:candidateStarterUsers String candidateUsersString = scopeElement.attributeNS(CAMUNDA_BPMN_EXTENSIONS_NS, CANDIDATE_STARTER_USERS_EXTENSION); if (candidateUsersString != null) { List<String> candidateUsers = parseCommaSeparatedList(candidateUsersString); for (String candidateUser : candidateUsers) { processDefinition.addCandidateStarterUserIdExpression(expressionManager.createExpression(candidateUser.trim())); } } // Candidate activiti:candidateStarterGroups String candidateGroupsString = scopeElement.attributeNS(CAMUNDA_BPMN_EXTENSIONS_NS, CANDIDATE_STARTER_GROUPS_EXTENSION); if (candidateGroupsString != null) { List<String> candidateGroups = parseCommaSeparatedList(candidateGroupsString); for (String candidateGroup : candidateGroups) { processDefinition.addCandidateStarterGroupIdExpression(expressionManager.createExpression(candidateGroup.trim())); } } }
protected void parsePotentialStarterResourceAssignment(Element performerElement, ProcessDefinitionEntity processDefinition) { Element raeElement = performerElement.element(RESOURCE_ASSIGNMENT_EXPR); if (raeElement != null) { Element feElement = raeElement.element(FORMAL_EXPRESSION); if (feElement != null) { List<String> assignmentExpressions = parseCommaSeparatedList(feElement.getText()); for (String assignmentExpression : assignmentExpressions) { assignmentExpression = assignmentExpression.trim(); if (assignmentExpression.startsWith(USER_PREFIX)) { String userAssignementId = getAssignmentId(assignmentExpression, USER_PREFIX); processDefinition.addCandidateStarterUserIdExpression(expressionManager.createExpression(userAssignementId)); } else if (assignmentExpression.startsWith(GROUP_PREFIX)) { String groupAssignementId = getAssignmentId(assignmentExpression, GROUP_PREFIX); processDefinition.addCandidateStarterGroupIdExpression(expressionManager.createExpression(groupAssignementId)); } else { // default: given string is a goupId, as-is. processDefinition.addCandidateStarterGroupIdExpression(expressionManager.createExpression(assignmentExpression)); } } } } }
protected void parseStartAuthorization(Element scopeElement, ProcessDefinition definition) { ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) definition; // parse activiti:potentialStarters Element extentionsElement = scopeElement.element("extensionElements"); if (extentionsElement != null) { List<Element> potentialStarterElements = extentionsElement.elementsNS(CAMUNDA_BPMN_EXTENSIONS_NS, POTENTIAL_STARTER); for (Element potentialStarterElement : potentialStarterElements) { parsePotentialStarterResourceAssignment(potentialStarterElement, processDefinition); } } // parse activiti:candidateStarterUsers String candidateUsersString = scopeElement.attributeNS(CAMUNDA_BPMN_EXTENSIONS_NS, CANDIDATE_STARTER_USERS_EXTENSION); if (candidateUsersString != null) { List<String> candidateUsers = parseCommaSeparatedList(candidateUsersString); for (String candidateUser : candidateUsers) { processDefinition.addCandidateStarterUserIdExpression(expressionManager.createExpression(candidateUser.trim())); } } // Candidate activiti:candidateStarterGroups String candidateGroupsString = scopeElement.attributeNS(CAMUNDA_BPMN_EXTENSIONS_NS, CANDIDATE_STARTER_GROUPS_EXTENSION); if (candidateGroupsString != null) { List<String> candidateGroups = parseCommaSeparatedList(candidateGroupsString); for (String candidateGroup : candidateGroups) { processDefinition.addCandidateStarterGroupIdExpression(expressionManager.createExpression(candidateGroup.trim())); } } }