private Group createGroup(String groupId) { if( groupId == null ) { return null; } return TaskModelProvider.getFactory().newGroup(groupId); }
String[] recipientsIds = recipients.split(ATTRIBUTES_ELEMENTS_SEPARATOR); for (String id: recipientsIds) { Group group = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) group).setId(id.trim()); reassignmentUsers.add(group);
inputs.put("EmailNotificationHeader", factory.newEmailNotificationHeader().getClass()); inputs.put("Escalation", factory.newEscalation().getClass()); inputs.put("Group", factory.newGroup().getClass()); inputs.put("I18NText", factory.newI18NText().getClass()); inputs.put("Notification", factory.newNotification().getClass());
private Group createGroup(String id) { return TaskModelProvider.getFactory().newGroup(id); } }
protected void processPeopleAssignments(String peopleAssignmentIds, List<OrganizationalEntity> organizationalEntities, boolean user) { if (peopleAssignmentIds != null && peopleAssignmentIds.trim().length() > 0) { String[] ids = peopleAssignmentIds.split(separator); for (String id : ids) { id = id.trim(); // JBPM-7356 - ignore empty strings if(id.length()==0) continue; boolean exists = false; for (OrganizationalEntity orgEntity : organizationalEntities) { if (orgEntity.getId().equals(id)) { exists = true; } } if (!exists) { OrganizationalEntity organizationalEntity = null; if (user) { organizationalEntity = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) organizationalEntity).setId(id); } else { organizationalEntity = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) organizationalEntity).setId(id); } organizationalEntities.add(organizationalEntity); } } } }
private Group createGroup(String id) { return TaskModelProvider.getFactory().newGroup(id); }
public Void execute(Context cntxt) { TaskContext context = (TaskContext) cntxt; Group group = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) group).setId(groupId); context.getTaskIdentityService().addGroup(group); return null; }
Group group = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) group).setId(id.trim()); notificationRecipients.add(group);
public void assignTask(Task task) { List<OrganizationalEntity> potentialOwners = task.getPeopleAssignments().getPotentialOwners(); potentialOwners.clear(); Group group = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) group).setId("Crusaders"); potentialOwners.add(group); } }
protected void addGroupFromCallbackOperation(String groupId, TaskContext context) { Group group = context.getPersistenceContext().findGroup(groupId); boolean groupExists = group != null; if (!StringUtils.isEmpty(groupId) && !groupExists) { group = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) group).setId(groupId); persistIfNotExists(group, context); } }
@SuppressWarnings("unchecked") protected void assignBusinessAdministrators(WorkItem workItem, PeopleAssignments peopleAssignments) { List<OrganizationalEntity> businessAdministrators = peopleAssignments.getBusinessAdministrators(); Object businessAdminGroupIds = adjustParam(workItem.getParameter(BUSINESSADMINISTRATOR_GROUP_ID), groupFilter); Object businessAdministratorIds = adjustParam(workItem.getParameter(BUSINESSADMINISTRATOR_ID), userFilter); if (!hasAdminAssigned(businessAdministrators)) { User administrator = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) administrator).setId(administratorUser); businessAdministrators.add(administrator); Group adminGroup = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) adminGroup).setId(administratorGroup); businessAdministrators.add(adminGroup); } if (businessAdministratorIds instanceof Collection) { processPeopleAssignments((Collection<OrganizationalEntity>)businessAdministratorIds, businessAdministrators); } else { processPeopleAssignments((String)businessAdministratorIds, businessAdministrators, true); } if (businessAdminGroupIds instanceof Collection) { processPeopleAssignments((Collection<OrganizationalEntity>)businessAdminGroupIds, businessAdministrators); } else { processPeopleAssignments((String)businessAdminGroupIds, businessAdministrators, false); } }
@Test public void testNominateToGroup() { String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { businessAdministrators = [ new User('Darth Vader'), new User('Bobba Fet') ] } ),"; str += "name = 'This is my task name'})"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); long taskId = task.getId(); List<OrganizationalEntity> potentialGroups = new ArrayList<OrganizationalEntity>(); Group group = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) group).setId("Knights Templer"); potentialGroups.add(group); taskService.nominate(taskId, "Darth Vader", potentialGroups); //shouldn't affect the assignments Task task1 = taskService.getTaskById(taskId); assertTrue(task1.getPeopleAssignments().getPotentialOwners().contains(group)); assertEquals(task1.getTaskData().getStatus(), Status.Ready); }
public void removeFromRole(String containerId, String caseId, String roleName, String user, String group) { verifyContainerId(containerId, caseId); OrganizationalEntity entity = null; if (user != null && !user.isEmpty()) { entity = taskModelFactory.newUser(user); logger.debug("Removing user {} from role {} in case {}", user, roleName, caseId); caseService.removeFromCaseRole(caseId, roleName, entity); } if (group != null && !group.isEmpty()) { entity = taskModelFactory.newGroup(group); logger.debug("Removing group {} from role {} in case {}", group, roleName, caseId); caseService.removeFromCaseRole(caseId, roleName, entity); } }
public void assignToRole(String containerId, String caseId, String roleName, String user, String group) { verifyContainerId(containerId, caseId); OrganizationalEntity entity = null; if (user != null && !user.isEmpty()) { entity = taskModelFactory.newUser(user); logger.debug("Assigning user {} to role {} in case {}", user, roleName, caseId); caseService.assignToCaseRole(caseId, roleName, entity); } if (group != null && !group.isEmpty()) { entity = taskModelFactory.newGroup(group); logger.debug("Assigning group {} to role {} in case {}", group, roleName, caseId); caseService.assignToCaseRole(caseId, roleName, entity); } }
private Group createGroup(String id) { return TaskModelProvider.getFactory().newGroup(id); } }
protected void processPeopleAssignments(String peopleAssignmentIds, List<OrganizationalEntity> organizationalEntities, boolean user) { if (peopleAssignmentIds != null && peopleAssignmentIds.trim().length() > 0) { String[] ids = peopleAssignmentIds.split(separator); for (String id : ids) { id = id.trim(); // JBPM-7356 - ignore empty strings if(id.length()==0) continue; boolean exists = false; for (OrganizationalEntity orgEntity : organizationalEntities) { if (orgEntity.getId().equals(id)) { exists = true; } } if (!exists) { OrganizationalEntity organizationalEntity = null; if (user) { organizationalEntity = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) organizationalEntity).setId(id); } else { organizationalEntity = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) organizationalEntity).setId(id); } organizationalEntities.add(organizationalEntity); } } } }
@SuppressWarnings("unchecked") protected void assignBusinessAdministrators(WorkItem workItem, PeopleAssignments peopleAssignments) { List<OrganizationalEntity> businessAdministrators = peopleAssignments.getBusinessAdministrators(); Object businessAdminGroupIds = adjustParam(workItem.getParameter(BUSINESSADMINISTRATOR_GROUP_ID), groupFilter); Object businessAdministratorIds = adjustParam(workItem.getParameter(BUSINESSADMINISTRATOR_ID), userFilter); if (!hasAdminAssigned(businessAdministrators)) { User administrator = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) administrator).setId(administratorUser); businessAdministrators.add(administrator); Group adminGroup = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) adminGroup).setId(administratorGroup); businessAdministrators.add(adminGroup); } if (businessAdministratorIds instanceof Collection) { processPeopleAssignments((Collection<OrganizationalEntity>)businessAdministratorIds, businessAdministrators); } else { processPeopleAssignments((String)businessAdministratorIds, businessAdministrators, true); } if (businessAdminGroupIds instanceof Collection) { processPeopleAssignments((Collection<OrganizationalEntity>)businessAdminGroupIds, businessAdministrators); } else { processPeopleAssignments((String)businessAdminGroupIds, businessAdministrators, false); } }
Group group = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) group).setId(groupId); potentialOwners.add(group);
@Test public void testEmailNotificationWithoutTemplateToGroup() throws Exception { EmailNotificationPublisher publisher = new EmailNotificationPublisher(connection, userInfo); Set<OrganizationalEntity> recipients = new HashSet<>(Arrays.asList(factory.newGroup("managers"))); publisher.publish("admin@jbpm.org", "Test notification", recipients, "Test body"); assertEquals( 1, wiser.getMessages().size() ); MimeMessage msg = (( WiserMessage ) wiser.getMessages().get( 0 )).getMimeMessage(); // Side effect of MIME encoding (I think.. ): \r\n.. String content = ((String) msg.getContent()).replace("\r\n", ""); assertEquals( "Test body", content ); assertEquals( "Test notification", msg.getSubject() ); assertEquals( "admin@jbpm.org", ((InternetAddress)msg.getFrom()[0]).getAddress() ); assertEquals( "john@domain.com", ((InternetAddress)msg.getRecipients( RecipientType.TO )[0]).getAddress() ); assertNull( msg.getRecipients( RecipientType.CC ) ); assertNull( msg.getRecipients( RecipientType.BCC ) ); }
@Test public void testEmailNotificationWithoutTemplateToMultipleRecipients() throws Exception { EmailNotificationPublisher publisher = new EmailNotificationPublisher(connection, userInfo); Set<OrganizationalEntity> recipients = new LinkedHashSet<>(Arrays.asList(factory.newGroup("managers"), factory.newUser("mary"))); publisher.publish("admin@jbpm.org", "Test notification", recipients, "Test body"); assertEquals( 2, wiser.getMessages().size() ); MimeMessage msg = (( WiserMessage ) wiser.getMessages().get( 0 )).getMimeMessage(); // Side effect of MIME encoding (I think.. ): \r\n.. String content = ((String) msg.getContent()).replace("\r\n", ""); assertEquals( "Test body", content ); assertEquals( "Test notification", msg.getSubject() ); assertEquals( "admin@jbpm.org", ((InternetAddress)msg.getFrom()[0]).getAddress() ); assertEquals( "john@domain.com", ((InternetAddress)msg.getRecipients( RecipientType.TO )[0]).getAddress() ); assertNull( msg.getRecipients( RecipientType.CC ) ); assertNull( msg.getRecipients( RecipientType.BCC ) ); } }