Set<Enrollment> enrollments = cmService.getEnrollments(section.getEnrollmentSet().getEid()); for(Enrollment enr : enrollments) { if(enr.isDropped()) { continue; String roleFromEnrollmentStatus = (String)enrollmentStatusRoleMap.get(enr.getEnrollmentStatus()); if( ! userRoleMap.containsKey(enr.getUserId()) && roleFromEnrollmentStatus != null && ! enr.isDropped()) { userRoleMap.put(enr.getUserId(), roleFromEnrollmentStatus);
String roleFromEnrollmentStatus = enrollmentStatusRoleMap.get(enr.getEnrollmentStatus()); if(roleFromEnrollmentStatus != null && ! enr.isDropped()) { groupRoleMap.put(section.getEid(), roleFromEnrollmentStatus);
if(e.isDropped()){ continue; User user = eidToUserMap.get(e.getUserId()); if (user == null) { throw new UserNotDefinedException(e.getUserId()); participant.addSectionEidToList(sectionTitle); if (e.getCredits() != null && e.getCredits().length() >0) participant.credits = participant.credits.concat(", <br />" + e.getCredits()); participant.credits = e.getCredits() != null?e.getCredits():""; participant.name = user.getSortName(); if (member.isProvided()) log.warn("SiteParticipantHelper.addParticipantsFromEnrollmentSet: " + exception.getMessage() + " user id = " + e.getUserId());
public void postProcess(ProcessorState state) throws Exception { Map<String, List<String[]>> enrollmentMap = getEnrollmentMap(state); for (String enrollmentSetEid : enrollmentMap.keySet()) { if (!cmService.isEnrollmentSetDefined(enrollmentSetEid)) { log.error("can't sync enrollment for non-existent enrollment set with eid {}", enrollmentSetEid); continue; } List<String[]> newEnrollmentElements = enrollmentMap.get(enrollmentSetEid); Set<Enrollment> existingEnrollments = cmService.getEnrollments(enrollmentSetEid); Set<String> newUserEids = new HashSet<>(); for (String[] enrollmentElement : newEnrollmentElements) { newUserEids.add(enrollmentElement[1]); cmAdmin.addOrUpdateEnrollment(enrollmentElement[1], enrollmentSetEid, enrollmentElement[2], enrollmentElement[3], enrollmentElement[4]); } for (Enrollment existingEnr : existingEnrollments) { if (!newUserEids.contains(existingEnr.getUserId())) { // Drop this enrollment cmAdmin.removeEnrollment(existingEnr.getUserId(), enrollmentSetEid); } } } }
public void postProcess(ProcessorState state) throws Exception { Map<String, List<String[]>> enrollmentMap = getEnrollmentMap(state); for (String enrollmentSetEid : enrollmentMap.keySet()) { if (!cmService.isEnrollmentSetDefined(enrollmentSetEid)) { log.error("can't sync enrollment for non-existent enrollment set with eid {}", enrollmentSetEid); continue; } List<String[]> newEnrollmentElements = enrollmentMap.get(enrollmentSetEid); Set<Enrollment> existingEnrollments = cmService.getEnrollments(enrollmentSetEid); Set<String> newUserEids = new HashSet<>(); for (String[] enrollmentElement : newEnrollmentElements) { newUserEids.add(enrollmentElement[1]); cmAdmin.addOrUpdateEnrollment(enrollmentElement[1], enrollmentSetEid, enrollmentElement[2], enrollmentElement[3], enrollmentElement[4]); } for (Enrollment existingEnr : existingEnrollments) { if (!newUserEids.contains(existingEnr.getUserId())) { // Drop this enrollment cmAdmin.removeEnrollment(existingEnr.getUserId(), enrollmentSetEid); } } } }
String roleFromEnrollmentStatus = enrollmentStatusRoleMap.get(enr.getEnrollmentStatus()); if (roleFromEnrollmentStatus != null && !enr.isDropped()) { groupRoleMap.put(section.getEid(), roleFromEnrollmentStatus);
protected void reconcileEnrollments(Element enrollmentsElement, EnrollmentSet enrollmentSet) { List newEnrollmentElements = enrollmentsElement.getChildren("enrollment"); Set newUserEids = new HashSet(); Set existingEnrollments = cmService.getEnrollments(enrollmentSet.getEid()); for(Iterator iter = newEnrollmentElements.iterator(); iter.hasNext();) { Element enrollmentElement = (Element)iter.next(); String userEid = enrollmentElement.getChildText("userEid"); newUserEids.add(userEid); String status = enrollmentElement.getChildText("status"); String credits = enrollmentElement.getChildText("credits"); String gradingScheme = enrollmentElement.getChildText("grading-scheme"); cmAdmin.addOrUpdateEnrollment(userEid,enrollmentSet.getEid(), status, credits, gradingScheme); } for(Iterator iter = existingEnrollments.iterator(); iter.hasNext();) { Enrollment existingEnr = (Enrollment) iter.next(); if( ! newUserEids.contains(existingEnr.getUserId())) { // Drop this enrollment cmAdmin.removeEnrollment(existingEnr.getUserId(), enrollmentSet.getEid()); } } }
/** * Collect all member users data in one call * * @param memberships * @return */ public static Map<String, User> getEidUserMapFromCollection(Collection<Object> cObjects) { Set<String> rvEids = new HashSet<String>(); for (Object cObject : cObjects) { if (cObject instanceof Enrollment) { rvEids.add(((Enrollment) cObject).getUserId()); } else if (cObject instanceof Membership) { rvEids.add(((Membership) cObject).getUserId()); } else if (cObject instanceof Member) { rvEids.add(((Member) cObject).getUserEid()); } } Map<String, User> eidToUserMap = new HashMap<String, User>(); List<User> rvUsers = UserDirectoryService.getUsersByEids(rvEids); for (User user : rvUsers) { eidToUserMap.put(user.getEid(), user); } return eidToUserMap; }