Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java =================================================================== diff -u -rc132bb7d3199254229dac8c10845eabea365c7e3 -ra1c1ca14a171ef3e0468aa9e5a5711be44f130c1 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision c132bb7d3199254229dac8c10845eabea365c7e3) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/service/MonitoringService.java (.../MonitoringService.java) (revision a1c1ca14a171ef3e0468aa9e5a5711be44f130c1) @@ -737,7 +737,6 @@ public String forceCompleteLessonByUser(Integer learnerId,long lessonId,Long activityId) { - List currentLessonLearners = learnerService.getActiveLearnersByLesson(lessonId); User learner = userDAO.getUserById(learnerId); Lesson newLesson = lessonDAO.getLesson(new Long(lessonId)); Set activities = newLesson.getLearningDesign().getActivities(); @@ -765,7 +764,7 @@ //group does not exist if(grouping.isRandomGrouping()){ //for random grouping, create then complete it. Continue - learnerService.performGrouping(groupActivity,currentLessonLearners); + learnerService.performGrouping(lessonId, groupActivity); // grouping = groupActivity.getCreateGrouping(); // myGroup = grouping.getGroupBy(learner); learnerService.completeActivity(learner,activity,newLesson); @@ -782,7 +781,7 @@ } }else if ( activity.isGateActivity() ) { GateActivity gate = (GateActivity) activity; - if(learnerService.knockGate(gate,learner,currentLessonLearners)){ + if(learnerService.knockGate(lessonId,gate,learner)){ //the gate is opened, continue to next activity to complete learnerService.completeActivity(learner,activity,newLesson); log.debug("Gate activity [" + gate.getActivityId() + "] is completed."); Index: lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java =================================================================== diff -u -r5be330617da306520389b76b1ebf51357dfdd8ad -ra1c1ca14a171ef3e0468aa9e5a5711be44f130c1 --- lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java (.../GateAction.java) (revision 5be330617da306520389b76b1ebf51357dfdd8ad) +++ lams_monitoring/src/java/org/lamsfoundation/lams/monitoring/web/GateAction.java (.../GateAction.java) (revision a1c1ca14a171ef3e0468aa9e5a5711be44f130c1) @@ -35,7 +35,6 @@ import org.apache.struts.action.ActionMapping; import org.apache.struts.action.DynaActionForm; import org.lamsfoundation.lams.learning.service.ILearnerService; -import org.lamsfoundation.lams.learning.web.util.LessonLearnerDataManager; import org.lamsfoundation.lams.learningdesign.Activity; import org.lamsfoundation.lams.learningdesign.GateActivity; import org.lamsfoundation.lams.learningdesign.PermissionGateActivity; @@ -159,8 +158,7 @@ Activity gate = monitoringService.getActivityById(gateId); //setup the total learners - int totalLearners = LessonLearnerDataManager.getAllLessonLearners(getServlet().getServletContext(),lessonId,learnerService) - .size(); + int totalLearners = learnerService.getActiveLearnersByLesson(lessonId).size(); gateForm.set(TOTAL_LEARNERS_FORM_FIELD,new Integer(totalLearners)); gateForm.set(ACTIVITY_FORM_FIELD,gateIdLong);