Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -r567af22fafd6a56534cc071f3650eda4495d05ef -rcf77c0915cbb991b869756e0a53436e651040dd0 --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 567af22fafd6a56534cc071f3650eda4495d05ef) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision cf77c0915cbb991b869756e0a53436e651040dd0) @@ -112,7 +112,7 @@ Set activities = getLessonActivities(lesson); for (ToolActivity activity : activities) { - + String groupName = null; Long groupId = null; if (activity.getGrouping() != null) { @@ -134,7 +134,8 @@ activityDTO.setFeedback(gradebookActivity.getFeedback()); } - LearnerProgress learnerProgress = lessonService.getUserProgressForLesson(learner.getUserId(), lesson.getLessonId()); + LearnerProgress learnerProgress = lessonService.getUserProgressForLesson(learner.getUserId(), + lesson.getLessonId()); // Setting status activityDTO.setStartDate(getActivityStartDate(learnerProgress, activity, learner.getTimeZone())); activityDTO.setTimeTaken(getActivityDuration(learnerProgress, activity)); @@ -160,7 +161,7 @@ gradebookActivityDTOs.add(activityDTO); } - + return gradebookActivityDTOs; } @@ -217,7 +218,7 @@ Map userToLearnerProgressMap = getUserToLearnerProgressMap(lesson); Map userToGradebookUserLessonMap = getUserToGradebookUserActivityMap(activity); Long totalMarksAvailable = getTotalMarksAvailable(activity); - + for (User learner : learners) { GBUserGridRowDTO gUserDTO = new GBUserGridRowDTO(learner); @@ -267,7 +268,7 @@ Set learners = lesson.getAllLearners(); if (learners != null) { - + Map userToLearnerProgressMap = getUserToLearnerProgressMap(lesson); Map userToGradebookUserLessonMap = getUserToGradebookUserLessonMap(lesson); @@ -296,27 +297,27 @@ gradebookUserDTO.setMark(gradebookUserLesson.getMark()); gradebookUserDTO.setFeedback(gradebookUserLesson.getFeedback()); } - + gradebookUserDTOs.add(gradebookUserDTO); } - + } } return gradebookUserDTOs; } - + public ArrayList getGBUserRowsForOrganisation(Organisation organisation) { ArrayList gradebookUserDTOs = new ArrayList(); if (organisation != null) { - List learners = userService.getUsersFromOrganisation(organisation.getOrganisationId()); + List learners = userService.getUsersFromOrganisation(organisation.getOrganisationId()); if (learners != null) { - + for (User learner : learners) { - + GBUserGridRowDTO gradebookUserDTO = new GBUserGridRowDTO(learner); gradebookUserDTOs.add(gradebookUserDTO); } @@ -336,7 +337,7 @@ } public Double getAverageMarkForActivity(Long activityID, Long groupID) { - //return AverageMarkForActivity if groupId is null and AverageMarkForGroupedActivity if groupId is specified + // return AverageMarkForActivity if groupId is null and AverageMarkForGroupedActivity if groupId is specified Double averageMark; if (groupID == null) { averageMark = gradebookDAO.getAverageMarkForActivity(activityID); @@ -368,8 +369,8 @@ if (lesson != null && activity != null && learner != null && activity.isToolActivity()) { // First, update the mark for the activity - GradebookUserActivity gradebookUserActivity = gradebookDAO.getGradebookUserDataForActivity(activity - .getActivityId(), learner.getUserId()); + GradebookUserActivity gradebookUserActivity = gradebookDAO.getGradebookUserDataForActivity( + activity.getActivityId(), learner.getUserId()); if (gradebookUserActivity == null) { gradebookUserActivity = new GradebookUserActivity((ToolActivity) activity, learner); @@ -408,8 +409,8 @@ public void updateUserActivityGradebookFeedback(Activity activity, User learner, String feedback) { - GradebookUserActivity gradebookUserActivity = gradebookDAO.getGradebookUserDataForActivity(activity - .getActivityId(), learner.getUserId()); + GradebookUserActivity gradebookUserActivity = gradebookDAO.getGradebookUserDataForActivity( + activity.getActivityId(), learner.getUserId()); if (gradebookUserActivity == null) { gradebookUserActivity = new GradebookUserActivity((ToolActivity) activity, learner); @@ -425,21 +426,24 @@ if (organisation != null) { - List lessons = lessonService.getLessonsByGroupAndUser(user.getUserId(), organisation - .getOrganisationId()); + List lessons = lessonService.getLessonsByGroupAndUser(user.getUserId(), + organisation.getOrganisationId()); if (lessons != null) { for (Lesson lesson : lessons) { // Don't include lesson in list if the user doesn't have permission - Integer organisationToCheckPermission = (organisation.getOrganisationType().getOrganisationTypeId().equals(OrganisationType.COURSE_TYPE)) - ? organisation.getOrganisationId() : organisation.getParentOrganisation().getOrganisationId(); - boolean hasTeacherPermission = lesson.getLessonClass().isStaffMember(viewer) || userService.isUserInRole(viewer.getUserId(), organisationToCheckPermission, Role.GROUP_MANAGER); + Integer organisationToCheckPermission = (organisation.getOrganisationType().getOrganisationTypeId() + .equals(OrganisationType.COURSE_TYPE)) ? organisation.getOrganisationId() : organisation + .getParentOrganisation().getOrganisationId(); + boolean hasTeacherPermission = lesson.getLessonClass().isStaffMember(viewer) + || userService.isUserInRole(viewer.getUserId(), organisationToCheckPermission, + Role.GROUP_MANAGER); boolean marksReleased = lesson.getMarksReleased() != null && lesson.getMarksReleased(); boolean hasLearnerPermission = lesson.getAllLearners().contains(user); - if (!( (view == GBGridView.MON_COURSE) && hasTeacherPermission - || (view == GBGridView.LRN_COURSE) && hasLearnerPermission && marksReleased - || (view == GBGridView.MON_USER) && hasTeacherPermission && hasLearnerPermission)) { + if (!((view == GBGridView.MON_COURSE) && hasTeacherPermission || (view == GBGridView.LRN_COURSE) + && hasLearnerPermission && marksReleased || (view == GBGridView.MON_USER) + && hasTeacherPermission && hasLearnerPermission)) { continue; } @@ -471,7 +475,8 @@ lessonRow.setFeedback(gbLesson.getFeedback()); } - LearnerProgress learnerProgress = lessonService.getUserProgressForLesson(user.getUserId(), lesson.getLessonId()); + LearnerProgress learnerProgress = lessonService.getUserProgressForLesson(user.getUserId(), + lesson.getLessonId()); lessonRow.setStatus(getLessonStatusStr(learnerProgress)); if (learnerProgress != null) { if (learnerProgress.getStartDate() != null && learnerProgress.getFinishDate() != null) { @@ -500,9 +505,9 @@ return lessonRows; } - + private HashMap> getDataForLessonGradebookExport(Lesson lesson) { - + HashMap> activityToUserDTOMap = new HashMap>(); Set learners = lesson.getAllLearners(); @@ -517,7 +522,7 @@ for (ToolActivity activity : activities) { Map userToGradebookUserActivityMap = getUserToGradebookUserActivityMap(activity); - + List userDTOs = new ArrayList(); for (User learner : learners) { @@ -566,15 +571,14 @@ return activityToUserDTOMap; } - - @SuppressWarnings("unchecked") + @SuppressWarnings("unchecked") public LinkedHashMap exportLessonGradebook(Lesson lesson) { - + LinkedHashMap dataToExport = new LinkedHashMap(); - - //-------------------- process summary excel page -------------------------------- - + + // -------------------- process summary excel page -------------------------------- + // The entire data list List rowList = new LinkedList(); @@ -649,7 +653,7 @@ ExcelCell[][] summaryData = rowList.toArray(new ExcelCell[][] {}); dataToExport.put(getMessage("gradebook.export.lesson.summary"), summaryData); - //-------------------- process activity excel page -------------------------------- + // -------------------- process activity excel page -------------------------------- HashMap> activityToUserDTOMap = getDataForLessonGradebookExport(lesson); List rowList1 = new LinkedList(); @@ -686,8 +690,8 @@ ExcelCell[][] activityData = rowList1.toArray(new ExcelCell[][] {}); dataToExport.put(getMessage("gradebook.gridtitle.activitygrid"), activityData); - //-------------------- process user excel page -------------------------------- - + // -------------------- process user excel page -------------------------------- + Set learners = lesson.getAllLearners(); if (learners == null) { learners = new TreeSet(); @@ -698,10 +702,10 @@ List activityDTOs = new ArrayList(); for (ToolActivity activity : activityToUserDTOMap.keySet()) { - + List userDTOs = activityToUserDTOMap.get(activity); GBUserGridRowDTO userDTO = null; - for (GBUserGridRowDTO dbUserDTO:userDTOs) { + for (GBUserGridRowDTO dbUserDTO : userDTOs) { if (dbUserDTO.getId().equals(learner.getUserId().toString())) { userDTO = dbUserDTO; } @@ -754,27 +758,27 @@ ExcelCell[][] userData = rowList2.toArray(new ExcelCell[][] {}); dataToExport.put(getMessage("gradebook.export.learner.view"), userData); - + return dataToExport; } - + @SuppressWarnings("unchecked") public LinkedHashMap exportCourseGradebook(Integer userId, Integer organisationId) { LinkedHashMap dataToExport = new LinkedHashMap(); - + Organisation organisation = (Organisation) userService.findById(Organisation.class, organisationId); - + // The entire data list List rowList = new LinkedList(); - User user = (User) userService.findById(User.class, userId); Set lessonsFromDB = new TreeSet(new LessonComparator()); lessonsFromDB.addAll(lessonService.getLessonsByGroupAndUser(userId, organisationId)); - + // Dont include lesson in list if the user doesnt have permission - Integer organisationToCheckPermission = (organisation.getOrganisationType().getOrganisationTypeId().equals(OrganisationType.COURSE_TYPE)) - ? organisation.getOrganisationId() : organisation.getParentOrganisation().getOrganisationId(); + Integer organisationToCheckPermission = (organisation.getOrganisationType().getOrganisationTypeId() + .equals(OrganisationType.COURSE_TYPE)) ? organisation.getOrganisationId() : organisation + .getParentOrganisation().getOrganisationId(); boolean isGroupManager = userService.isUserInRole(userId, organisationToCheckPermission, Role.GROUP_MANAGER); List lessons = new LinkedList(); for (Lesson lesson : lessonsFromDB) { @@ -784,7 +788,7 @@ lessons.add(lesson); } - + if (lessons != null && (lessons.size() > 0)) { // collect users from all lessons @@ -841,55 +845,57 @@ rowList.add(userDataRow); } } - + ExcelCell[][] summaryData = rowList.toArray(new ExcelCell[][] {}); dataToExport.put(getMessage("gradebook.exportcourse.course.summary"), summaryData); return dataToExport; } - + @Override - public LinkedHashMap exportSelectedLessonsGradebook(Integer userId, Integer organisationId, String[] lessonIds) { + public LinkedHashMap exportSelectedLessonsGradebook(Integer userId, Integer organisationId, + String[] lessonIds) { LinkedHashMap dataToExport = new LinkedHashMap(); - + Organisation organisation = (Organisation) userService.findById(Organisation.class, organisationId); - + // The entire data list List rowList = new LinkedList(); User user = (User) userService.findById(User.class, userId); Set selectedLessons = new TreeSet(new LessonComparator()); // Don't include lesson in list if the user doesnt have permission - Integer organisationToCheckPermission = (organisation.getOrganisationType().getOrganisationTypeId().equals(OrganisationType.COURSE_TYPE)) - ? organisation.getOrganisationId() : organisation.getParentOrganisation().getOrganisationId(); + Integer organisationToCheckPermission = (organisation.getOrganisationType().getOrganisationTypeId() + .equals(OrganisationType.COURSE_TYPE)) ? organisation.getOrganisationId() : organisation + .getParentOrganisation().getOrganisationId(); boolean isGroupManager = userService.isUserInRole(userId, organisationToCheckPermission, Role.GROUP_MANAGER); - + // collect users from all lessons Set allLearners = new LinkedHashSet(); Map> lessonActivitiesMap = new HashMap>(); List allActivities = new ArrayList(); - + for (String lessonIdStr : lessonIds) { Long lessonId = Long.parseLong(lessonIdStr); Lesson lesson = lessonService.getLesson(lessonId); - + if (!(lesson.getLessonClass().isStaffMember(user) || isGroupManager)) { continue; } - + selectedLessons.add(lesson); - + allLearners.addAll(lesson.getAllLearners()); - + Set lessonActivities = getLessonActivities(lesson); lessonActivitiesMap.put(lesson.getLessonId(), lessonActivities); allActivities.addAll(lessonActivities); } - + if (!selectedLessons.isEmpty()) { - + Map activityToTotalMarkMap = getActivityToTotalMarkMap(allActivities); - + Map> activityTouserToGradebookUserActivityMap = new HashMap>(); for (ToolActivity activity : allActivities) { Map userToGradebookUserActivityMap = getUserToGradebookUserActivityMap(activity); @@ -911,7 +917,7 @@ lessonsNames[i++] = new ExcelCell("", ExcelCell.BORDER_STYLE_LEFT_THIN); lessonsNames[i++] = new ExcelCell(getMessage("label.overall.totals"), true); lessonsNames[i++] = new ExcelCell("", ExcelCell.BORDER_STYLE_RIGHT_THICK); - + rowList.add(lessonsNames); // Headers row---------------------- @@ -928,8 +934,9 @@ headerRow[i++] = new ExcelCell(activity.getTitle(), true); headerRow[i++] = new ExcelCell(getMessage("label.max.possible"), false); } - - headerRow[i++] = new ExcelCell(getMessage("label.total.actuals"), true, ExcelCell.BORDER_STYLE_LEFT_THIN); + + headerRow[i++] = new ExcelCell(getMessage("label.total.actuals"), true, + ExcelCell.BORDER_STYLE_LEFT_THIN); headerRow[i++] = new ExcelCell(getMessage("label.max.mark"), false); headerRow[i++] = new ExcelCell("%", ExcelCell.BORDER_STYLE_RIGHT_THICK); } @@ -941,37 +948,36 @@ // Actual data rows---------------------- for (User learner : allLearners) { - + Double overallTotal = 0d; Double overallMaxMark = 0d; ExcelCell[] userRow = new ExcelCell[numberCellsPerRow]; i = 0; - - + for (Lesson lesson : selectedLessons) { Double lessonTotal = 0d; Double lessonMaxMark = 0d; Set activities = lessonActivitiesMap.get(lesson.getLessonId()); - + String lastName = (learner.getLastName() == null) ? learner.getLogin().toUpperCase() : learner .getLastName().toUpperCase(); userRow[i++] = new ExcelCell(lastName, false); String firstName = (learner.getFirstName() == null) ? "" : learner.getFirstName().toUpperCase(); userRow[i++] = new ExcelCell(firstName, false); - - //check if learner is participating in this lesson + + // check if learner is participating in this lesson if (!lesson.getAllLearners().contains(learner)) { i += 1 + activities.size() * 2; userRow[i++] = new ExcelCell("", ExcelCell.BORDER_STYLE_LEFT_THIN); userRow[i++] = new ExcelCell("", false); userRow[i++] = new ExcelCell("", ExcelCell.BORDER_STYLE_RIGHT_THICK); continue; } - - //getUserGroupName + + // getUserGroupName String groupName = ""; - for (Group group : (Set)lesson.getLessonClass().getGroups()) { + for (Group group : (Set) lesson.getLessonClass().getGroups()) { if (group.hasLearner(learner)) { groupName = group.getGroupName(); break; @@ -980,43 +986,45 @@ userRow[i++] = new ExcelCell(groupName, false); for (ToolActivity activity : activities) { - Map userToGradebookUserActivityMap = activityTouserToGradebookUserActivityMap.get(activity.getActivityId()); - GradebookUserActivity gradebookUserActivity = userToGradebookUserActivityMap.get(learner.getUserId()); + Map userToGradebookUserActivityMap = activityTouserToGradebookUserActivityMap + .get(activity.getActivityId()); + GradebookUserActivity gradebookUserActivity = userToGradebookUserActivityMap.get(learner + .getUserId()); Double mark = 0d; if (gradebookUserActivity != null) { mark = gradebookUserActivity.getMark(); userRow[i++] = new ExcelCell(mark, false); } else { userRow[i++] = new ExcelCell("", false); } - + Long activityTotalMarks = (activityToTotalMarkMap.get(activity.getActivityId()) != null) ? activityToTotalMarkMap .get(activity.getActivityId()) : 0l; userRow[i++] = new ExcelCell(activityTotalMarks, false); - + lessonTotal += mark; overallTotal += mark; lessonMaxMark += activityTotalMarks; overallMaxMark += activityTotalMarks; } - + userRow[i++] = new ExcelCell(lessonTotal, ExcelCell.BORDER_STYLE_LEFT_THIN); userRow[i++] = new ExcelCell(lessonMaxMark, false); - Double percentage = (lessonMaxMark != 0) ? lessonTotal/lessonMaxMark : 0d; + Double percentage = (lessonMaxMark != 0) ? lessonTotal / lessonMaxMark : 0d; userRow[i++] = new ExcelCell(percentage, ExcelCell.BORDER_STYLE_RIGHT_THICK); } - + i += 2; userRow[i++] = new ExcelCell(overallTotal, ExcelCell.BORDER_STYLE_LEFT_THIN); userRow[i++] = new ExcelCell(overallMaxMark, false); - Double percentage = (overallMaxMark != 0) ? overallTotal/overallMaxMark : 0d; + Double percentage = (overallMaxMark != 0) ? overallTotal / overallMaxMark : 0d; userRow[i++] = new ExcelCell(percentage, true, ExcelCell.BORDER_STYLE_RIGHT_THICK); rowList.add(userRow); } } - + ExcelCell[][] summaryData = rowList.toArray(new ExcelCell[][] {}); dataToExport.put(getMessage("gradebook.exportcourse.course.summary"), summaryData); return dataToExport; @@ -1042,15 +1050,15 @@ public Activity getActivityById(Long activityID) { return activityDAO.getActivityByActivityId(activityID); } - + /** - * Returns lesson activities. It works almost the same as lesson.getLearningDesign().getActivities() except it solves - * problem with first activity unable to cast to ToolActivity. + * Returns lesson activities. It works almost the same as lesson.getLearningDesign().getActivities() except it + * solves problem with first activity unable to cast to ToolActivity. */ private Set getLessonActivities(Lesson lesson) { Set activities = new TreeSet(); Set toolActivities = new TreeSet(); - + /* * Hibernate CGLIB is failing to load the first activity in the sequence as a ToolActivity for some mysterious * reason Causes a ClassCastException when you try to cast it, even if it is a ToolActivity. @@ -1062,17 +1070,17 @@ .getActivityId()); activities.add(firstActivity); activities.addAll(lesson.getLearningDesign().getActivities()); - + for (Activity activity : activities) { if (activity instanceof ToolActivity) { ToolActivity toolActivity = (ToolActivity) activity; toolActivities.add(toolActivity); } } - + return toolActivities; } - + /** * Returns list of GBUserGridRowDTOs, all of which will be displayed on 1 line on course export. * @@ -1084,12 +1092,13 @@ List gradebookUserDTOs = new LinkedList(); Map lessonLearnerProgressMap = getLessonToLearnerProgressMap(learner, organisationId); - Map gradebookUserLessonMap = getLessonToGradebookUserLessonMap(learner, organisationId); - + Map gradebookUserLessonMap = getLessonToGradebookUserLessonMap(learner, + organisationId); + for (Lesson lesson : lessons) { GBUserGridRowDTO gradebookUserDTO = new GBUserGridRowDTO(learner); - - //check if learner is participating in this lesson + + // check if learner is participating in this lesson if (lesson.getAllLearners().contains(learner)) { // Setting the status and time taken for the user's lesson LearnerProgress learnerProgress = lessonLearnerProgressMap.get(lesson.getLessonId()); @@ -1116,7 +1125,7 @@ } else { gradebookUserDTO.setStatus("n/a"); } - + gradebookUserDTOs.add(gradebookUserDTO); } @@ -1143,17 +1152,19 @@ /** * Returns progress status as text message. + * * @param userRow * @return */ private String getProgressMessage(GBUserGridRowDTO userRow) { String originalStatus = userRow.getStatus(); - + String status; if (originalStatus.contains("tick.png")) { status = getMessage("gradebook.exportcourse.ok"); } else if (originalStatus.contains("cog.png")) { - status = getMessage("gradebook.exportcourse.current.activity", new String[] { userRow.getCurrentActivity()}); + status = getMessage("gradebook.exportcourse.current.activity", + new String[] { userRow.getCurrentActivity() }); } else { status = originalStatus; } @@ -1186,10 +1197,10 @@ if (groupName != null && groupId != null) { // Setting averages for group - activityDTO.setAverageMark(gradebookDAO - .getAverageMarkForGroupedActivity(activity.getActivityId(), groupId)); - activityDTO.setAverageTimeTaken(gradebookDAO.getAverageDurationForGroupedActivity( - activity.getActivityId(), groupId)); + activityDTO + .setAverageMark(gradebookDAO.getAverageMarkForGroupedActivity(activity.getActivityId(), groupId)); + activityDTO.setAverageTimeTaken(gradebookDAO.getAverageDurationForGroupedActivity(activity.getActivityId(), + groupId)); } else { // Setting averages for lesson @@ -1227,7 +1238,7 @@ } } } - + if (startDate != null) { if (StringUtils.isBlank(timeZone)) { logger.warn("No user time zone provided, leaving server default"); @@ -1273,7 +1284,8 @@ status = ""; } else if (learnerProgress.getAttemptedActivities() != null && learnerProgress.getAttemptedActivities().size() > 0) { - status = ""; + status = ""; } } return status; @@ -1292,7 +1304,8 @@ if (learnerProgress != null) { byte statusByte = learnerProgress.getProgressState(activity); if (statusByte == LearnerProgress.ACTIVITY_ATTEMPTED) { - return ""; + return ""; } else if (statusByte == LearnerProgress.ACTIVITY_COMPLETED) { return ""; } @@ -1301,8 +1314,7 @@ } /** - * Gets the outputs for a tool activity and returns the html for the ouputs - * cell in the grid + * Gets the outputs for a tool activity and returns the html for the ouputs cell in the grid * * @param toolAct * @param toolSession @@ -1315,8 +1327,8 @@ if (toolAct != null && toolSession != null && learner != null) { - SortedMap map = toolService.getOutputDefinitionsFromTool(toolAct - .getToolContentId(), ToolOutputDefinition.DATA_OUTPUT_DEFINITION_TYPE_CONDITION); + SortedMap map = toolService.getOutputDefinitionsFromTool( + toolAct.getToolContentId(), ToolOutputDefinition.DATA_OUTPUT_DEFINITION_TYPE_CONDITION); Set toolOutputs = new HashSet(); @@ -1325,8 +1337,8 @@ for (String outputName : map.keySet()) { try { - ToolOutput toolOutput = toolService.getOutputFromTool(outputName, toolSession, learner - .getUserId()); + ToolOutput toolOutput = toolService.getOutputFromTool(outputName, toolSession, + learner.getUserId()); if (toolOutput != null && toolOutput.getValue().getType() != OutputType.OUTPUT_COMPLEX) { toolOutputs.add(toolOutput); @@ -1338,8 +1350,9 @@ } } catch (RuntimeException e) { - logger.debug("Runtime exception when attempted to get outputs for activity: " - + toolAct.getActivityId() + ", continuing for other activities", e); + logger.debug( + "Runtime exception when attempted to get outputs for activity: " + + toolAct.getActivityId() + ", continuing for other activities", e); } } // toolOutputsStr += ""; @@ -1361,8 +1374,8 @@ * @return */ private Long getTotalMarksAvailable(ToolActivity activity) { - SortedMap map = toolService.getOutputDefinitionsFromTool(activity - .getToolContentId(), ToolOutputDefinition.DATA_OUTPUT_DEFINITION_TYPE_CONDITION); + SortedMap map = toolService.getOutputDefinitionsFromTool( + activity.getToolContentId(), ToolOutputDefinition.DATA_OUTPUT_DEFINITION_TYPE_CONDITION); Set actEvals = activity.getActivityEvaluations(); @@ -1395,15 +1408,16 @@ } return null; } - + /** - * Returns map containing (userId -> LearnerProgressMap) pairs. It serves merely for optimizing amount of db queries. + * Returns map containing (userId -> LearnerProgressMap) pairs. It serves merely for optimizing amount of db + * queries. */ private Map getUserToLearnerProgressMap(Lesson lesson) { - + if (lesson != null) { List learnerProgressList = lessonService.getUserProgressForLesson(lesson.getLessonId()); - + if (learnerProgressList != null && learnerProgressList.size() > 0) { Map map = new HashMap(); for (LearnerProgress learnerProgress : learnerProgressList) { @@ -1412,19 +1426,21 @@ return map; } } - - return new HashMap(); + + return new HashMap(); } - + /** - * Returns map containing (userId -> GradebookUserActivity) pairs. It serves merely for optimizing amount of db queries. + * Returns map containing (userId -> GradebookUserActivity) pairs. It serves merely for optimizing amount of db + * queries. */ private Map getUserToGradebookUserActivityMap(Activity activity) { - + if (activity != null) { - - List gradebookUserActivities = gradebookDAO.getAllGradebookUserActivitiesForActivity(activity.getActivityId()); - + + List gradebookUserActivities = gradebookDAO + .getAllGradebookUserActivitiesForActivity(activity.getActivityId()); + if (gradebookUserActivities != null && gradebookUserActivities.size() > 0) { Map map = new HashMap(); for (GradebookUserActivity gradebookUserActivity : gradebookUserActivities) { @@ -1433,33 +1449,34 @@ return map; } } - - return new HashMap(); + + return new HashMap(); } - + /** - * Returns map containing (activityId -> TotalMarksAvailable) pairs. It serves merely for optimizing amount of db queries. + * Returns map containing (activityId -> TotalMarksAvailable) pairs. It serves merely for optimizing amount of db + * queries. */ private Map getActivityToTotalMarkMap(Collection activities) { - + Map map = new HashMap(); for (ToolActivity activity : activities) { map.put(activity.getActivityId(), getTotalMarksAvailable(activity)); } - - return map; + + return map; } /** * Returns map containing (lessonId -> LearnerProgress) pairs. It serves merely for optimizing amount of db queries. */ private Map getLessonToLearnerProgressMap(User user, Integer organisationId) { - + if (user != null) { String query = "select lp from LearnerProgress lp where lp.user.userId=? and (lp.lesson.organisation.organisationId=? or lp.lesson.organisation.parentOrganisation.organisationId=?)"; List learnerProgressList = baseDAO.find(query, new Object[] { user.getUserId(), organisationId, organisationId }); - + if (learnerProgressList != null && learnerProgressList.size() > 0) { Map map = new HashMap(); for (LearnerProgress learnerProgress : learnerProgressList) { @@ -1468,19 +1485,20 @@ return map; } } - - return new HashMap(); + + return new HashMap(); } - + /** - * Returns map containing (userId -> GradebookUserLesson) pairs. It serves merely for optimizing amount of db queries. + * Returns map containing (userId -> GradebookUserLesson) pairs. It serves merely for optimizing amount of db + * queries. */ private Map getUserToGradebookUserLessonMap(Lesson lesson) { - + if (lesson != null) { String query = "select ul from GradebookUserLesson ul where ul.lesson.lessonId=?"; List gradebookUserLessons = baseDAO.find(query, new Object[] { lesson.getLessonId() }); - + if (gradebookUserLessons != null && gradebookUserLessons.size() > 0) { Map map = new HashMap(); for (GradebookUserLesson gradebookUserLesson : gradebookUserLessons) { @@ -1489,19 +1507,21 @@ return map; } } - - return new HashMap(); + + return new HashMap(); } - + /** - * Returns map containing (lessonId -> GradebookUserLesson) pairs. It serves merely for optimizing amount of db queries. + * Returns map containing (lessonId -> GradebookUserLesson) pairs. It serves merely for optimizing amount of db + * queries. */ private Map getLessonToGradebookUserLessonMap(User user, Integer organisationId) { - + if (user != null) { String query = "select ul from GradebookUserLesson ul where ul.learner.userId=? and (ul.lesson.organisation.organisationId=? or ul.lesson.organisation.parentOrganisation.organisationId=?)"; - List gradebookUserLessons = baseDAO.find(query, new Object[] { user.getUserId(), organisationId, organisationId }); - + List gradebookUserLessons = baseDAO.find(query, new Object[] { user.getUserId(), + organisationId, organisationId }); + if (gradebookUserLessons != null && gradebookUserLessons.size() > 0) { Map map = new HashMap(); for (GradebookUserLesson gradebookUserLesson : gradebookUserLessons) { @@ -1510,10 +1530,10 @@ return map; } } - - return new HashMap(); + + return new HashMap(); } - + public String getMessage(String key) { return messageService.getMessage(key); }