Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== RCS file: /usr/local/cvsroot/lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java,v diff -u -r1.26 -r1.27 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java 6 Sep 2012 16:03:19 -0000 1.26 +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java 11 Oct 2012 14:07:23 -0000 1.27 @@ -135,7 +135,7 @@ activityDTO.setFeedback(gradebookActivity.getFeedback()); } - LearnerProgress learnerProgress = getLearnerProgress(lesson, learner); + LearnerProgress learnerProgress = lessonService.getUserProgressForLesson(learner.getUserId(), lesson.getLessonId()); // Setting status activityDTO.setStartDate(getActivityStartDate(learnerProgress, activity, learner.getTimeZone())); activityDTO.setTimeTaken(getActivityDuration(learnerProgress, activity)); @@ -465,7 +465,7 @@ lessonRow.setFeedback(gbLesson.getFeedback()); } - LearnerProgress learnerProgress = getLearnerProgress(lesson, user); + LearnerProgress learnerProgress = lessonService.getUserProgressForLesson(user.getUserId(), lesson.getLessonId()); lessonRow.setStatus(getLessonStatusStr(learnerProgress)); if (learnerProgress != null) { if (learnerProgress.getStartDate() != null && learnerProgress.getFinishDate() != null) { @@ -1213,32 +1213,14 @@ } return null; } - - private LearnerProgress getLearnerProgress(Lesson lesson, User user) { - if (lesson != null && user != null) { - Map properties = new HashMap(); - properties.put("lesson", lesson); - properties.put("user", user); - List learnerProgressList = baseDAO.findByProperties(LearnerProgress.class, properties); - - if (learnerProgressList != null && learnerProgressList.size() > 0) { - return (LearnerProgress) learnerProgressList.get(0); - } else { - return null; - } - } else { - return null; - } - } /** * Returns map containing (userId -> LearnerProgressMap) pairs. It serves merely for optimizing amount of db queries. */ private Map getUserToLearnerProgressMap(Lesson lesson) { if (lesson != null) { - String query = "select lp from LearnerProgress lp where lp.lesson.lessonId=?"; - List learnerProgressList = baseDAO.find(query, new Object[] { lesson.getLessonId() }); + List learnerProgressList = lessonService.getUserProgressForLesson(lesson.getLessonId()); if (learnerProgressList != null && learnerProgressList.size() > 0) { Map map = new HashMap();