Index: lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java =================================================================== diff -u -rfd2cfad55c7c517931f69334ce644d509ec28140 -r0f2a9541ca3ef58a59337f32a5c375ae457c399c --- lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision fd2cfad55c7c517931f69334ce644d509ec28140) +++ lams_gradebook/src/java/org/lamsfoundation/lams/gradebook/service/GradebookService.java (.../GradebookService.java) (revision 0f2a9541ca3ef58a59337f32a5c375ae457c399c) @@ -146,7 +146,7 @@ Lesson lesson = lessonService.getLesson(lessonId); User learner = (User) userService.findById(User.class, userId); - List gradebookActivityDTOs = new ArrayList(); + List gradebookActivityDTOs = new ArrayList<>(); List activities = getLessonActivitiesForLearner(lesson, userId); for (ToolActivity activity : activities) { @@ -241,7 +241,7 @@ Activity activity = getActivityById(activityId); Lesson lesson = (Lesson) activity.getLearningDesign().getLessons().iterator().next(); - List gradebookActivityDTOs = new ArrayList(); + List gradebookActivityDTOs = new ArrayList<>(); List lessonArchives = gradebookDAO.getArchivedLessonMarks(lesson.getLessonId(), userId); int attemptOrder = lessonArchives.size(); @@ -280,7 +280,7 @@ Lesson lesson = lessonService.getLesson(lessonId); User learner = (User) userService.findById(User.class, userId); - List gradebookActivityDTOs = new ArrayList(); + List gradebookActivityDTOs = new ArrayList<>(); List activities = getLessonActivitiesForLearner(lesson, userId); for (ToolActivity activity : activities) { @@ -318,7 +318,7 @@ GradebookService.logger.debug("Getting gradebook data for lesson: " + lessonId); Lesson lesson = lessonService.getLesson(lessonId); - List gradebookActivityDTOs = new ArrayList(); + List gradebookActivityDTOs = new ArrayList<>(); List activities = getLessonToolActivitiesForLesson(lesson); @@ -351,7 +351,7 @@ Long lessonId = lesson.getLessonId(); Long activityId = activity.getActivityId(); - List gradebookUserDTOs = new ArrayList(); + List gradebookUserDTOs = new ArrayList<>(); List learners = null; if (groupId != null) { @@ -417,10 +417,10 @@ gUserDTO.setMark(gradebookUserActivity.getMark()); } - + boolean hasArchivedMarks = gradebookDAO.hasArchivedMarks(lesson.getLessonId(), learner.getUserId()); gUserDTO.setHasArchivedMarks(hasArchivedMarks); - + gradebookUserDTOs.add(gUserDTO); } } @@ -438,7 +438,7 @@ public ArrayList getGBUserRowsForLesson(Lesson lesson, int page, int size, String sortBy, String sortOrder, String searchString, TimeZone userTimeZone) { - ArrayList gradebookUserDTOs = new ArrayList(); + ArrayList gradebookUserDTOs = new ArrayList<>(); if (lesson != null) { List learners; @@ -524,7 +524,7 @@ public ArrayList getGBUserRowsForOrganisation(Organisation organisation, int page, int size, String sortOrder, String searchString) { - ArrayList gradebookUserDTOs = new ArrayList(); + ArrayList gradebookUserDTOs = new ArrayList<>(); if (organisation != null) { List learners = gradebookDAO.getUsersFromOrganisation(organisation.getOrganisationId(), page, size, @@ -765,7 +765,7 @@ @Override public List getWeights(LearningDesign design) { - List evaluations = new ArrayList(); + List evaluations = new ArrayList<>(); Set activities = design.getActivities(); for (Activity activity : activities) { if (activity.isToolActivity()) { @@ -931,7 +931,7 @@ @Override public List getGBLessonRows(Organisation organisation, User user, User viewer, GBGridView view, int page, int size, String sortBy, String sortOrder, String searchString, TimeZone userTimeZone) { - List lessonRows = new ArrayList(); + List lessonRows = new ArrayList<>(); Integer userId = user.getUserId(); Integer orgId = organisation.getOrganisationId(); @@ -1041,7 +1041,7 @@ private Map> getDataForLessonGradebookExport(Lesson lesson) { - Map> activityToUserDTOMap = new LinkedHashMap>(); + Map> activityToUserDTOMap = new LinkedHashMap<>(); Set learners = new TreeSet(new LastNameAlphabeticComparator()); if (lesson.getAllLearners() != null) { @@ -1098,7 +1098,7 @@ Map userToGradebookUserActivityMap = getUserToGradebookUserActivityMap( toolActivity, null); - List userDTOs = new ArrayList(); + List userDTOs = new ArrayList<>(); for (User learner : learners) { GBUserGridRowDTO userDTO = new GBUserGridRowDTO(learner); @@ -1126,12 +1126,12 @@ boolean isWeighted = toolService.isWeightedMarks(lesson.getLearningDesign()); - LinkedHashMap dataToExport = new LinkedHashMap(); + LinkedHashMap dataToExport = new LinkedHashMap<>(); // -------------------- process summary excel page -------------------------------- // The entire data list - List rowList = new LinkedList(); + List rowList = new LinkedList<>(); // Adding the lesson average data to the summary Double lessonAverageMarkValue = getAverageMarkForLesson(lesson.getLessonId()); @@ -1215,7 +1215,7 @@ Map> activityToUserDTOMap = getDataForLessonGradebookExport(lesson); //filter out all activities that doesn't have numeric outputs - Map> filteredActivityToUserDTOMap = new LinkedHashMap>(); + Map> filteredActivityToUserDTOMap = new LinkedHashMap<>(); for (ToolActivity activity : activityToUserDTOMap.keySet()) { String toolSignature = activity.getTool().getToolSignature(); //check whether toolActivity has a NumericToolOutput @@ -1276,7 +1276,7 @@ dataToExport.put(getMessage("gradebook.export.lesson.summary"), summaryData); // -------------------- process activity excel page -------------------------------- - List rowList1 = new LinkedList(); + List rowList1 = new LinkedList<>(); for (Activity activity : activityToUserDTOMap.keySet()) { @@ -1329,7 +1329,7 @@ learners.addAll(lesson.getAllLearners()); } - rowList = new LinkedList(); + rowList = new LinkedList<>(); for (User learner : learners) { userTitleRow = new ExcelCell[4]; @@ -1344,7 +1344,7 @@ titleRow[4] = new ExcelCell(getMessage("gradebook.columntitle.mark"), true); rowList.add(titleRow); - Map activityIdToName = new HashMap(); + Map activityIdToName = new HashMap<>(); for (ToolActivity activity : activityToUserDTOMap.keySet()) { @@ -1411,40 +1411,36 @@ attemptRow[3] = new ExcelCell(lessonArchive.getMark(), false); rowList.add(attemptRow); + Date archiveDate = lessonArchive.getArchiveDate(); + LearnerProgressArchive learnerProgress = learnerProgressDAO + .getLearnerProgressArchive(lesson.getLessonId(), learner.getUserId(), archiveDate); + // go throuch each activity and see if there is an archived mark for it for (ToolActivity activity : activityToUserDTOMap.keySet()) { - ExcelCell[] activityDataRow = null; + GradebookUserActivityArchive activityArchive = null; List activityArchives = gradebookDAO .getArchivedActivityMarks(activity.getActivityId(), learner.getUserId()); - Date archiveDate = lessonArchive.getArchiveDate(); - for (GradebookUserActivityArchive activityArchive : activityArchives) { + for (GradebookUserActivityArchive possibleActivityArchive : activityArchives) { // if it matches, we found an archived mark for this activity and this attempt - if (archiveDate.equals(activityArchive.getArchiveDate())) { - LearnerProgressArchive learnerProgress = learnerProgressDAO.getLearnerProgressArchive( - lesson.getLessonId(), learner.getUserId(), lessonArchive.getArchiveDate()); - activityDataRow = new ExcelCell[5]; - activityDataRow[0] = new ExcelCell(activityIdToName.get(activity.getActivityId()), - false); - Date startDate = getActivityStartDate(learnerProgress, activity, null); - activityDataRow[1] = new ExcelCell( - startDate == null ? "" - : FileUtil.EXPORT_TO_SPREADSHEET_TITLE_DATE_FORMAT.format(startDate), - false); - Date finishDate = getActivityFinishDate(learnerProgress, activity, null); - activityDataRow[2] = new ExcelCell( - finishDate == null ? "" - : FileUtil.EXPORT_TO_SPREADSHEET_TITLE_DATE_FORMAT.format(finishDate), - false); - activityDataRow[3] = new ExcelCell( - getActivityDuration(learnerProgress, activity) / 1000, false); - activityDataRow[4] = new ExcelCell(activityArchive.getMark(), false); + if (archiveDate.equals(possibleActivityArchive.getArchiveDate())) { + activityArchive = possibleActivityArchive; break; } } - if (activityDataRow == null) { - activityDataRow = new ExcelCell[1]; - activityDataRow[0] = new ExcelCell(activityIdToName.get(activity.getActivityId()), false); - } + + ExcelCell[] activityDataRow = new ExcelCell[5]; + activityDataRow[0] = new ExcelCell(activityIdToName.get(activity.getActivityId()), false); + Date startDate = getActivityStartDate(learnerProgress, activity, null); + activityDataRow[1] = new ExcelCell(startDate == null ? "" + : FileUtil.EXPORT_TO_SPREADSHEET_TITLE_DATE_FORMAT.format(startDate), false); + Date finishDate = getActivityFinishDate(learnerProgress, activity, null); + activityDataRow[2] = new ExcelCell(finishDate == null ? "" + : FileUtil.EXPORT_TO_SPREADSHEET_TITLE_DATE_FORMAT.format(finishDate), false); + activityDataRow[3] = new ExcelCell(getActivityDuration(learnerProgress, activity) / 1000, + false); + activityDataRow[4] = new ExcelCell(activityArchive == null ? "" : activityArchive.getMark(), + false); + rowList.add(activityDataRow); } attemptOrder--; @@ -1463,15 +1459,15 @@ @Override @SuppressWarnings("unchecked") public LinkedHashMap exportCourseGradebook(Integer userId, Integer organisationId) { - LinkedHashMap dataToExport = new LinkedHashMap(); + LinkedHashMap dataToExport = new LinkedHashMap<>(); // The entire data list - List rowList = new LinkedList(); + List rowList = new LinkedList<>(); - Set lessons = new TreeSet(new LessonComparator()); + Set lessons = new TreeSet<>(new LessonComparator()); lessons.addAll(lessonService.getLessonsByGroupAndUser(userId, organisationId)); - Map isWeightedLessonMap = new HashMap(); + Map isWeightedLessonMap = new HashMap<>(); if ((lessons != null) && (lessons.size() > 0)) { @@ -1511,8 +1507,8 @@ rowList.add(headerRow); // collect users from all lessons & check if lesson uses weightings - LinkedHashSet allLearners = new LinkedHashSet(); - List lessonIds = new LinkedList(); + LinkedHashSet allLearners = new LinkedHashSet<>(); + List lessonIds = new LinkedList<>(); for (Lesson lesson : lessons) { Set dbLessonUsers = lesson.getAllLearners(); allLearners.addAll(dbLessonUsers); @@ -1522,8 +1518,8 @@ } // Fetching the user data - List learnerProgresses = new LinkedList(); - List gradebookUserLessons = new LinkedList(); + List learnerProgresses = new LinkedList<>(); + List gradebookUserLessons = new LinkedList<>(); if (!allLearners.isEmpty()) { learnerProgresses = learnerProgressDAO.getLearnerProgressForLessons(lessonIds); gradebookUserLessons = gradebookDAO.getGradebookUserLessons(lessonIds); @@ -1626,16 +1622,16 @@ @Override public LinkedHashMap exportSelectedLessonsGradebook(Integer userId, Integer organisationId, String[] lessonIds, boolean simplified) { - LinkedHashMap dataToExport = new LinkedHashMap(); + LinkedHashMap dataToExport = new LinkedHashMap<>(); Organisation organisation = (Organisation) userService.findById(Organisation.class, organisationId); // The entire data list - List rowList = new LinkedList(); + List rowList = new LinkedList<>(); User user = (User) userService.findById(User.class, userId); - Set selectedLessons = new TreeSet(new LessonComparator()); - Map isWeightedLessonMap = new HashMap(); + Set selectedLessons = new TreeSet<>(new LessonComparator()); + Map isWeightedLessonMap = new HashMap<>(); // Don't include lesson in list if the user doesn't have permission Integer organisationToCheckPermission = (organisation.getOrganisationType().getOrganisationTypeId() @@ -1644,9 +1640,9 @@ 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(); + Set allLearners = new LinkedHashSet<>(); + Map> lessonActivitiesMap = new HashMap<>(); + List allActivities = new ArrayList<>(); for (String lessonIdStr : lessonIds) { Long lessonId = Long.parseLong(lessonIdStr); @@ -1670,18 +1666,18 @@ if (!selectedLessons.isEmpty()) { // Fetching the user data - List lessonIdLongs = new LinkedList(); + List lessonIdLongs = new LinkedList<>(); for (String lessonId : lessonIds) { lessonIdLongs.add(Long.valueOf(lessonId)); } - List learnerProgresses = new LinkedList(); + List learnerProgresses = new LinkedList<>(); if (!allLearners.isEmpty()) { learnerProgresses = learnerProgressDAO.getLearnerProgressForLessons(lessonIdLongs); } Map activityToTotalMarkMap = getActivityToTotalMarkMap(allActivities); - Map> activityTouserToGradebookUserActivityMap = new HashMap>(); + Map> activityTouserToGradebookUserActivityMap = new HashMap<>(); for (ToolActivity activity : allActivities) { Map userToGradebookUserActivityMap = getUserToGradebookUserActivityMap( activity, null); @@ -2058,7 +2054,7 @@ * Returns a completely flat list of lesson activities for the whole lesson. */ private List getLessonToolActivitiesForLesson(Lesson lesson) { - List toolActivities = new ArrayList(); + List toolActivities = new ArrayList<>(); List activityUrls = getLearnerService().getStructuredActivityURLs(lesson.getLessonId()); for (ActivityURL activityUrl : activityUrls) { processLessonToolActivity(activityUrl, toolActivities); @@ -2083,7 +2079,7 @@ * The sequence activities allow the export to tweak the learner out. */ private List getLessonActivitiesForLesson(Lesson lesson) { - List activities = new ArrayList(); + List activities = new ArrayList<>(); List activityUrls = getLearnerService().getStructuredActivityURLs(lesson.getLessonId()); for (ActivityURL activityUrl : activityUrls) { processLessonActivity(activityUrl, activities); @@ -2107,7 +2103,7 @@ */ @SuppressWarnings("unchecked") private List getLessonActivitiesForLearner(Lesson lesson, Integer learnerId) { - List toolActivities = new ArrayList(); + List toolActivities = new ArrayList<>(); Object[] objs = getLearnerService().getStructuredActivityURLs(learnerId, lesson.getLessonId()); // will be null if learner has not started the lesson. if (objs != null) { @@ -2301,9 +2297,9 @@ // this construct looks bad but see LDEV-4609 commit for explanation if (learnerProgress instanceof LearnerProgressArchive) { - startDate = ((LearnerProgressArchive) learnerProgress).getStartDate(); + startDate = ((LearnerProgressArchive) learnerProgress).getAttemptedActivities().get(activity); } else { - startDate = ((LearnerProgress) learnerProgress).getStartDate(); + startDate = ((LearnerProgress) learnerProgress).getAttemptedActivities().get(activity); } if (startDate == null) { if (learnerProgress instanceof LearnerProgressArchive) { @@ -2466,7 +2462,7 @@ */ private Map getUserToLearnerProgressMap(Lesson lesson, List learners) { - Map map = new HashMap(); + Map map = new HashMap<>(); if (lesson == null || learners != null && learners.isEmpty()) { return map; } @@ -2477,7 +2473,7 @@ learnerProgresses = lessonService.getUserProgressForLesson(lesson.getLessonId()); } else { - List userIds = new LinkedList(); + List userIds = new LinkedList<>(); for (User learner : learners) { userIds.add(learner.getUserId()); } @@ -2501,7 +2497,7 @@ private Map getUserToGradebookUserActivityMap(Activity activity, List learners) { - Map map = new HashMap(); + Map map = new HashMap<>(); if (activity == null || learners != null && learners.isEmpty()) { return map; } @@ -2512,7 +2508,7 @@ gradebookUserActivities = gradebookDAO.getAllGradebookUserActivitiesForActivity(activity.getActivityId()); } else { - List userIds = new LinkedList(); + List userIds = new LinkedList<>(); for (User learner : learners) { userIds.add(learner.getUserId()); } @@ -2536,7 +2532,7 @@ */ private Map getActivityToTotalMarkMap(Collection activities) { - Map map = new HashMap(); + Map map = new HashMap<>(); for (ToolActivity activity : activities) { map.put(activity.getActivityId(), toolService.getActivityMaxPossibleMark(activity)); } @@ -2553,7 +2549,7 @@ */ private Map getUserToGradebookUserLessonMap(Lesson lesson, List learners) { - Map map = new HashMap(); + Map map = new HashMap<>(); if (lesson == null || learners != null && learners.isEmpty()) { return map; } @@ -2564,7 +2560,7 @@ gradebookUserLessons = gradebookDAO.getGradebookUserLessons(lesson); } else { - List userIds = new LinkedList(); + List userIds = new LinkedList<>(); for (User learner : learners) { userIds.add(learner.getUserId()); } Index: lams_tool_scratchie/web/pages/tblmonitoring/burningQuestions.jsp =================================================================== diff -u -re7ba02fbd771cb86ff621168fed50bd21d00d0d1 -r0f2a9541ca3ef58a59337f32a5c375ae457c399c --- lams_tool_scratchie/web/pages/tblmonitoring/burningQuestions.jsp (.../burningQuestions.jsp) (revision e7ba02fbd771cb86ff621168fed50bd21d00d0d1) +++ lams_tool_scratchie/web/pages/tblmonitoring/burningQuestions.jsp (.../burningQuestions.jsp) (revision 0f2a9541ca3ef58a59337f32a5c375ae457c399c) @@ -34,8 +34,9 @@ - - [${burningQsCount}] + + ${burningQsCount} + @@ -54,7 +55,7 @@ ${burningQuestionDto.escapedBurningQuestion} - ${burningQuestionDto.likeCount} + ${burningQuestionDto.likeCount}